programming language

Home > ... > Science and Technology > Computers and Electrical Engineering > Computers and Computing > ...

programming language

The Columbia Encyclopedia, Sixth Edition | 2008 | The Columbia Encyclopedia, Sixth Edition. Copyright 2008 Columbia University Press. (Hide copyright information) Copyright

programming language syntax, grammar, and symbols or words used to give instructions to a computer .

Development of Low-Level Languages

All computers operate by following machine language programs, a long sequence of instructions called machine code that is addressed to the hardware of the computer and is written in binary notation (see numeration ), which uses only the digits 1 and 0. First-generation languages, called machine languages, required the writing of long strings of binary numbers to represent such operations as "add," "subtract," "and compare." Later improvements allowed octal, decimal, or hexadecimal representation of the binary strings.

Because writing programs in machine language is impractical (it is tedious and error prone), symbolic, or assembly, languages—second-generation languages—were introduced in the early 1950s. They use simple mnemonics such as A for "add" or M for "multiply," which are translated into machine language by a computer program called an assembler. The assembler then turns that program into a machine language program. An extension of such a language is the macro instruction, a mnemonic (such as "READ" ) for which the assembler substitutes a series of simpler mnemonics. The resulting machine language programs, however, are specific to one type of computer and will usually not run on a computer with a different type of central processing unit (CPU).

Evolution of High-Level Languages

The lack of portability between different computers led to the development of high-level languages—so called because they permitted a programmer to ignore many low-level details of the computer's hardware. Further, it was recognized that the closer the syntax, rules, and mnemonics of the programming language could be to "natural language" the less likely it became that the programmer would inadvertently introduce errors (called "bugs" ) into the program. Hence, in the mid-1950s a third generation of languages came into use. These algorithmic, or procedural, languages are designed for solving a particular type of problem. Unlike machine or symbolic languages, they vary little between computers. They must be translated into machine code by a program called a compiler or interpreter.

Early computers were used almost exclusively by scientists, and the first high-level language, Fortran [ For mula tran slation], was developed (1953-57) for scientific and engineering applications by John Backus at the IBM Corp. A program that handled recursive algorithms better, LISP [ LIS t P rocessing], was developed by John McCarthy at the Massachusetts Institute of Technology in the early 1950s; implemented in 1959, it has become the standard language for the artificial intelligence community. COBOL [ CO mmon B usiness O riented L anguage], the first language intended for commercial applications, is still widely used; it was developed by a committee of computer manufacturers and users under the leadership of Grace Hopper, a U.S. Navy programmer, in 1959. ALGOL [ ALGO rithmic L anguage], developed in Europe about 1958, is used primarily in mathematics and science, as is APL [ A P rogramming L anguage], published in the United States in 1962 by Kenneth Iverson. PL/1 [ P rogramming L anguage 1 ], developed in the late 1960s by the IBM Corp., and ADA [for Ada Augusta, countess of Lovelace, biographer of Charles Babbage ], developed in 1981 by the U.S. Dept. of Defense, are designed for both business and scientific use.

BASIC [ B eginner's A ll-purpose S ymbolic I nstruction C ode] was developed by two Dartmouth College professors, John Kemeny and Thomas Kurtz, as a teaching tool for undergraduates (1966); it subsequently became the primary language of the personal computer revolution. In 1971, Swiss professor Nicholas Wirth developed a more structured language for teaching that he named Pascal (for French mathematician Blaise Pascal , who built the first successful mechanical calculator). Modula 2, a Pascallike language for commercial and mathematical applications, was introduced by Wirth in 1982. Ten years before that, to implement the UNIX operating system, Dennis Ritchie of Bell Laboratories produced a language that he called C; along with its extensions, called C++, developed by Bjarne Stroustrup of Bell Laboratories, it has perhaps become the most widely used general-purpose language among professional programmers because of its ability to deal with the rigors of object-oriented programming . Java is an object-oriented language similar to C++ but simplified to eliminate features that are prone to programming errors. Java was developed specifically as a network-oriented language, for writing programs that can be safely downloaded through the Internet and immediately run without fear of computer viruses . Using small Java programs called applets, World Wide Web pages can be developed that include a full range of multimedia functions.

Fourth-generation languages are nonprocedural—they specify what is to be accomplished without describing how. The first one, FORTH, developed in 1970 by American astronomer Charles Moore, is used in scientific and industrial control applications. Most fourth-generation languages are written for specific purposes. Fifth-generation languages, which are still in their infancy, are an outgrowth of artificial intelligence research. PROLOG [ PRO gramming LOG ic], developed by French computer scientist Alain Colmerauer and logician Philippe Roussel in the early 1970s, is useful for programming logical processes and making deductions automatically.

Many other languages have been designed to meet specialized needs. GPSS [ G eneral P urpose S ystem S imulator] is used for modeling physical and environmental events, and SNOBOL [ S tring- O riented S ymbolic L anguage] is designed for pattern matching and list processing. LOGO, a version of LISP, was developed in the 1960s to help children learn about computers. PILOT [ P rogrammed I nstruction L earning, O r T esting] is used in writing instructional software, and Occam is a nonsequential language that optimizes the execution of a program's instructions in parallel-processing systems.

There are also procedural languages that operate solely within a larger program to customize it to a user's particular needs. These include the programming languages of several database and statistical programs, the scripting languages of communications programs, and the macro languages of word-processing programs.

Compilers and Interpreters

Once the program is written and has had any errors repaired (a process called debugging), it may be executed in one of two ways, depending on the language. With some languages, such as C or Pascal, the program is turned into a separate machine language program by a compiler, which functions much as an assembler does. Other languages, such as LISP, do not have compilers but use an interpreter to read and interpret the program a line at a time and convert it into machine code. A few languages, such as BASIC, have both compilers and interpreters. Source code, the form in which a program is written in a high-level language, can easily be transferred from one type of computer to another, and a compiler or interpreter specific to the machine configuration can convert the source code to object, or machine, code.

Bibliography

See R. Cezzar, A Guide to Programming Languages: Overview and Comparison (1995), T. W. Pratt and M. V. Zelkowitz, Programming Languages: Design and Implementation (3d ed. 1996); C. Ghezzi and M. Jazayem, Programming Language Concepts (3d ed. 1997); R. W. Sebasta, Concepts of Programming Languages (4th ed. 1998).

Hide all research tools
Print this article Print all entries for this topic Cite this article Link to this article
Link to this article

CloseClose

Create a link to this page

Copy and paste this link tag into your Web page or blog:

<a href="http://www.encyclopedia.com/topic/.aspx#1E1-progrlan" title="Facts and information about programming language">programming language</a>

Add this article to Del.icio.usBookmark this article on DiigoShare this article on FacebookSubmit this article to RedditGive this article a thumbs-up on StumbleUpon
Show all research tools

Cite this article
Pick a style below, and copy the text for your bibliography.

  • MLA
  • Chicago
  • APA

"programming language." The Columbia Encyclopedia, Sixth Edition. 2008. Encyclopedia.com. 9 Dec. 2009 <http://www.encyclopedia.com>.

"programming language." The Columbia Encyclopedia, Sixth Edition. 2008. Encyclopedia.com. (December 9, 2009). http://www.encyclopedia.com/doc/1E1-progrlan.html

"programming language." The Columbia Encyclopedia, Sixth Edition. 2008. Retrieved December 09, 2009 from Encyclopedia.com: http://www.encyclopedia.com/doc/1E1-progrlan.html

Learn more about citation styles

programming language

A Dictionary of Computing | 2004 | | © A Dictionary of Computing 2004, originally published by Oxford University Press 2004. (Hide copyright information) Copyright

programming language A notation for the precise description of computer programs or algorithms. Programming languages are artificial languages, in which the syntax and semantics are strictly defined. Thus while they serve their purpose they do not permit the freedom of expression that is characteristic of a natural language.

Hide all research tools
Print this article Print all entries for this topic Cite this article Link to this article
Link to this article

CloseClose

Create a link to this page

Copy and paste this link tag into your Web page or blog:

<a href="http://www.encyclopedia.com/topic/.aspx#1O11-programminglanguage" title="Facts and information about programming language">programming language</a>

Add this article to Del.icio.usBookmark this article on DiigoShare this article on FacebookSubmit this article to RedditGive this article a thumbs-up on StumbleUpon
Show all research tools

Cite this article
Pick a style below, and copy the text for your bibliography.

  • MLA
  • Chicago
  • APA

JOHN DAINTITH. "programming language." A Dictionary of Computing. 2004. Encyclopedia.com. 9 Dec. 2009 <http://www.encyclopedia.com>.

JOHN DAINTITH. "programming language." A Dictionary of Computing. 2004. Encyclopedia.com. (December 9, 2009). http://www.encyclopedia.com/doc/1O11-programminglanguage.html

JOHN DAINTITH. "programming language." A Dictionary of Computing. 2004. Retrieved December 09, 2009 from Encyclopedia.com: http://www.encyclopedia.com/doc/1O11-programminglanguage.html

Learn more about citation styles

Related topics

  Edit this list

Related articles from newspapers, magazines, and more

Programming Superstars Eye Parallelism; A panel of programming language experts sees parallel programming as the next hurdle.
Magazine article from: eWeek; 10/24/2007; ; 700+ words ; ...Systems and Languages) conference...oriented programming language, to take...functional languages will never...dominant way of programming." Guy Steele...company's Programming Language Research...
A survey of programming languages and platforms for multi-agent systems.
Magazine article from: Informatica; 1/1/2006; ; 700+ words ; ...paradigm. Using these languages, instead of more...agent programming languages have some underlying...with one specific programming language. Instead, they are...The most mature languages will be accompanied...methodologies and programming tools. Among others...
Masterminds of Programming--New from O'Reilly Conversations with Creators of Major Programming Languages.
M2 Presswire; 4/30/2009; 700+ words ; ...with Creators of Major Programming Languages(C)1994-2009 M2 COMMUNICATIONS...does it take to create a programming language? Sir Tony Hoare, winner...computing algorithms and programming languages for 50 years, wrote in...
Discover the Principles & Best Practices for Programming in Many Languages.
M2 Presswire; 12/11/2006; 700+ words ; ...similarities in different programming languages- Use Revolution, a non-traditional language- Fine-tune and debug...explain the concepts of programming without necessarily...syntax of a particular language. The book examples...variety of different languages and the hands-on...
Indian Inventors Develop Universal Programming Language Conversion Method
News Wire article from: US Fed News Service, Including US State News; 9/18/2007; 597 words ; ...for universal programming language conversion between...different sequential programming languages, e.g., sequential...oriented programming languages. In particular...program in a first programming language and a target program...
Is C dead?(PROGRAMMING LANGUAGE)
Magazine article from: EE-Evaluation Engineering; 5/1/2008; ; 700+ words ; ...associated with assembly languages, the C programming language was developed to be...oriented programming languages that directly address common C programming challenges. The Challenges of C C programming language challenges include...
Choose the right programming language. (Back to Basics).
Magazine article from: Control Engineering; 7/1/2003; ; 700+ words ; Which language should you choose...Among the five languages defined in IEC...America. Other languages have practical...s skill, the programming task, the level...and increasing programming and user efficiency...Or you start programming your application...Rather than a language, ...
A theory of the relationship between cognitive requirements of computer programming languages and programmers' cognitive characteristics
Magazine article from: Journal of Information Systems Education; 1/1/2002; ; 700+ words ; ...different computer programming languages and programmers...requirements for a programming language are beyond the cognitive...difficulties with programming languages. "Study of the language-learning process...
ADA (programming language) ( includes related articles on compilers, how to get ADA aid, and synchronizing tasks through rendezvous.)
Magazine article from: EDN; 8/17/1989; ; 700+ words ; ...The Ada programming language was created with...using several hundred programming languages and dialects to create...skyrocket. Some of these languages were so esoteric...Ada as the official programming language of the Space Station...different programmers or ...
JavaScript, your first programming language
Newspaper article from: New Straits Times; 3/14/2001; 700+ words ; ...does not need a special programming environment. Learning a...similar to learning any other language; the best way is to begin...introduce some swear words into programming languages. That'll make them even...not required to have any programming background, some familiarity...
Click to see an enlarged picture
programming language. (Image by Bartosz Marcin Kojak (BrokenglaSS),GFDL)

For students and teachers!

Encyclopedia.com provides students and teachers facts, information, and biographies from verified, citable sources, including:

Encyclopedia.com provides students and teachers facts, information, and biographies from verified, citable sources, including:

Current programming language News: