Changes

Jump to navigation Jump to search
486 bytes added ,  16:13, February 28, 2012
rephrase introduction.
Line 1: Line 1: −
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.   
+
A '''programming language''' is an artificial [[language]] used mainly for giving instructions to computers; a secondary use is for the precise specification of [[algorithm]]s. A group of instructions for a particular purpose is known as a [[computer program]].   
   −
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.
+
Compared with human languages (e.g. English, French, Spanish, etc.), programming languages are very much smaller, simpler, and more precise.  Most programming languages are a mixture of English words and mathematical notation; very few programming languages have a base vocabulary exceeding 60 words, although they may also have utility libraries with hundreds of entries which provide optional extra functionality. The [[Context-Free Grammar|context-free grammars]] commonly used to precisely define the [[syntax]] of programming languages are not powerful enough to define human languages such as English.
   −
Unlike human languages, computer languages are much smaller (having grammars of around two dozen words) and define meanings more precisely.
+
Many thousands of different programming languages have been defined, though only a few dozen are in widespread use.  The first publicly available programming language was A-0, developed in 1951 by Grace Hopper. In 1948 Zuse published a paper about an early programming language Plankalkül, though this was not actually implemented until 1998 (publication was in "Archiv der Mathematik").  
   −
The first programming language was A-0, developed in 1951.
+
==About programming languages==
 +
Some programming languages 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.
   −
* Based on history we can see how all successful languages had very powerful sponsors. C/C++/Java/C# are all creations of big companies like AT&T, Sun, Microsoft. All these new languages are born in universities and research institutes or are coming from very specific niche domains. [http://littletutorials.com/2008/05/28/13-reasons-java-die-old-age/]
+
==Distinguishing features==
−
 
  −
==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.  Prolog 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.   
 
Programming languages can be divided into '''declarative''' and '''procedural''' languages.  Declarative languages define information such as relationships and attributes.  Prolog 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.   
   Line 23: Line 18:     
'''Objects''' are a means of encapsulating data and algorithms that operate on that data, with polymorphism.  Originally specified in Simula, 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.
 
'''Objects''' are a means of encapsulating data and algorithms that operate on that data, with polymorphism.  Originally specified in Simula, 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.
 +
 +
==Implementation of programming lLanguages==
 +
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.
    
==Language List==
 
==Language List==
Line 96: Line 94:     
==References==
 
==References==
 +
{{reflist}}
 +
 +
==See also==
 
[http://www.princeton.edu/~ferguson/adw/programming_languages.shtml The History of Computer Programming Languages]
 
[http://www.princeton.edu/~ferguson/adw/programming_languages.shtml The History of Computer Programming Languages]
 +
 
[http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm The Language List]
 
[http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm The Language List]
    
[[Category:Information technology]]
 
[[Category:Information technology]]
 
[[Category:Computer Science]]
 
[[Category:Computer Science]]
SkipCaptcha
265

edits

Navigation menu