quote
"The proliferation of programming languages stems from the desire to
improve the language rather than create a wholly new language for the sake
of doing so, but while many programmers subscribe to the idea of a true
programming language, few can agree on what that language is, writes Brian
Hayes. Among the petty feuds associated with programming languages is what
role the semicolon should play: In Algol and Pascal, semicolons are used
to separate program statements, while in C they terminate statements.
Though nearly every programming language is built atop a platform of
context-free grammar, there are several families into which languages can
be categorized, with different appearances, audiences, and areas of
application for each category. Imperative or command-based languages are
languages in which the commands act on stored data and tweak the general
state of the system; functional languages modeled after the concept of a
mathematical function use arguments as input and values as output; in
object-oriented languages, imperative commands and the data they act on
are tied together into encapsulated objects, and the data structure can be
"taught" to perform operations on itself; and logic, rational, or
declarative languages distinguish themselves by having the statement of
facts or relations be paramount. Languages can also be labeled as
"low-level" or "high-level," with the former notable for permitting more
direct access to pieces of the underlying hardware, and the latter
offering a protective abstraction layer. Supporters of specific languages
are less inclined nowadays to bad-mouth other languages, and more focused
on "converting" users of rival languages over to their language.
" unquote.
-
http://www.americanscientist.org/template/AssetDetail/assetid/51982/Klaus