Which Programming Language to Choose for Machine Learning

Date: Nov 1, 2022

What programming language should a developer learn to get a job like machine learning or data science? This is a very important question. We have discussed it on many forums. Now, I can provide my own answer and explain why, but let's look at some data first. After all, this is what machine learners and data scientists are supposed to do: look at data, not opinions.

Let's look at some data. I'll be using trending searches on Indeed.com. It can search for specific terms in actual job offers based on time. This shows that employers are looking for people with this skill. Note, however, that this is not a poll to use skills effectively. This metric is a better indicator of how popular a skill is.

Without further ado, let's get to the data. I searched for skills that work with "Machine Learning" and "Data Science", with search options including programming languages ​​Java, C, C++ and JavaScript. Then also included Python and R, because we know it's popular in machine learning and data science, and of course Scala, given its relationship to Spark, plus Julia, which some developers see as "the next big thing". Running this query, we get the following data:

write picture description here

When we look at machine learning, we get similar data:

write picture description here

What can we learn from these data?

First of all, we see that it is not one-size-fits-all. In this context, various machine learning programming languages ​​are popular.

Second, all of these programming languages ​​are experiencing dramatic growth, reflecting the dramatic increase in enterprise interest and demand for machine learning and data science over the past few years.

Third, Python is the clear leader, followed by Java, then R, then C++. Python's lead over Java is increasing, while Java's lead over R is declining. I must admit, I was surprised to see Java coming in second; I was expecting R.

Fourth, Scala's growth has been impressive. It was almost non-existent three years ago, and now it's almost on the same level as these full-fledged programming languages. This is easier to spot when we switch to a relative view of the data on Indeed.com.
write picture description here

Fifth, although the popularity of Julia is not obvious, there is definitely an upward trend. Will Julia become a popular machine learning and data science programming language? The future will tell you.

If we ignore Scala and Julia in order to be able to focus on the growth of other programming languages, then we have no doubt that Python and R are growing faster than general-purpose languages.

write picture description here

Given the difference in growth rates, R may soon surpass Java in popularity.

When we focus on the problem of deep learning, the data is quite different:

write picture description here

At this point, Python is still the leader, but C++ is now second, then Java, while C is fourth and R is only fifth. There is a clear emphasis on HPC languages ​​here. Java is developing rapidly. It can reach second place very quickly, just like machine learning in general. The R won't be near the top anytime soon. What surprises me is the absence of Lua, even though it is used in one of the major deep learning frameworks (orch), and Julia doesn't exist.

At this point, which language is the most popular programming language? The answer should be clear. Python, Java, and R are the most popular skills when it comes to machine learning and data science jobs. If you want to focus on deep learning rather than machine learning in general, then, to some extent, C++, C are also worth considering. However, keep in mind that this is just one way of looking at the problem. If you're looking for a job, or you just want to learn machine learning and data science in your spare time, you might get a different answer.

What about my personal answer? Besides being supported by many top machine learning frameworks, Python is a good fit for me because I have a computer science background. I'd also be comfortable developing new algorithms since I've programmed in this language for most of my career. But that's me, people from different backgrounds may feel better in another language. A statistician with limited programming skills would definitely prefer R. A strong Java developer can use his favorite language because there is a large number of open source Java APIs. Similar examples are available for any of the languages ​​on these diagrams.

Therefore, my advice is, before spending a lot of time learning a language, decide which programming language to choose according to your own situation, and remember to never follow suit.

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone Contact Us