Computer
programming (often shortened to programming or coding) is
the process of writing, testing, and maintaining the source code of
computer programs. The source code is written in a programming
language. This code may be a modification of existing source or
something completely new. The process of writing source code requires
expertise in many different subjects, including knowledge of the
application domain and algorithms to implement the desired behavior.
Within software engineering, programming (the implementation) is
regarded as one phase in a software development process.

In some specialist applications or extreme situations a program may be
written or modified (known as patching) by directly storing the numeric
values of the machine code instructions to be executed into memory.