
If you have already mastered a programming language, you may be considering further learning. In this article we will suggest which second programming language to learn from your initial skills.
The criteria will be simple: we suggest, for each case, a language very different from the one you already know, so that you can get the most out of your training.
But first, a brief introduction.
Classification of programming languages
In order to properly suggest which language you can learn, we have taken into account several variables. This isn’t all of them but there are enough to be able to characterize each type of language:
Virtual machine vs. native execution
Strong typing vs. duck typing
C-style syntax vs. other programming languages
Functional vs. imperative
Modern vs. older
Web Related – Not related
Criteria for defining which second language to learn
To maximize effort and work, we suggest the most different option as a second language to learn. From the variables previously mentioned, if your initial language is for example C, surely you will be suggested Python, having multiple different elements.
Which language to learn
We have taken into account a set of predominantly used programming languages. Logically, not all of them are there. In each of the points you will find two or more suggestions of variants that you can be interested in if you want to continue learning. And at the same time it is a challenge for you.
If you have already mastered Javacript
Haskell
C
Go
If you have already mastered Java
Clojure
Perl
Haskell
If you already know PHP
Haskell
C
Go
If you have already mastered Python
C
Go
Swift
If you have already mastered C#
Clojure
Perl
Haskell
If you have already mastered C++
Clojure
Python
Ruby
If you have already mastered Ruby
C
Go
Swift
If you have already mastered C
Clojure
Python
Ruby
If you have already master edPerl
Scala
Go
Swift
If you have already mastered Haskell
Javascript
Php
Go
If you have already mastered Swift
Clojure
Python
Ruby
If you have already mastered Visual Basic
Go
Clojure
If you have already mastered Groovy
C
Go