All popular programming languages, for each one the description and why to choose it, a link to a detailed card and another to a sample of code calculating the Fibonacci series. New innovative programming languages are also included in the list. It will help you choose the language best suited to a project.

Complete list Description Why use it?
C C offers great freedom, and lot of debugging challenge thanks to pointers and memory management.
- Code
Suffering slow programming to make fast programs. For system programming.
C++ C++ is C plus objects, an extended library, templates.
- Code
System programming as C but allow larger project, or applications and games.
C# Concurrent to java, C Sharp runs on .NET or Portable NET, Mono.
- Code
More modern than Java for desktop or web apps. May share resources with other languages under a common runtime.
Go System language designed to be compiled quickly. It replaces C++ and Python thanks to its integrated garbage collector.
More - Code
Language deliberately simplified to make scripts and concurrent Web services, easy to maintain, quickly compiled, which scales.
Pascal Old language (1970), improved with objects, imposes a strictly structured programming.
- Code
Teaching, or client/server apps with Delphi.
BASIC This very old language (1964) was improved by Microsoft, with a complete programming environment. Other portages exist.
- Code
Scripting Microsoft's software (Word etc...), dynamic web pages (ASP) on Windows servers, or apps with Visual Basic.
PHP Designed to be embedded inside HTML to build dynamic Web pages or update them from databases.
- Code
Server-side scripting, producing HTML pages from data. The version 5 targets Web services.
Java Was designed to be portable and to replace C++.
More - Code
For cross-platform applications, web services and mobile phone apps under Android.
Scala Procedural, functional and object-oriented programming language.
More - Code
Offers a more compact syntax than Java on the virtual machine, improves productivity.
JavaScript has been invented to build dynamic client-side html pages, ECMAScript is the standardized version.
- Code
For interactivity in web pages and applications, interfaces. Used with HTML 5 for immersive apps. Building an app server side with Node.js.
TypeScript Modernized version of JavaScript with classes, interfaces, modules.
- Code
To make large JavaScript applications, and facilitate reusability of code for web applications.
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.
- Code
Easy to learn, to programm quickly. Powerful and easy to learn. Making scripts of small web services, or scientific apps.
Java scripting with Jython.
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.
Ruby Designed with simplicity in mind. It is interpreted, and has a proprietary but extensible library.
- Code
Writing scripts more easily. Using Ruby on Rails for Web applications.
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.
Julia Multi-purpose language with scientific capacities, a clear syntax, compatible with LLVM.
More - Code
Suitable for scientific calculations and cloud computing.
Dart Language interpreted JIT running server side or converted to JavaScript.
More - Code
Alternative to TypeScript for big applications, on the client or server side.
Objective C Alternative to C++ on Apple computers mainly.
Native applications on iPhone and iPad.
Perl A scripting interpreted language. Readabillity and ease of use are not the goal.
- Code
Mainly used by networks administrators and for small CGI scripts.
ASP Scripting language, server-side, for dynamic web pages by Microsoft, same syntax as Basic.
- Code
Producing HTML pages from data, but under Windows servers only.
Erlang Functional and concurrent language where the work is divided in processes.
Erlang - Code
Server-side processing for a site in expansion with massive requests. Whatsapp is made entirely with Erlang.
Assembler This is near the machine language and the fastest. You should never use it, as older programmers did. Making graphic subroutines, drivers or industrial processing.
Rebol Interpreted language for network scripting. The language itself may be augmented.
- Code
Processing information on distributed computer systems, with small programs.
Lua Add-on or standalone language with extensible semantic.
Lua - Code
Game programming, embedded scripting.
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 / Scheme / Lisp is a very old language designed for artificial intelligence, processes lists only. Scheme is a modernized version of Lisp.
Scheme - Code
Artificial intelligence and scripting.
Clojure Another newer version of Lisp.
Aimed at robust multithreading.
Prolog For logic programming, based on Horn's clauses.
Prolog - Code
Heavy artificial intelligence processing.
Haskell Functional programming. Slow and memory consuming.
- Code
To try programming in another way
Smalltalk One of the first object oriented language, programs can't run outside the IDE.
Smalltalk - Code
Fully object-oriented programming, as a curiosity for students.
Caml, Ocalm Functional languages, Ocalm is object-oriented.
Caml - Code
Used by universities. Can help to build a compiler.
CoffeeScript Frontend to JavaScript.
CoffeeScript - Code
Applications on Node.js or web apps.
D C modernized with objects and memory handling.
System programming.
Scriptol A simple, object-oriented, universal language with an intuitive and powerful syntax. Compiles to C++ or PHP.
- Code
Easy and universal for scripting, prototyping, web applications and robotics.
SQL Language of data management.
For databases queries.
XML Not really a programming language, but may be used for similar tasks.
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):

Python, Ruby, Scala, NetRexx, Groovy, JavaScript (Rhino and Nashorn), Prolog, Clojure.

Designed specifically to run on LLVM:

Julia, Rust.

These programming languages have a .NET implementation:

Basic, C#, C++, Cobol, Pascal, Perl, Python (IronPython), Scala, Lisp (Clojure), Java and lot or others.

May be compiled to JavaScript:

TypeScript, Dart, CoffeeScript, C# (DuoCode), Clojure, OCaml, F#, Lisp (Clojure), Java (GWT), Scala and Scriptol.

See also:

Last modified:
January 9, 2013: Removed Boo, added Go.
May 14, 2013: Removed Modula, Oberon, Netrexx and added CoffeeScript, Dart.
February 13, 2014: Added Julia.
February 25, 2014: Removed Forth, added Clojure, Objective C.

February 27, 2014: Added Erlang.
April 4, 2014. Added TypeScript.
February 5, 2014. Added Scala.js among languages compiled to JS.