You are on page 1of 3

Java Magazine

Java Magazine

Survey

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


research study
Alan Zeichick | December 17, 2021
Editor in Chief, Java Magazine

   
Java is used by more than 37% of developers, falling only slightly behind JavaScript,
Python, and C/C++.
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.

Intel Math Kernel Library (Intel MKL)


AMD Math Library (LibM)

NVIDIA cuDNN

Apache Spark MLlib


Qualcomm Math Libraries

NumPy

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
How to program machine learning in Java with the Tribuo library

Book review: Machine Learning: Hands-on for Developers and Technical Professionals, 2nd Edition
Artificial intelligence (AI) and machine learning (ML) for developers

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.

 Previous Post Next Post



Binary bit manipulation and CAN Making a case for a commercial
bus hardware interfaces in Java offering of open source–based
Eric J. Bruno | 18 min read software
Brad Shimmin | 5 min read

2021 © Oracle Site Map Privacy / Do Not Sell My Info Cookie Preferences Ad Choices Careers

You might also like