programming language

Also found in: Dictionary, Thesaurus, Medical, Legal, Financial, Acronyms, Wikipedia.
Related to programming language: Basic programming language

programming language,

syntax, grammar, and symbols or words used to give instructions to a computercomputer,
device capable of performing a series of arithmetic or logical operations. A computer is distinguished from a calculating machine, such as an electronic calculator, by being able to store a computer program (so that it can repeat its operations and make logical
..... Click the link for more information.

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 numerationnumeration,
in mathematics, process of designating numbers according to any particular system; the number designations are in turn called numerals. In any place value system of numeration, a base number must be specified, and groupings are then made by powers of the base number.
..... Click the link for more information.
), 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 programcomputer program,
a series of instructions that a computer can interpret and execute; programs are also called software to distinguish them from hardware, the physical equipment used in data processing.
..... Click the link for more information.
 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 [Formula translation], was developed (1953–57) for scientific and engineering applications by John Backus at the IBM Corp. A program that handled recursive algorithms better, LISP [LISt Processing], 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 [COmmon Business Oriented Language], 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 [ALGOrithmic Language], developed in Europe about 1958, is used primarily in mathematics and science, as is APL [A Programming Language], published in the United States in 1962 by Kenneth Iverson. PL/1 [Programming Language 1], developed in the late 1960s by the IBM Corp., and ADA [for Ada LovelaceLovelace, Ada
(Augusta Ada King-Noel, Countess of Lovelace), 1815–1852, English mathematician, b. London as Augusta Ada Byron. The daughter of the poet Lord Byron and Anne Isabella Milbanke, she was raised by her mother, who had an interest in mathematics and science and
..... Click the link for more information.
], developed in 1981 by the U.S. Dept. of Defense, are designed for both business and scientific use.

BASIC [Beginner's All-purpose Symbolic Instruction Code] 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 PascalPascal, Blaise
, 1623–62, French scientist and religious philosopher. Studying under the direction of his father, a civil servant, Pascal showed great precocity, especially in mathematics and science.
..... Click the link for more information.
, 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 programmingobject-oriented programming,
a modular approach to computer program (software) design. Each module, or object, combines data and procedures (sequences of instructions) that act on the data; in traditional, or procedural, programming the data are separated from the instructions.
..... Click the link for more information.
. 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 InternetInternet, the,
international computer network linking together thousands of individual networks at military and government agencies, educational institutions, nonprofit organizations, industrial and financial corporations of all sizes, and commercial enterprises (called gateways
..... Click the link for more information.
 and immediately run without fear of computer virusescomputer virus,
rogue computer program, typically a short program designed to disperse copies of itself to other computers and disrupt those computers' normal operations.
..... Click the link for more information.
. Using small Java programs called applets, World Wide WebWorld Wide Web
(WWW or W3), collection of globally distributed text and multimedia documents and files and other network services linked in such a way as to create an immense electronic library from which information can be retrieved quickly by intuitive searches.
..... Click the link for more information.
 pages can be developed that include a full range of multimediamultimedia,
in personal computing, software and applications that combine text, high-quality sound, two- and three-dimensional graphics, animation, photo images, and full-motion video.
..... Click the link for more information.

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 intelligenceartificial intelligence
(AI), the use of computers to model the behavioral aspects of human reasoning and learning. Research in AI is concentrated in some half-dozen areas.
..... Click the link for more information.
 research. PROLOG [PROgramming LOGic], 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 [General Purpose System Simulator] is used for modeling physical and environmental events, and SNOBOL [String-Oriented Symbolic Language] 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 [Programmed Instruction Learning, Or Testing] is used in writing instructional software, and Occam is a nonsequential language that optimizes the execution of a program's instructions in parallel-processingparallel processing,
the concurrent or simultaneous execution of two or more parts of a single computer program, at speeds far exceeding those of a conventional computer.
..... Click the link for more information.

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-processingword processing,
use of a computer program or a dedicated hardware and software package to write, edit, format, and print a document. Text is most commonly entered using a keyboard similar to a typewriter's, although handwritten input (see pen-based computer) and audio input (as
..... Click the link for more information.

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.


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).

The Columbia Electronic Encyclopedia™ Copyright © 2013, Columbia University Press. Licensed from Columbia University Press. All rights reserved.
The following article is from The Great Soviet Encyclopedia (1979). It might be outdated or ideologically biased.

Language, Programming


a formal symbolic system used for human communication with a digital computer. The programming language is designed to describe data (information) and algorithms (programs) for data processing by a computer. Examples of programming languages are ALGOL, COBOL, and FORTRAN; machine languages are also programming languages.

Programming languages occupy an intermediate position between natural languages and formal, or formalized, languages. They are similar to the former in grammatical structure (use of words from natural languages, presence of a phrase structure, and so on); they resemble formal languages in the use of mathematical symbols and concepts, but most importantly because they have strict, precisely described rules for constructing texts in the programming language and expressing the meaning of such texts. The principal use of programming languages is as a means of programming, that is, for writing programs and running them on digital computers.

The Great Soviet Encyclopedia, 3rd Edition (1970-1979). © 2010 The Gale Group, Inc. All rights reserved.

programming language

[′prō‚gram·iŋ ‚laŋ·gwij]
(computer science)
The language used by a programmer to write a program for a computer.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.

programming language

a simple language system designed to facilitate the writing of computer programs
Collins Discovery Encyclopedia, 1st edition © HarperCollins Publishers 2005

programming language

A formal language in which computer programs are written. The definition of a particular language consists of both syntax (how the various symbols of the language may be combined) and semantics (the meaning of the language constructs).

Languages are classified as low level if they are close to machine code and high level if each language statement corresponds to many machine code instructions (though this could also apply to a low level language with extensive use of macros, in which case it would be debatable whether it still counted as low level). A roughly parallel classification is the description as first generation language through to fifth generation language.

The other major classification of languages distinguishes between imperative languages, procedural language and declarative languages.

Programming languages time-line/family tree.
This article is provided by FOLDOC - Free Online Dictionary of Computing (

programming language

A language used to write instructions for the computer. It lets the programmer express data processing in a symbolic manner without regard to machine-specific details.

From Source Code to Machine Language
The statements written by the programmer are called "source code," which are translated into the computer's "machine language" by programs called "assemblers," "compilers" and "interpreters." For example, when a programmer writes ADD A TO B, ADD is turned into machine code for add, and A and B are the locations in RAM where the two amounts are temporarily stored.

Grammar and Syntax
Like human languages, each programming language has its own grammar and syntax, and there can be dialects, each requiring its own assemblers and compilers. Standards have been set by ANSI for many languages. However, it can take a long time for new features to be standardized, and new dialects spring up all the time. See program logic.

Assemblers, Compilers and Interpreters
For each CPU hardware platform, there is a low-level assembly language that generates machine language one for one. High-level languages (what most programmers write in) use compilers that generate many machine instructions for each source code statement the programmer writes (see compiler). There are also programming languages that are translated into machine language one statement at a time each time they run (see interpreter).

Source Code

  Assembly Language  Machine Language
  Compare A to B     Compare 3477 2883
  If equal go to C   If = go to 23732
  Go to D            Go to 23119

  Machine Code

Major Programming Languages
Following is a brief summary of noteworthy languages. See also client/server development system.

Programming language for Flash programs. See Flash and ActionScript.

Comprehensive, Pascal-based language used by the Department of Defense. See Ada.

International language for expressing algorithms. See ALGOL.

Used for statistics and mathematical matrices. Requires special keyboard symbols. See APL.

Developed as a timesharing language in the 1960s. It has been widely used in microcomputer programming in the past, and various dialects of BASIC have been incorporated into many different applications. Microsoft's Visual Basic is widely used. See BASIC and Visual Basic.

Programming with interlocking graphic elements. See visual programming.

Developed in the 1970s at AT&T. Widely used to develop operating systems and commercial applications. Unix was the first OS written in C. C++ (C plus plus) is the object-oriented version of C that is popular because it combines objects with traditional C programming syntax. See C.

Pronounced "C-sharp." A Microsoft .NET language based on C++ with elements from Visual Basic and Java. See .NET Framework.

A dialect of LISP geared to multithreading. See Clojure.

Developed in the 1960s. Widely used for mini and mainframe programming. See COBOL.

A more readable version of JavaScript. See CoffeeScript.

A superset of the Python language, combining syntax from Python and C. See Cython.

Web-based programming language from Google. Introduced in 2011, Dart was touted to provide greater performance for Web applications than JavaScript but has been used mostly by Google. See Dart.

Widely used in the past for business applications. See dBASE Plus.

Functional language modeled after and specialized for concurrent processing. See Erlang.

esoteric languages
A family of programming languages created to push the envelope. See esoteric programming language.

Pronounced "F-sharp." A Microsoft .NET scripting language based on ML. See F#.

Developed in the 1960s, FORTH has been used in process control and game applications. See FORTH.

Developed in 1954 by IBM, it was the first major scientific programming language and continues to be widely used. Some commercial applications have been developed in FORTRAN. See FORTRAN.

Object-oriented language styled after C/C++ from Google. Go was made public in 2012. See Go.

Java-based language that simplifies various functions. See Groovy.

Pure functional programming language developed in the 1990s. See Haskell.

With Version 5, HTML became an official programming language because it formalized the use of JavaScript programming. See HTML5 and HTML.

The programming language developed by Sun and repositioned for Web use. It is widely used on the server side, although client applications are also used. See Java.

The de facto scripting language on the Web. JavaScript is embedded into billions of HTML pages, and it was formalized as part of HTML5. See JavaScript.

Microsoft's version of JavaScript. Used in ASP programs. See JScript.

A programming language designed for financial analysis and other numerical computations. See Julia.

A versatile language that compiles into Java bytecode and native machine languages. Google endorsed for Android development. See Kotlin.

Developed in 1960. Used for AI applications. Its syntax is very different than other languages. See LISP.

Cross-platform, interpreted language that generates Mac, Windows, Linux, iOS and Android apps from the same source code. See LiveCode.

Developed in the 1960s, it was noted for its ease of use and "turtle graphics" drawing functions. See Logo.

Fast, lightweight scripting language that runs on Windows, Unix/Linux and smartphone platforms. See Lua.

Originally MUMPS (Massachusetts Utility MultiProgramming System), it includes its own database. It is widely used in medical applications. See M.

A programming language that spawned OCaml and F#. See ML.

Enhanced version of Pascal introduced in 1979. See Modula-2.

A version of C used to program Mac and iOS apps. See Objective-C.

A dialect of the ML language family that is used for industrial strength applications. See OCaml.

A language for programmable network devices. See P4.

Originally an academic language developed in the 1970s. Borland commercialized it with its Turbo Pascal. See Pascal.

A scripting language used on the Web to write CGI scripts. See Perl.

Widely used server-side language embedded in Web pages along with HTML. A major Web language. See PHP.

Developed in France in 1973. Used throughout Europe and Japan for AI applications. See Prolog.

A scripting language used for AI applications, system utilities and Internet scripts. Developed in Amsterdam by Guido van Rossum. See Python.

Runs on IBM mainframes and OS/2. Used as a general-purpose macro language. See REXX.

Offers memory-safe features with low-level control. See Rust.

A Java-like language that runs in a Java Virtual Machine (JVM). See Scala.

Visual programming for developing animations. See Scratch.

An Apple language that adds features to Objective-C. See Swift.

A superset of JavaScript that flags errors. See TypeScript.

Subset of Visual Basic used on the Web similar to JavaScript. See VBScript.

Visual Basic
Version of BASIC for Windows programming from Microsoft that has been widely used. See Visual Basic.

Visual FoxPro
A dBASE language and development system from Microsoft. See Visual FoxPro.

Web Languages
Languages such as JavaScript, Jscript, Perl and CGI are used to automate Web pages as well as link them to other applications running in servers.

Even More Languages!

Programmers must use standard names for the instruction verbs (add, compare, etc.), and companies generally use standard names for the data in their databases. However, programmers "make up" names for the functions (subroutines) in their own programs, and they make up dozens of them, essentially creating their own language. But since they dislike documenting their code, the readability of that language is critical.

Just Make It Up!
Unless naming conventions are enforced or pair programming is used, whereby one person looks over the shoulders of the other, programmers can make up names that make no sense whatsoever. The bane of programmers is having to modify someone else's program that has unclear names and few comments. It often requires tracing the logic one statement at a time.

In fact, if programmers use careless naming, they can have a miserable time reading their own code later. See pair programming, programmer, to the recruiter and naming fiascos.

No Language, Just Wires
In 1946, the ENIAC was programmed by plugging wires from one socket to another. That led to the plugboards on tabulating machines and later to programming languages. See tabulator and Hollerith machine. (Image courtesy of Rare Book & Manuscript Library, University of Pennsylvania.)
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
* C++ - is a generalist programming language, object oriented, based on the C syntax.
To make it worse, OCaml, more than most other programming languages, traffics in a kind of deep abstract math far beyond most coders.
Provided, most of standard algorithms (especially these related to accessible data types and similar) have been implemented earlier and are available with the programming language, the program can be developed much faster and requires less space.
The HPC Challenge Class 2 Award is a contest for programming languages used in developing HPC applications.
Boyd uses a number of programming languages designed for young learners, including Scratch and Alice (See "Learn the Languages," p.
In general, programming requires a wide range of knowledge, such as the detail of syntax, the semantics specific to the programming language used, and mental models of how to slove the problem.
This kind of increase has created many factors that are taken into consideration when selecting a programming language to teach in the classroom.
No connection has yet been made, however, to the possible impact that a first programming language could have on this process.
The purpose of a programming language is to provide a means that allow communication of information between computers, from humans to computers, and also from humans to humans.
Metaprogramming [6] is a key programming language feature in implementation of today's rapidly growing enterprise software systems.
If you do have a significant amount of C code investment, it is important to understand not only the key C programming language strengths and weaknesses but also best practices when integrating C code into applications written in another language.

Full browser ?