Content deleted Content added
m Poorly written and inadequately source paragraph on women and early computer coding deleted, pending the composition of a more grammatically correct, thoroughly sourced, and historically accurate replacement paragraph, if indeed needed. |
No edit summary |
||
Line 1:
{{software development process}}
'''Computer programming''' (often shortened to '''programming''') is a process that leads from an original formulation of a [[computing]] problem to [[executable]] [[computer program]]s. Programming involves activities such as analysis, developing understanding, generating [[algorithm]]s, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as '''coding'''<ref>{{cite web| author=Shaun Bebbington| year=2014| url=http://yearofcodes.tumblr.com/what-is-coding| title=What is coding| accessdate=2014-03-03}}</ref><ref>{{cite web| author=Shaun Bebbington| year=2014| url=http://yearofcodes.tumblr.com/what-is-programming| title=What is programming| accessdate=2014-03-03}}</ref>) of algorithms in a target [[programming language]]. [[Source code]] is written in one or more [[programming languages]]. The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the [[application ___domain]], specialized algorithms, and formal [[logic]].
Related tasks include [[Software testing|testing]], [[debugging]], and maintaining the [[source code]], implementation of the build system, and management of derived artifacts such as [[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 source code. [[Software engineering]] combines [[engineering]] techniques with software development practices.
|