Jump to content

Computer programming

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 82.7.125.142 (talk) at 20:58, 21 January 2006 (Made the picture caption more specific). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

HTML and JavaScript in an IDE that uses color coding to highlight various keywords and help the developer see the function of each piece of code.

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

A programmer writes source code in a particular programming language.

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 occasionally 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. 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 Microsoft's recent .NET family of languages and Visual Basic previous to the .NET version.

Software development

Software is a mass noun for computer programs and data. The accompanying documentation and software license are also considered an essential part of the software, even though they don't involve any actual coding.

Creating software involves:

  • Requirements Analysis
  • Specification
  • Design and Architecture
  • Coding
  • Compilation
  • Testing
  • Documentation
  • Integration
  • Maintenance

Demographics

In the U.S.:

  • Nearly half of all computer programmers held a bachelor’s degree in 2002; about 1 in 5 held a graduate degree. [1]
  • Education requirements range from a 2-year degree to a graduate degree. [2]
  • TechBookReport - reviews of books on all aspects of computer programming - including programming language tutorials, best practices, methodologies etc