For developers, what programming language can be easier to find machine learning or data science work?
This is a matter of concern to many people, very practical, but also in many forums have been repeatedly discussed. Very significant is "Python is a big trend" this argument, it seems that it is about to dominate the field of machine learning the world. So in the end this argument a bit fact?
First of all, it should be noted that most of the discussion of programming languages are more subjective.
For example, some developers (especially beginners) because of a language is a feature in line with their habits, with the most smoothly, the language of the mad praise, and the advantages of other languages, selective blindness . The IBM Developer Forum article, then try to avoid the subjective judgments, with the data to show the development of the language in the industrial sector of the actual use, can be said to be very rare. After all, the core of statistical learning is to use data to speak. AI developers should be more aware of reliable data than the value of subjective speculation.
Gossip less, we take a look at 2016 development of language usage statistics, in the end which language the fastest rise in the number of users? Which are the top few?
Figure 1: Employer recruitment index comparison across languages in machine learning and data sciences
As shown, this is the use of the US job search engine indeed.com out of the machine learning, data science recruitment trends: the development of these areas of programming language requirements listed in the post statistics. It shows which language skills employers and employers are looking for. But note:
We can clearly see that the US employers need most of the top four language ranking is Python, Java, R, C + +. Among them, Python in 2015, surpassed Java jumped to first.
Then, the search results are limited to the machine learning area (remove the data science), the data is almost:
Figure 2: Employer recruitment index comparison for each language in the machine learning domain
Lua is included in this line chart, but because of its low number of recruiting positions, the line representing Lua coincides with the coordinate axis.
What can we infer from these two sets of data?
Python is the market leader, as the most popular machine learning language deserved. In addition, the gap between Python and Java is being pulled. But the gap between Java and R is being narrowed. Lei Feng network was informed that the industry's second home language is Java rather than R surprised. Often, the subjective experience is that in addition to Python, the most common use of R-language machine learning applications.
Python does not become dominant. Recruitment needs of the mainstream language are many. For minority languages such as Lua and Julia, the demand for the industry is really small, but other languages have a considerable proportion.
After 2016, the market for all language needs are rising sharply. Python does not have a significant gap with other languages. This demonstrates the industry's interest and focus on machine learning and data science as a whole in the last year.
Scala's growth after 2014 is staggering. By 2014, there was little demand for recruitment. But after that year has been steady growth. In 2016, it caught up with Javacript, reaching the level of the mainstream language camp.
As a good new word of mouth, Julia's popularity is still very low. But in the second half of 2016 has been a huge increase. Now it is not clear whether it will become the mainstream language.
On the growth trend of Scala and Julia, in their growth rate line chart, we can clearly see:
Figure 3: Scala, Julia, Lua Employer recruitment in machine learning, data sciences Index growth rate
Then, when we omit Scala, Julia, and Lua, we can see that the growth rates of Python and R far outpace those of other mainstream languages:
Figure 4: Employer recruitment growth rates in machine learning and data sciences, mainstream languages
R's growth rate is always higher than Python, ranked first, it is far more than Java. In the foreseeable future, R will not only disappear, but also become more popular mainstream machine learning language. Therefore, that "Python is the future trend" is definitely not right.
However, when we focus on the field of segmentation "deep learning", the data becomes very different:
Figure 4: Employer recruitment index comparison for each language in the depth learning area
In the depth of learning the market, the recruitment of Python is still the highest demand. But the order of the top five languages into Python, C + +, Java, C, R. There is a clear focus on high performance computing languages. Moreover, Java's phenomenal growth rate, it may soon become the second most in-depth study of the market. In the foreseeable future, R will not become the most popular in-depth learning language. Surprisingly, Lua's presence is low. You know, one of the open source giant Torch is based on Lua, many developers will therefore think it in the depth of learning the market occupies a special position.
For the question at the beginning of the article - mdash; mdash; employers need to master the language of the developer, the answer has been very clear:
In the machine learning and data science markets, Python, Java, and R have the greatest recruitment needs;
In the depth of learning, Python, Java, C + + and C are more companies.
But readers of Lei Feng Network, please note that this is only the recruitment needs of private companies. The preferences of academic researchers will be very different. In addition, self-AI amateur, not intended to make a living in this line, do not need too much care about these data.
As for the original author of the article's personal point of view (Lei Feng network again remind: Please note that the "personal" point of view, only for your reference), he is more inclined to Python. There are two reasons: 1. Python-based top machine learning framework to choose more. 2. From the computer professional background, Python logic is more suitable. In contrast, R language is more suitable for statistical, mathematical background of the developer. In addition to Python, the author is more inclined to use C + +, because he used C + + to write code to write the rest of his life, have been accustomed to. Other people, new people may be more suitable for learning other languages. For example, the statistical background of writing code is not deep developers usually use the R language more smoothly. Experienced Java developers can then use Java, in particular, there are so many open-source Java API.
To sum up, or procedures apes personal learning, development experience, and knowledge of the background of his language preferences. Few people can read all the mainstream language, even if only a few languages, it may not be in each door of the development experience is deep enough. Therefore, the old driver of the language of the new developers are recommended with a strong subjective color. Even with this presentation-oriented article, there are subjective limitations: Matlab / Octave and Lisp, which are not covered. This is due to the fact that the author does not have full access to the three languages. While the AI Daniel Wu Dawn of the proposal is to choose the Novart Novart or Matlab start.
For the new entry, are hesitant to choose which language technology house, the key is to put in a lot of time before listening, more, more understanding; compare different people's point of view, choose the most suitable for their own. Lei Feng network and its annual review of AI technology channels for new and old technology updates the development of the article, as well as tracking AI major news events, interested can be concerned about the public number.
For more information on the machine learning programming language, please refer to the previous issueIntroduction to machine learning to learn the six major development languages.