Top 43 Programming Languages: When and How to Use Them

Dave Swersky on November 12, 2018

There are many programming languages to choose from. The TIOBE Index is a list of programming languages, ranked in order of popularity. This articl... [Read Full]
markdown guide

I'm surprised Elixir didn't make the cut! As per me, it's more popular and useful than some of the entries here. ๐Ÿค”


Well a few of them didnโ€™t. I canโ€™t search this page on mobile, but I think Clarion, ML, Smalltalk, Script#, and DOS Batch didnโ€™t make it either. However, it is still a very comprehensive read.


Ohh yeah. Clarion was cool. Unfortunately the people at TopSpeed (coming from Borland Turbo Pascal team) did same mistake with the language as Borland did. They made it commercial instead to open it to the community. Many concepts from clarion has been very sexy (interactive templates, data dictionary, :=: operator ๐Ÿ˜‰)
I learned much in early 90s in the XBase area. The success of open source and the rapidly growing java ecosystem (especially at backend) changed the way we see programming... now Node and JS seem to rule the world. Funny times ๐Ÿ™‚


AFAIK it didn't make the cut in the latest TIOBE index because of some criterias.


[...] because of some criterias

Such as?

I was wrong, it was actually considered but didn't make to the top 43.

I assumed it didn't fall into because it wasn't in the top 100 in a recent listing (was #104).


Top 43 Programming Languages: When and How to Use Them

Having read this, I'm not sure that I understand when and how to use any of these languages from the information provided.

In addition, some of this information seems misleading or wrong to me - i.e.

Java's syntax is similar to C/C++, with curly braces for closures

NodeJS is a web server

JavaScript frameworks including React ... offer a Model-View-Controller application development paradigm


I am surprised with the description of Kotlin.
It should be noted that it can be used for web development (increasing in popularity) and for embedded systems with kotlin native as well, not just mobile. It is a very young language that made it into the list in record time. It offers the JVM but with a much more pleasant experience for developers, and at the same time with extra security checks on your code thanks to nullability and mutability support. Increasing in popularity, a worth language to learn for your career


I actually work using Kotlin for webdev on large, non-trivial projects. It's good - and it's definitely not just for Android.


Thanks! This article was fun to read.


I'm suprised there is no

  • Elixir
  • Erlang
  • OCaml

And while there is really non-known languages in list...


Suprised to see VB.NET so high in the list!


You'd be surprised to see how many VB.NET and VBA applications are around and in dire need of developer teams.


as Cobol is still alive and kicking, I'm not surprised of anything anymore :D


I wouldn't say that lisp and scheme are difficult to learn. They are one of the easy ones to learn.


I'm surprised to see Lisp dialects considered "difficult to learn" (vs Java "moderate to difficult) with "verbose syntax" ?


Yeah... I mean, how hard is it to remember the single type of parenthesis that Lisps use? As opposed to ascii pot-pourri of most other languages.

Reminded of:

Compilation started at Wed Nov 14 12:42:13

make -k parens

fact.lisp             20 parentheses, braces, brackets, angle-brackets ,semi-colons, commas
fact.c                31 parentheses, braces, brackets, angle-brackets ,semi-colons, commas

==== fact.lisp ====
(defun fact (x)
  (if (zerop x)
      (* x (fact (1- x)))))
(format t "~%~D! = ~D~%" 42 (fact 42))

==== fact.c ====
#include <stdio.h>

int fact(int x){

int main(){
   printf("\n%d! = %d\n",42,fact(42));

Compilation finished at Wed Nov 14 12:42:13

And yet, this is C with lisp style. In any project with coding guidelines, you'd have to write:

   return (1);
   return (x*fact(x-1));

increasing the count of braces...

Not that I want to play parenthesis golf with you...

(defun fact (n) 
  (loop for i from n downto 1
        for x = n then (* x i) 
        maximize x))

(maximize is definitely a bit of a hack - should really be finally (return x) but that'd be another pair of parens)


Haskell is rather difficult to learn.

In my experience it's not more difficult than JavaScript. JavaScript is even harder to learn, because you have to learn different versions of it (the old JS and the new one).


"Perl was introduced in 1987 as a utilitarian scripting language, evolving from CGI scripting"

You might want to check your timeline there. CGI programming wasn't invented until the mid-90s. Perl had almost ten years of being the default go-to "glue language" for Unix sysadmins before it became the defacto standard for CGI programs.


I apologize, Dave, I just posted the same rebuttal, with Wikipedia links; I didn't see this.


"Perl was introduced in 1987 as a utilitarian scripting language, evolving from CGI scripting."

Perl was introduced by Larry Wall in 1987. (en.wikipedia.org/wiki/Perl#Early_v...)

CGI wasn't a 'thing' until 1993.(en.wikipedia.org/wiki/Common_Gatew...)


Good article, thanks! I think that programming language is not like a tool. Editor, IDE, compiler, debugger are tools. Programming language is like the material - like you build your bridge out of concrete or metal or wood.


I needed to read something like this. Very useful, thank you a lot for writing it! Iโ€™ve bookmarked it and will read it in more detail soon ๐Ÿ™๐Ÿป


It's pleasant to see another person who agreed with me that Delphi is totally dead. Something that it's programmers don't want to admit.

Even though it's already dead, the IDE is still super expensive, and the company have to intention to reduce it's price for the foreseeable future; in the the age where almost all IDE / code editors are free. How smart they are.


I would have thought PowerShell would have made this list.


AFAIK Kotlin does not compile to JavaScript, but to Java-bytecode and runs in JVM.


Also Native compilation is in the works (beta I think? Maybe GA by now, haven't looked in a while and too lazy to go now.)


Scroll scroll Ahhh.. Java...
Scroll scroll Yeyyaa Python FTW :)

Nice work on getting info out there, info is pretty accurate.


Great article. I just wish to add that MATLAB is actually a mathematical and engineering systems modeling language. It is most popular in engineering especially mechanical and electrical and in academia. It is used anywhere you find high-level or cutting edge research being conducted. There are several popular alternatives for this kind of use: Mathematica, Maple, and MathCAD.


PowerShell is cross-platform and open source. It runs everywhere.


As an ABAP developer, your brutal honesty hurts ;-)


I really enjoyed perusing through this! I didn't realize the popularity of Python, and I'm glad I decided to dabble in it as I'm learning JS. Thanks for great read and references!

Code of Conduct Report abuse