Slide 1.a: Programming language genealogy
Slide 1.c: Programming language ranking
Home

Popular Programming Languages

Complete list
Description
Why to use it?
     
C#
(C Sharp)
Concurrent to java, runs on .NET or compatible platforms (Portable NET, Mono).
More
- Code
Easier than C++. May share resources with other languages under a common runtime.
C
C offers great freedom, and lot of debugging challenge thanks to pointers and memory management.
More
- Code
Suffering slow programming to make fast programs. For system programming.
C++
C++ is C plus objects, an extended library, templates.
More
- Code
System programming as C but allow larger project, or applications.
D language
C++ like language, more dynamic. Compatible with C.
D Language - Code
For teaching or scripting.
Pascal
Old language (1970), improved with objects, imposes a strictly structured programming.
More
- Code
Teaching, or client/server apps with Delphi and Kylix.
Basic
Asp
This very old language (1964) was improved by Microsoft, with a complete programming environment. Other portages exist.
More
- Code

Standard language for scripting Microsoft's applications (Word etc...), and for dynamic web pages (Asp) on Windows servers.
PHP
Designed to be embedded inside HTML to build dynamic Web pages or update them from databases.
More
- Code
Producing HTML pages from data.
The version 5 targets Web services.
Java
Was designed to be portable and to replace C++.
More - Code
Cross-platform applications (but slower than native ones).
For web services programming .
JavaScript,
ECMAScript
JavaScript has been invented to build dynamic client-side html pages, ECMAScript is the standardized version.
More
- Code
For interactivity in web pages.
Used also by Xul to build graphical user interfaces.
Scriptol
A simple, object-oriented, universal language with an intuitive and powerful syntax. You can build executables, or embed code into html pages.
XML may be used as data structure.
More
- Code
Easy and universal for scripting, prototyping, making binary applications, dynamic web pages and XML processing.
For web services by using PHP 5 as back-end.

Python
A modern interpreted language with powerful built-in features and a unique indentation feature to shorten coding.
The Jython version compiles in Java bytecode.
More
- Code
Programming at light speed. Powerful and easy to learn.
Extending Zope for web services.
Java scripting with Jython.
Only for open source applications (not compiled).
Boo
This is a new version of Python with some new features. It runs on .Net and Mono and thus, no compatibility problem.
Boo - Code
Similar to Python.
ASP
Scripting language, server-side, for dynamic web pages by Microsoft, same syntax as Basic.
ASP
- Code
Producing HTML pages from data, but under Windows servers only.
Assembler
This is near the machine language and the fastest. You should never use it, as older programmers did. Making drivers or industrial processing.
Eiffel, Sather
Object-oriented, with "programming per contract" and other secure features. Sather is an open source implementation.
More - Code
Programming secured applications. Used by hospitals.
Perl
A scripting interpreted language. Readability and ease of use are not the goal.
Perl
- Code
Mainly used by networks administrators and for small CGI scripts.
Rebol
Interpreted language for network scripting. The language itself may be augmented.
Rebol
- Code
Processing information on distributed computer systems, with small programs.
Ruby
Designed with simplicity in mind. It is interpreted, and has a proprietary but extensible library.
More
- Code
Writing scripts more easily. Using Ruby on rails.
Only for open source applications (not compiled).
Tcl
A scripting language, easy to learn and available on any platform.
More - Code
Scripting of portable programs with GUI, and web programming by CGI.
NetRexx
By IBM, has a simplified syntax.
More
- Code
Extends Java with scripts.
Lua
Add-on or standalone language with extensible semantic.
Lua - Code
Extending the C language.
Cobol
Business language still used on big computers.
Cobol - Code
Maintaining old programs on mainframes.
Fortran
One of the first languages, always used for mathematical tasks.
Fortran - Code
Has huge library for scientific calculations.
Lisp
Lisp is a very old language designed for artificial intelligence, processes lists only.
Lisp - Code
Artificial intelligence and scripting.
Scheme
Scheme is a modernized version of Lisp.
Scheme - Code
Artificial intelligence and scripting.
Prolog
For logic programming, based on Horn's clauses.
Prolog - Code
Heavy artificial intelligence processing.
Haskell
Functional programming. Slow and memory consuming.
Haskell
- Code
To try programming in another way
SQL
Language of data management.
MySQL site
For databases queries.
Forth
Another oldie. Invented by an astronomer, is stack based
Forth - Code
For instrumental commands and legacy libraries re-using.
Smalltalk
One of the first object oriented language, programs can't run outside the IDE.
Smalltalk - Code
Absolutely object-oriented processing.
Modula,
Oberon
Successors to Pascal.
Oberon - Code
For nostalgics of the Algol and Pascal time.
Caml, Ocalm
Functional languages, Ocalm is object-oriented.
Caml - Code
Used by universities. May help to build a compiler.
Scala
Procedural, functional and object-oriented programming language.
Scala - Code
Educational purpose.
XML
Not really a programming language, but may be used for similar tasks.
XML
XML serves to describe precisely data and may include actions on data.
XSL allows to transform documents.
     

Languages implemented on the Java Virtual Machine (JVM):
    Java, NetRexx, Jython, Perl, Scala, Tcl.
These programming languages have a .Net implementation:
    Basic, C#, C++, Cobol, Pascal, Perl, Python (IronPython) and Boo, Scala, a version of Java and lot or others.