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