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
squeak-dev@lists.squeakfoundation.org