I have organized programming languages in 6 categories each containing top 5 most popular languages. This was a research project I have done in 2017 using Google+ surveys. I will try to update this top every year using Twitter. So you can follow me and vote when I post articles about it.

Note: Programming Languages are synonym with Computer Languages. We use them to create programs for computers but also for other devices that are not computers so the most correct term is Programming Languages.

Best Programming Languages

A: First class compiled languages

These are very good languages for creation of native applications. These languages have a compiler for one or more operating systems. These languages have in general static types except Julia that have dynamic types that are converted to static types just in time.

  1. Rust – Mozilla native language;
  2. D – disruptive native language;
  3. Julia – dynamic language from MIT;
  4. Go – default for Google cloud;
  5. Swift – specific to Apple OS;

B: Traditional compiled languages

  1. Assembly – second generation language;
  2. C/C++  This is the king of computer languages;
  3. FORTRAN – fast language created by IBM
  4. Ada – very robust language designed for US army
  5. Pascal/Delphi  – my first computer language;

C: Virtual machine or interpreted

  1. JavaScript – default language for web;
  2. Python – the most easy to learn language;
  3. Java – open source language created by SUN and maintained by Oracle;
  4. C# – default language for Microsoft Visual Studio;
  5. Erlang – a parallel computing language easy to learn and very fast.

D: Java Virtual Machine (JVM)

  1. Scala – this is also a functional language;
  2. JRuby – a dynamic language derived from Ruby;
  3. Groovy – a dynamic language for website back-end;
  4. Jyton – a Python dialect that can run in JVM;
  5. Kotlin – a new computer language ver nice created by Jetbrains company;

E: Dynamic Languages

  1. Python – a very popular dynamic language;
  2. Julia – is a new dynamic language similar to Python but faster;
  3. Lisp – a functional language that is very dynamic;
  4. Ruby – a language created for dynamic website back-end;
  5. Perl – a scripting language created for command line and back-end programming;

F: Functional languages 

  1. Scala – this is mentioned second time here so it is a functional language for JVM;
  2. Haskell – this is the most pure functional language similar to OCaml;
  3. OCaml – one of the first functional languages;
  4. Closure – this is a functional language similar to Lisp that run in JVM;
  5. F# – this is a functional language for Microsoft Visual Studio;

Some other languages we have left out:

Visual Basic, PHP, VBScript, DBase, Cobol, Algol, Modula-2, Forth, PL-1.

Note: We can’t cover all languages in our courses. Some of these languages we have left out and we do not recommend learning. These languages are not very good. Sometimes I use PHP for this website but not much. I have used VBScript and Visual Basic for a while but I’m not familiar with the rest and I think they are going to fade in time.