DEV Community

Cover image for Top 43 Programming Languages: When and How to Use Them

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...
Collapse
 
gypsydave5 profile image
David Wickes

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

Collapse
 
angelolloqui profile image
Angel G. Olloqui

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

Collapse
 
gypsydave5 profile image
David Wickes

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

Collapse
 
theoutlander profile image
Nick Karnik

Thanks! This article was fun to read.

Collapse
 
lyfolos profile image
Muhammed H. Alkan • Edited

I'm suprised there is no

  • Elixir
  • Erlang
  • OCaml

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

Collapse
 
theodesp profile image
Theofanis Despoudis • Edited

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

Collapse
 
rhymes profile image
rhymes

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

Collapse
 
chasimakopoulos profile image
Charalampos Asimakopoulos

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

Collapse
 
rhymes profile image
rhymes

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

Collapse
 
theoutlander profile image
Nick Karnik

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.

Collapse
 
seimic profile image
seimic • Edited

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 🙂

Collapse
 
antonrich profile image
Anton

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).

Collapse
 
grahambeer profile image
Graham Beer

I would have thought PowerShell would have made this list.

Collapse
 
qfjr profile image
qfjr

Powershell is a scripting language:
(docs.microsoft.com/en-us/powershel...)

Collapse
 
qfjr profile image
qfjr

Powershell is a scripting language:
docs.microsoft.com/en-us/powershel...

Collapse
 
reg__ profile image
Adam Sawicki

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.

Collapse
 
matthewpersico profile image
Matthew O. Persico

"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...)

Collapse
 
davorg_90 profile image
Dave Cross

"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.

Collapse
 
matthewpersico profile image
Matthew O. Persico

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

Collapse
 
davorg_90 profile image
Dave Cross

The more the merrier :-)

Collapse
 
ondrejs profile image
Ondrej

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

Collapse
 
senyordeveloper profile image
Jaume Prat
Collapse
 
skittishsloth profile image
Matthew Cory

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.)

Collapse
 
rhnonose profile image
Rodrigo Nonose

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

Collapse
 
danielwu profile image
Daniel Wilianto

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.

Collapse
 
that__anna profile image
Anna

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 🙏🏻

Collapse
 
julesmanson profile image
jules manson • Edited

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.

Collapse
 
esayreum profile image
Errol Sayre

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

 
grahambeer profile image
Graham Beer
Collapse
 
saint4eva profile image
saint4eva

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

Collapse
 
alciarro93 profile image
Alessio Ciarrocchi

Very well-done list ;-)

Collapse
 
joehobot profile image
Joe Hobot

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

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

 
rhnonose profile image
Rodrigo Nonose

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).

Collapse
 
bananabrann profile image
Lee • Edited

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!

Collapse
 
gypsydave5 profile image
David Wickes

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:

Collapse
 
ogamita profile image
Pascal Bourguignon • Edited
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)
      1
      (* x (fact (1- x)))))
(format t "~%~D! = ~D~%" 42 (fact 42))
(quit)

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

int fact(int x){
  return((0==x)?1:(x*(fact(x-1))));}

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


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:

if(0==x){
   return (1);
}else{
   return (x*fact(x-1));
}

increasing the count of braces...

Thread Thread
 
gypsydave5 profile image
David Wickes • Edited

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)