A programming language is a clear set of expressions and rules (or techniques) valid for the formulation of instructions for a computer. A programming language has defined a set of syntactic and semantic rules. It gives the programmer the possibility to state in exactly the actions which the computer has to execute, in what order and with which data. The specification consists in drawing or writing the necessary programs.
Categories:

- Procedural languages: C, Java, Perl
- Functional languages: ML, Haskell
- Logic programming languages: Prolog, DATALOG
- Mixed languages: LISP
By the level of abstraction:
- First generation languages: code-machine languages
- Second generation languages: assembly languages
- Third generation languages: high level languages, like C and all of its derivatives: C++, Java, etc.
- Fourth generation languages: non-procedural languages, focused on solving a particular class of problems: SQL, etc.
- Fifth generation languages: languages used in domains like fuzzy logic, artificial intelligence and neural networks: Prolog, LISP, etc.
By age:
- Last century languages: LISP, FORTRAN from the 50s
- Last decade languages: Haskell, Ruby, etc.
For executing a written program in a random language, there are 2 ways: compilation or interpretation. With compilation, the compiler transforms the source-program in an equivalent program written in a machine language, which then is executed. In interpretation, the interpreter takes the first instruction from the source-program and transforms it in machine language and then it executes it, then it goes to the second instruction and keeps repeating the same actions.
Some languages are suitable for compilation; for example the classic languages: Pascal, Fortran, C. Some are mostly interpreted, for example: BASIC, PHP, SQL. Many of the modern languages combine compilation with interpretation: the source code is compiled in a binary language named byte code, which when ruled is interpreted by a virtual machine. Remarkable, some language interpreters can use just-in-time compilers, which transform the code in machine language right before the execution of the program.
Here you have a list of general languages, which can theoretically be used in solving any kind of problems: BASIC (QuickBasic, GW Basic, Visual Basic), C, C++, C#, Clips, Cobol, Fortran, Haskell, Java, JavaScript, LISP, Pascal (ObjectPascal used by Borland Delphi), Perl, PHP, Prolog, Python, Ruby, Seed7, Scriptol, Tcl / TK, CSS, XHTML;

So if you’re passionate about computers and you want to start programming, you now have all the computer programming languages lined up. Either you are a future web designer, or a future operating system creator, or a program creator, now you have all the information needed to understand which programming language is good for what.
Written by hugepedia, date Mar 11, 2010 in Software topic
no comments