programming language
The Columbia Encyclopedia, Sixth Edition | Date: 2008
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).
Author not available, PROGRAMMING LANGUAGE.,
The Columbia Encyclopedia, Sixth Edition 2008
The Columbia Encyclopedia, Sixth Edition. Copyright 2008 Columbia University Press
Related newspaper, magazine, and journal articles from HighBeam Research
|
LPL++: Object logic programming language with built-in inheritance through unification
Database for Advances in Information Systems; 4/1/1998; Toroslu, Ismail H; 6036 words
; Abstract In this paper, an object logic programming language is proposed that captures all of ... paradigms by extending standard logic programming language with non-Horn clauses. This extension ... structure of the ordinary logic programming language is changed in order to introduce ...
Read more
|
|
Java programming language.(TEACH -IN)
Database and Network Journal; 10/1/2005; 4921 words
; ... is a reflective, object-oriented programming language developed initially by James Gosling ... architectures closely tied to the Java programming language include: * J2EE (Enterprise edition ... Debugger Architecture * Join Java programming language * List of Java-programs * Java User ...
Read more
|
|
Sharp Programming Language May Challenge Java In Embedded Systems.(Industry Trend or Event)
Electronic Design; 9/5/2000; Wong, William; 847 words
; The new programming language on the block is C# (pronounced C ... features, this makes C# a much simpler language than C or C++. Another simplification ... COM+, but it's a generally useful programming feature for handling anonymous function ... one of the Windows CE embedded programming ...
Read more
|
|
Java and Dylan.(programming languages used for statistical computing)
Journal of Computational & Graphical Statistics; 9/1/2000; Gentleman, Robert Ihaka, Ross; 3220 words
; ... of interesting developments in programming languages and we believe that there are now ... touted as general purpose real world programming languages and can be viewed as alternatives ... one of the world's most popular programming languages in a very short time. On the other ...
Read more
|
|
Computer-assisted assembly language programming laboratory
International Journal of Electrical Engineering Education; 7/1/2007; Rodríguez, Santiago; Pedraza, José L; García, Antonio; Rosales, Francisco; Méndez, Rafael; 5300 words
; ... tool chain to complete the Assembly Language Programming laboratory assignments using an ... programming laboratory Assembly Language Programming (ALP) is one of the common subjects ... set of tools for teaching assembly language programming to a large number of students with ...
Read more
|
|
Directv Selects Euro RSCG Latino as Creative Agency for Spanish- Language Programming Platform
Wireless News; 3/17/2007; 244 words
; Wireless News 03-17-2007 Directv Selects Euro RSCG Latino as Creative Agency for Spanish- Language Programming Platform WIRELESS NEWS-March 17, 2007-Directv Selects Euro RSCG Latino as Creative Agency for Spanish-Language Programming Platform (C)2007 10Meters - http://www.10meters.com ...
Read more
|
|
Heating up on-screen: Spanish language networks compete harder than ever for a big piece of the Latino audience. (2002 Hispanic Market Report: Programming).
Multichannel News; 10/28/2002; Karrfalt, Wayne; 1768 words
; ... number of viewers of Spanish language TV increased by 28 percent during ... pie--is hot for its original programming. Affiliate KAZA in Los Angeles, one of six Spanish-language broadcast stations in the market ... APPROACH TO NOVELAS Spanish programming in the U.S. has long been dominated ... comprise ...
Read more
|
|
Programming With Data: A Guide to the S Language.(Review)
Technometrics; 8/1/1999; BATES, DOUGLAS M.; 974 words
; ... computing packages in that it is a programming language first and an environment for ... satisfy curiosity about S as a programming language and about the object-oriented approach to programming. Languages such as C++ and Java are having ...
Read more
|
|
Directv Brings Russian-Language Programming to the U.S.
Wireless News; 12/10/2005; 222 words
; Wireless News 12-10-2005 Directv Brings Russian-Language Programming to the U.S. WIRELESS NEWS-December 10, 2005-Directv Brings Russian-Language Programming to the U.S. (C)2005 10Meters - http://www.10meters.com To provide the Russian community living in the United States with the best ...
Read more
|
|
Clear Channel Radio to Roll Out New Spanish-Language Programming.
Wireless News; 9/16/2004; 314 words
; WIRELESS NEWS-(C)1999-2004 10Meters - http ... expanded commitment to Spanish-language programming via an aggressive, multi-market ... initiative will be longtime Spanish-language radio veteran Alfredo Alonso, who ... Alfredo helped create Spanish-language radio more than 15 years ago and ... we ...
Read more
|
Related entries from encyclopedias, dictionaries, and thesauruses
|
programming language
Britannica Concise Encyclopedia
... executed within a program). Languages that support object-oriented programming take the data to be manipulated ... their point of departure. Programming languages can also be classified as ... means of a compiler into language the computer understands. programming language ...
Read more
|
|
Generations, Languages
Computer Sciences
Generations, Languages Programming languages are the primary tools ... Generation: Machine Language Programming of the first stored ... the lowest level of programming language. All the commands and ...
Read more
|
|
Object-Oriented Languages
Computer Sciences
... oriented language is a computer programming language that revolves around the concept ... structures. Evolution of Computer Programming Languages Computer programming languages have evolved continually over the ...
Read more
|
|
SIC 7371 Computer Programming Services
Encyclopedia of American Industries
... differently depending on their area of programming specialty. For example, according to Weekly ... these figures include more than just custom programming service revenues, they serve to illustrate ... 58 percent of their gross revenues from programming services; the rest came from activities ... or a threat ...
Read more
|
|
The Heart of Programming
Computer Sciences
THE HEART OF PROGRAMMING The hardest part of programming is not learning the programming language, but figuring out how to cast a problem into statements the computer can follow. It is not unlike solving word problems on math ...
Read more
|