Microsoft Store
 

Computer programming


 

Computer programming (often simply programming) is the craft of implementing one or more interrelated abstract algorithms using a particular programming language to produce a concrete computer program. Programming has elements of art, science, mathematics, and engineering.

Programming languages

Main article: programming language

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

A programmer writes source code in a particular programming language.

Related Topics:
Programmer - Source code

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Different programming languages support different styles of programming (called programming paradigms). Part of the art of programming is selecting one of the programming languages best suited for the task at hand. Different programming languages require different levels of detail to be handled by the programmer when implementing algorithms, often resulting in a compromise between ease of use and performance (a trade-off between "programmer time" and "computer time").

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

The only programming language a computer can directly execute is machine language (sometimes called "machine code").

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Originally all programmers worked out every detail of the machine code, but this is hardly ever done anymore.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Instead, programmers write source code, and a computer (running a compiler, an interpreter or an assembler) translates it through one or more translation steps to fill in all the details, before the final machine code is executed on the target computer.

Related Topics:
Compiler - Interpreter - Assembler

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Even when complete low-level control of the target computer is required, programmers write assembly language, whose instructions are mnemonic one-to-one transcriptions of the corresponding machine language instructions.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

In some languages, an interpretable p-code binary (or byte-code) is generated, rather than machine language. Bytecode is used in the popular Java programming language by Sun Microsystems as well as the Microsoft's recent .NET family of languages.

Related Topics:
P-code - Byte-code

~ ~ ~ ~ ~ ~ ~ ~ ~ ~