| Slide 1.a: Programming language genealogy Slide 1.c: Programming language ranking Home |   | 
| 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): 
 | 
| These programming languages have a .Net implementation: 
 |