Last modified on June 29, 2007, at 18:30

Programming language

This is an old revision of this page, as edited by Eac (Talk | contribs) at 18:30, June 29, 2007. It may differ significantly from current revision.

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A Programming Language is a small set of words and syntactic rules that allow people to write computer programs. When the Computer Program is executed by a computer it will follow the instructions and perform the requested work. Many different programming languages have been defined. Some are general-purpose and some are specific to a particular problem domain. However, programming languages evolve over time and usually become more general-purpose. For instance, the BASIC Programming Language and the Pascal Programming Language were originally intended as teaching languages, for students of programming. But both are now popular as general-purpose languages. The features of most modern programming languages are similar, but the words and syntax differ. For instance, the PRINT statement is used to output data in BASIC, whereas WRITELN is used for the same purpose in Pascal. Even when the words and syntax are similar between two languages, often the meaning (semantics) is different.

Unlike human languages, computer languages are much smaller (having grammars of around two dozen words) and define meanings more precisely.

The first programming language was A-0, developed in 1951.


Implementation of Programming Languages

A set of instructions written in a programming language is called source code, or simply code. In order for a computer to execute a program, another program must be used to prepare the source for execution. Interpreters translate the source code into machine code as the program executes. Compilers and Assemblers convert the source code into machine code once, and the computer can run the machine code any number of times. This makes compiled code run faster than interpreted code, usually by a factor of about 10.


Distinguishing Features

Programming languages can be divided into declarative and procedural languages. Declarative languages define information such as relationships and attributes. Modula is an example of a declarative language. Procedural languages define processes (algorithms) for the computer to follow. C is an example of a procedural language.

Languages can also be divided into low-level languages such as Assembly, and high-level languages such as COBOL. Low-level languages require more steps to accomplish the same tasks than high-level languages. Assembly Language is not a specific language, such as BASIC, but rather any of a group of languages that are each specific to a particular CPU.

Most, if not all, high-level languages support the following features: sub-routines (functions and procedures), variables, flow-control, data types, I/O, arithmetic operations, string operations, dynamic allocation (heaps), arrays, structures, constants, and literals. Unique features of some languages will find their way into other languages if the feature is generally useful, or will remain unique to the language otherwise. An example of a feature that has not received widespread acceptance is sets.

Objects are a means of encapsulating data and algorithms that operate on that data, with polymorphism. Originally specified in SmallTalk, objects became popular with the advent of C++. Many languages which originally did not support objects have since acquired them. For instance Visual BASIC is a version of BASIC supporting objects. Likewise, Borland Delphi is a version of Pascal supporting objects.


Language List

Most of the program code in use today is written in C, C++, COBOL, and Java. Other popular general-purpose languages include BASIC, Pascal, and C#. There are literally thousands of programming languages, although many of them are simply variants of others. Variants are called dialects. Thus, Visual BASIC is a dialect of BASIC.

The following is a sample list of programming languages.

A-0

Ada

ALGOL

APL

Assembly

BASIC

C

C++

C#

COBOL

D

Euclid

FORTRAN

Galaxy

IITRAN

Java

Javascript

Jovial

LISP

Modula 2

MUMPS

Oberon

Pascal

PL/I

Prolog

RPG

Sirius

SmallTalk

SNOBOL

YACC


References

The History of Computer Programming Languages The Language List