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. It will help you choose the language best suited to a project.

Complete list Description Why use it?
BASIC This very old language (1964) was improved by Microsoft, with a complete programming environment. Other portages exist.
More
- Code
Scripting Microsoft's software (Word etc...), dynamic web pages (ASP) on Windows servers, or apps with Visual Basic.
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 and games.
C# Concurrent to java, C Sharp runs on .NET or Portable NET, Mono.
More
- Code
More modern than Java for desktop or web apps. May share resources with other languages under a common runtime.
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.
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. For servers mainly.
Java Was designed to be portable and to replace C++.
More - Code
For cross-platform applications, web services and mobile phone apps under Android.
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 and applications, interfaces. Used with HTML 5 for immersive apps. Building an app server side with Node.js or local with Electron.
Julia Multi-purpose language with scientific capacities, a clear syntax, compatible with LLVM.
More - Code
Suitable for scientific calculations and cloud computing.
Pascal Old language (1970), improved with objects, imposes a strictly structured programming.
More
- Code
Teaching, or client/server apps with Delphi.
PHP Designed to be embedded inside HTML to build dynamic Web pages or update them from databases.
More
- Code
Server-side scripting, producing HTML pages from data. The version 5 targets Web services.
Kotlin Alternative to Java with less verbose syntax
Kotlin
Android mobile programming
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
Easy to learn, to programm quickly. Powerful and easy to learn. Making scripts of small web services, or scientific apps.
Java scripting with Jython.
Scala Procedural, functional and object-oriented programming language.
More - Code
Offers a more compact syntax than Java on the virtual machine, improves productivity.
Swift Inspired by simplified syntax of scripting languages, it replaces Objective C.
More - Code
Mobile applications for iPhone, Local and server on MacOS.
TypeScript Modernized version of JavaScript with classes, interfaces, modules.
More
- Code
To make large JavaScript applications, and facilitate reusability of code for web applications.
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 for Web applications.
Rust Created to overcome the disadvantages of C ++, mainly its insecurity. Obscure syntax. Uses LLVM.
More - Code
System programming with secure memory management, or production of WebAssembly code.
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.
Dart Language interpreted JIT running server side or converted to JavaScript.
More - Code
Building iOS and Android apps with the same language and framework.
Objective C Alternative to C++ on Apple computers mainly.
Code
Native applications on iPhone and iPad.
Perl A scripting interpreted language. Readabillity and ease of use are not the goal.
Perl
- 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.
ASP
- 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.
Elixir Erlang features with a syntax close to Ruby, it offers an alternative to the first.
Elixir
Replaces Erlang with a more readable syntax.
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.
Lua Add-on or standalone language with extensible semantic.
Lua - Code
Game programming, embedded scripting.
Cobol Business language still used on big computers.
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.
Prolog For logic programming, based on Horn's clauses.
More - Code
Artificial intelligence and problem solving.
Haskell Functional programming. Slow and memory consuming.
Haskell
- Code
To try programming in a more mathematical way.
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. Tends to be overshadowed by TypeScript.
D C modernized with objects and memory handling.
D
System programming.
R For statistics and analytical data processing.
R
Design of statistical software. A more general language like Julia may also be suitable.
SQL Language of data processing.
MySQL
For databases queries.
WebAssembly Intermediate language designed as a bytecode for web pages.
More - Code
To accelerate JavaScript or replace it with other languages, on the Web or locally.

Languages implemented on the Java Virtual Machine (JVM):

Designed specifically to run on LLVM:

These programming languages have a .NET implementation:

May be compiled to JavaScript:

May be compiled to WebAssembly:

See also:

List of evolutions:
January 9, 2013: Removed Boo, added Go.
May 14, 2013: Removed Modula, Oberon, Netrexx and added CoffeeScript, Dart.
February 13, 2014: Added Julia.
February 27, 2014: Removed Forth, a
dded Erlang.
April 4, 2014. Added TypeScript.
February 5, 2014. Added Scala.js among languages compiled to JS.
January 22, 2020. Removed Rebol, Smalltalk and Clojure. Added Rust, Swift, WebAssembly, Kotlin, R and Elixir.