Computer Programming
Computer programming is the process of writing code to guide a computer, app, or software program. Programming is a set of instructions for specific actions.
- Snippet from Wikipedia: Computer programming
Computer programming is the process of performing a particular computation (or more generally, accomplishing a specific computing result), usually by designing and building an executable computer program. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms (usually in a chosen programming language, commonly referred to as coding). The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. The purpose of programming is to find a sequence of instructions that will automate the performance of a task (which can be as complex as an operating system) on a computer, often for solving a given problem. Proficient programming thus usually requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
Tasks accompanying and related to programming include testing, debugging, source code maintenance, implementation of build systems, and management of derived artifacts, such as the machine code of computer programs. These might be considered part of the programming process, but often the term software development is used for this larger process with the term programming, implementation, or coding reserved for the actual writing of code. Software engineering combines engineering techniques with software development practices. Reverse engineering is a related process used by designers, analysts, and programmers to understand an existing program and re-implement its function.
Disciplines & Methodologies
- Agile Unified Process
- Build automation
- Container Management
- Cross-platform
- Cyber Security
- DevOps toolchain
- Disciplined agile delivery
- Dynamic systems development method
- Extreme programming (XP)
- Feature toggle
- Information security
- Installation
- Integrated Development Environment (IDE)
- Machine learning (ML)
- Object-oriented programming
- Pair Programming
- Profiling
- Programming language
- Repository Management
- Robotic Process Automation (RPA)
- SDLC
- Software build
- Software deployment
- Software development process
- Software documentation
- Software Engineering Management
- Software prototyping
- Static program analysis
- System integration
- Unit testing
Tools & Technologies
- Angular
- Apache ANT
- Apache Buildr
- Apache Kafka
- Apache Subversion
- Atom
- AWS Cloud9
- Azure DevOps
- BitBucket
- Broccoli
- BuildMaster
- CMake
- CodeBeautify
- CodeLobster
- Codenvy
- Docker
- Eclipse
- Elasticsearch
- Electron
- Gerrit Code Review
- GitHub
- GitHub Copilot
- GitHub Learning Lab
- GitLab
- Gradle
- Grunt
- Gulp
- HP ALM
- IntelliJ IDEA
- LaunchDarkly
- Linx
- Logscape
- Lucene
- LuntBuild
- MariaDB
- Meister
- Microsoft Graph API
- Microsoft Graph Toolkit
- Microsoft Visual Studio
- MSSQL
- MySQL
- NAnt
- neo4j
- NetBeans
- Node.js
- Notepad++
- Octopus Deploy
- Oracle DB
- Postman
- PowerShell
- QuickBuild
- Rake
- Rational solution for CLM
- Rational Team Concert
- sbt
- SCons
- Selenium
- SonarQube
- SQLite
- Stackify
- StarTeam
- SVG.js
- Team Foundation Server
- TeamForge
- Test automation
- UrbanCode Build
- Visual Build
- Visual Studio
- VSALM
- Visual Studio Code
- Visual Studio Team Services
- Vue.js
- Webpack
- Xamarin
- Yeoman
Links
- AlgoExpert
- Bento
- BitDegree
- Code.org
- Code4Startup
- Code Avengers
- Code Conquest
- codeasy.net
- Codebyte
- Codecademy
- CodeGym
- CodeHS
- Codementor
- Codewars
- Coding Dojo
- CodingBat
- Codingem.com
- Comparison of open-source configuration management software
- DEV Community
- DevDocs
- Devhints
- Devicon
- Edabit
- freeCodeCamp
- GeeksforGeeks
- Google Developers Learn
- Guru99
- HackerNoon
- HackerRank
- hackr.io
- Khan Academy
- Learn to Code (GitHub Collection)
- Learn X in Y minutes
- List of ECMAScript engines
- List of Freely Available Programming Books
- MDN Web Docs
- MIT OpenCourseWare
- One Month
- Programiz
- Scratch
- SitePoint
- Sololearn
- Stack Overflow
- Studytonight
- The Odin Project
- Thinkful
- Tutorials Point
- Upskill
- w3Schools
- Ajax
- Algorithm
- Change control
- Chaos model
- Class
- Compiler
- Debugger
- Document Object Model (DOM)
- Don't repeat yourself (DRY)
- Enterprise service bus (ESB)
- Feature Flags
- Git
- Graphical user interface
- GRASP
- JSON
- KISS
- Library
- Microservices
- MSBuild
- .NET
- .NET MAUI
- NLP
- OData
- Package manager
- Progressive web application (PWA)
- Refactoring
- Representational State Transfer (REST)
- REST
- Scalable Vector Graphic (SVG)
- SDK
- Service-provider network
- Software design pattern
- Software framework
- Software versioning
- SOLID
- Source-to-source compiler
- SWEBOK
- TFVC
- Version control
- WAN
- XAML
- XML
- You aren't gonna need it