Baltazaar - Professional Profile
|
| | Msgs 1 to 1 of 1 (Total in Forum: 1) (Refresh) | FirstPrevNext |
|
 |
 | The different programming language "families" [modified] 
Tuesday, July 28, 2009 4:13 AM
|
|
 |
To summarize the key differences between the major programming languages, consider this as a starting point:
Functional Languages:
Functional languages employ a computational model based on the recursive definition of functions. They take their inspiration from the lambda calculus, a formal computational model developed by Alonzo Church in the 1930s. In essence, a program is considered a function from inputs to outputs, defined in terms of simpler functions through a process of refinement. Languages in this category include Lisp, ML, and Haskell, and some other minors.
Logic Context Languages:
Logic- or constraint-based languages take their inspiration from predicate logic. They model computation as an attempt to find values that satisfy certain specified relationships, using goal-directed search through a list of logical rules. Prolog is the best-known logic language. The term also sometimes applies to the SQL database language, the XSLT scripting language, and programmable aspects of spreadsheets such as Excel and its predecessors.
Procedural / Von Neumann Languages:
These languages are the most familiar and successful. They include Fortran, Ada 83, C, and all of the others in which the basic means of computation is the modification of variables. Whereas functional languages are based on expressions that have values, Von Neumann languages are based on statements (assignments in particular) that influence subsequent computation via the side effect of changing the value of memory.
Scripting / Runtime-interpreted Languages:
These languages are a subset of the Von Neumann languages. They are distinguished by their emphasis on "gluing together" components that were originally developed as independent programs. Several of these languages were originally developed for specific purposes: csh and bash, for example, are the input languages of job control (shell) programs. Awk was intended for report generation, PHP and JavaScript are primarily intended for the generation of web pages with dynamic content. Other languages, including Perl, Python, Ruby, and Tcl, and some others are more deliberately general purpose. Most place an emphasis on rapid prototyping, with a bias toward ease of expression over speed of execution.
Object Oriented Languages (OOP):
Object-oriented languages trace their roots to Simula 67, created mainly by the Norwegian computer scientists Ole-Johan Dahl and Kristen Nygaard. Most are closely related to the von Neumann languages, but have a much more structured and distributed model of both memory and computation. Rather than picture computation as the operation of a monolithic processor on a monolithic memory, object-oriented languages picture it as interactions among semi-independent objects, each of which has both its own internal state and subroutines to manage that state. Smalltalk is the "purest" of the object-oriented languages. C++, Java and C# are the most widely used.

CodeProject
Certainty of death, small chance of success... What are we waiting for?
modified on Tuesday, July 28, 2009 10:12 AM
|
|
|
|
 |
|
|
General
News
Question
Answer
Joke
Rant
Admin