Computer programming (often shortened to
programming) is
the comprehensive process that leads from an original formulation of a
computing problem to executable programs. It involves activities such as
analysis, understanding, and generically solving such problems
resulting in an
algorithm,
verification of requirements of the algorithm including its correctness
and its resource consumption, implementation (or coding) of the
algorithm in a target programming language,
testing,
debugging, and maintaining the
source code, implementation of the build system and management of derived artefacts such as machine code of
computer programs.
The algorithm is often only represented in human-parseable form and
reasoned about using logic. Source code is written in one or more
programming languages (such as
C++,
C#,
Java,
Python,
Smalltalk,
Javascript,etc.).
The purpose of programming is to find a sequence of instructions that
will automate performing a specific task or solve 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.