Java is a top language for AI and ML developers, says research study

December 17, 2021 | 4 minute read
Alan Zeichick
Editor in Chief, Java Magazine
Text Size 100%:

Java is used by more than 37% of developers, falling only slightly behind JavaScript, Python, and C/C++.

Download a PDF of this article

Ask a random software developer, “Which is the best language for developing machine learning applications, and you’ll probably hear the answer, ‘Python.’” And indeed, Python has a well-earned reputation for excellence in AI and ML programming. It’s treated almost as the default for that discipline.

However, Python isn’t the only game in town, especially in applications where the AI or ML component represents only a small portion of the tasks. In those cases, developers may choose to implement the application entirely in another language—such as JavaScript (where appropriate), C/C++, or Java. Alternatively, the application architecture might compartmentalize the AI/ML tasks in Python and do the rest in another language.

Evans Data, a research firm in Santa Cruz, California, recently published an extensive study on AI and ML that involved 384 in-depth interviews conducted in English with qualified AI and ML developers worldwide. According to Evans Data, this study provides a margin of error of 5.0%—a figure that will be relevant shortly. (Oracle and Java Magazine were not involved in any way with this study, but I was provided the results by Evans Data after the research was complete. I have been reporting on Evans Data’s research since 1999.)

The key top-level finding is in the response to this question: “Which programming languages do you use most in artificial intelligence or machine learning development?” Respondents could choose as many as three languages.

The results

JavaScript: 42.9%
Python: 42.6%
C/C++: 41.0%
Java: 37.8%
Objective-C/Swift: 25.7%
C#: 20.6%
Ruby: 20.1%
Go “golang”: 17.2%
R: 9.7%
Other: 0.5%

Notice that the range of the top four language responses—JavaScript, Python, C/C++, and Java—falls essentially into the 5% margin of error. The other answers, well, not so much.

About these results, Evans Data’s analysis observes that many domain-specific languages address various hardware, software, and data management needs for programming AI or ML applications. “Since AI and machine learning have been around for a significant timeframe in terms of the tech world, common languages and non-traditional languages can both be used to develop AI projects,” the study says.

The study observes that while developers use multiple languages to tackle AI and ML projects as part of a polyglot environment or to meet specific needs with certain projects, it is important to understand the languages developers use most often to plan future projects.

What’s the story with JavaScript? It doesn’t seem to fit the description of an AI/ML application development language. Evans Data’s comment is that JavaScript addresses tasks at both the client and server, and it has been included in various workloads for nonbrowser applications. Therefore, according to Evans Data, “Developers often engage in new tech disciplines using what they know, and JavaScript is almost universal among scripting languages.”

Which libraries?

While my focus here is on languages, the Evans Data research also asked, “Which of the following math or scientific libraries do you currently use or have you used for your machine learning or deep learning projects?”

This question allowed the interviewees to choose as many responses as they wanted. The following, in order of their use, are the libraries chosen most frequently; all were used by at least one-third of respondents.

To me, the curious point is that there was no single overwhelming favorite—and if asked, I would have guessed NumPy would be at the top of the chart. I would have been wrong.

Conclusion

Developers use lots of languages, often choosing the language for a specific task based on a number of factors, including personal familiarity, team familiarity, tools availability, corporate style, available libraries and frameworks, platform compatibility, and many others besides.

It should not be a surprise that Java did not appear at the top of the languages used for AI/ML applications. It should also not be a surprise that Java appeared near the top. Often, as you know, Java is the best choice.

Dig deeper

Alan Zeichick

Editor in Chief, Java Magazine

Alan Zeichick is editor in chief of Java Magazine and editor at large of Oracle’s Content Central group. A former mainframe software developer and technology analyst, Alan has previously been the editor of AI Expert, Network Magazine, Software Development Times, Eclipse Review, and Software Test & Performance. Follow him on Twitter @zeichick.

Show more

Previous Post

Binary bit manipulation and CAN bus hardware interfaces in Java

Eric J. Bruno | 18 min read

Next Post


Making a case for a commercial offering of open source–based software

Brad Shimmin | 5 min read