Programming is the act of creating a computer program, a concrete set of instructions for a computer to carry out. The program is written in a programming language, although its possible to directly write in machine code, with a certain difficulty. Different parts of a program may be written in different languages.

Different programming languages work in different ways. So, programmers may create very different programs for different languages; although, theoretically, most languages can be used to create any possible program. For more information on those methods, please see individual language entries elsewhere.

Software is a mass noun for computer programs and data.

Table of contents
1 Programs versus algorithms
2 Programming versus software engineering
3 Prehistory
4 See also
5 External links

Programs versus algorithms

An algorithm is, in one sense, an abstracted program - to put it another way, a program is an algorithm made concrete. However, all but the smallest programs are most easily thought of as a collection of smaller algorithms combined in a unique way - as a house is built from components.

Programming versus software engineering

Creating a computer program consists of five major steps:

  1. Recognizing the need for a program to solve a problem.
  2. Planning the program and selecting the tools to solve the problem.
  3. Writing the program in the programming language of choice.
  4. Compiling: translating the human-readable source code into machine-readable executable code, which is done by compilers and other tools.
  5. Testing the program to make sure it works; if not, return to step 3 (see code and fix).

These 5 steps are collectively known as software engineering. Programming emphasizes steps 2, 3 and 4. Coding emphasizes step 3. The term coder, sometimes used as a synonym for programmer, can be demeaning, because it ignores the skills they use in tackling the other four steps.

Prehistory

The earliest known computer programmer was Ada Lovelace, daughter of Anabella and Lord Byron (the poet). Anabella gave her love of mathematics to Ada, who after meeting Charles Babbage, translated and expanded a description of his analytical engine. Even though Babbage never completed construction of any of his machines, the work that he and Ada did on them earned her the title of the world's first computer programmer, see Ada Byron's notes on the analytical engine. The Ada programming language is named for her. (To do: find name of first programmer to complete all 5 steps, including compiling and testing.)

Alan Turing is often considered the father of computer science, and by proxy, programming. He was responsible for helping design and program a computer to break the German ENIGMA code during World War Two.

See also

External links