Programming Language Article Index for
Programming Language
Articles about
Programming Language
Website Links For
Programming
 

Information About

Programming Language




Programming languages are used to facilitate communication about the task of organizing and manipulating information, and to express Algorithm s precisely. Some authors restrict the term "programming language" to those languages that can express ''all'' possible algorithms;In mathematical terms, this means the programming language is Turing-complete 1 sometimes the term " Computer Language " is used for more limited artificial languages.

, Australia lists 8512 computer languages. have been created, and new languages are created every year.


DEFINITIONS

Traits often considered important when deciding whether a language is a programming language:

  • ''Function:'' A programming language is a language used to write Computer Program s, which involve a Computer performing some kind of Computation 2, ''The scope of SIGPLAN is the theory, design, implementation, description, and application of computer programming languages - languages that permit the specification of a variety of different computations, thereby providing the user with significant control (immediate or delayed) over the computer's operation.'' or Algorithm and possibly control external devices such as Printers , robots3, and so on.


  • ''Target:'' Programming languages differ from Natural Language s in that natural languages are only used for interaction between people, while programming languages also allow humans to communicate instructions to machines. Some programming languages are used by one device to control another. For example PostScript programs are frequently created by another program to control a Computer Printer or display.



  • ''Expressive power:'' The Theory Of Computation classifies languages by the computations they can express (see Chomsky Hierarchy ). All Turing Complete languages can implement the same set of Algorithm s. ANSI/ISO SQL and Charity are examples of languages that are not Turing complete yet often called programming languages.45, ''Charity is a categorical programming language...'', ''All Charity computations terminate.''


Non-computational languages, such as Markup Language s like HTML or Formal Grammar s like BNF , are usually not considered programming languages. Often a programming language is embedded in the non-computational (host) language.


PURPOSE

A prominent purpose of programming languages is to provide instructions to a computer. As such, programming languages differ from most other forms of human expression in that they require a greater degree of precision and completeness. When using a natural language to communicate with other people, human authors and speakers can be ambiguous and make small errors, and still expect their intent to be understood. However, computers do exactly what they are told to do, and cannot understand the code the programmer "intended" to write. The combination of the language definition, the Program , and the program's inputs must fully specify the external behavior that occurs when the program is executed.

Many languages have been designed from scratch, altered to meet new needs, combined with other languages, and eventually fallen into disuse. Although there have been attempts to design one "universal" computer language that serves all purposes, all of them have failed to be accepted in this role.IBM in first publishing PL/I, for example, rather ambitiously titled its manual ''The universal programming language PL/I'' (IBM Library; 1966). The title reflected IBM's goals for unlimited subsetting capability: ''PL/I is designed in such a way that one can isolate subsets from it satisfying the requirements of particular applications.'' (6). Ada and UNCOL had similar early goals. The need for diverse computer languages arises from the diversity of contexts in which languages are used:

  • Programs range from tiny scripts written by individual hobbyists to huge systems written by hundreds of programmers.

  • Programmers range in expertise from novices who need simplicity above all else, to experts who may be comfortable with considerable complexity.

  • Programs must balance speed, size, and simplicity on systems ranging from Microcontroller s to Supercomputer s.

  • Programs may be written once and not change for generations, or they may undergo nearly constant modification.

  • Finally, programmers may simply differ in their tastes: they may be accustomed to discussing problems and expressing them in a particular language.


One common trend in the development of programming languages has been to add more ability to solve problems using a higher level of Abstraction . The earliest programming languages were tied very closely to the underlying hardware of the computer. As new programming languages have developed, features have been added that let programmers express ideas that are more removed from simple translation into underlying hardware instructions. Because programmers are less tied to the needs of the computer, their programs can do more computing with less effort from the programmer. This lets them write more programs in the same amount of time. Frederick P. Brooks, Jr.: ''The Mythical Man-Month,'' Addison-Wesley, 1982, pp. 93-94

was similarly dismissive of the idea.Perlis, Alan, Epigrams on Programming . SIGPLAN Notices Vol. 17, No. 9, September 1982, pp. 7-13


ELEMENTS


Syntax

of Python code with inset tokenization]]
is often used to aid programmers in the recognition of elements of source code. The language you see here is Python ]]

A programming language's surface form is known as its Syntax . Most programming languages are purely textual; they use sequences of text including words, numbers, and punctuation, much like written natural languages. On the other hand, there are some programming languages which are more Graphical in nature, using spatial relationships between symbols to specify a program.

The syntax of a language describes the possible combinations of symbols that form a syntactically correct program. The meaning given to a combination of symbols is handled by semantics. Since most languages are textual, this article discusses textual syntax.

Programming language syntax is usually defined using a combination of Regular Expression s (for Lexical structure) and Backus-Naur Form (for Grammatical structure). Below is a simple grammar, based on Lisp :


  Atom :: number symbol<br/>