My responses ended up being included in an article at ITPro Today (June 27, 2019). Extent of verbatim quote highlighted in orange, paraphrased quote highlighted in gray. Above image from cited article.
The responses I provided to a media outlet on February 27, 2019:
Media: Facebook's chief AI scientist recently said that a more flexible and easier programming language, versus Python, for deep learning is needed. Yann LeCun also discussed the need for new hardware to support self-learning for deep learning systems. Would a more accessible programming language, or one that simply adds another option for deep learning development, help to bring more potential AI/ML staffers into the fold? The idea could hold some appeal for firms looking to jump into the AI pool but finding the staffing levels shallow. If such an idea does make sense, how can organizations be convinced to move away from Python?
Gfesser: The opening question here is about staffing shortages specific to machine learning, but what LeCun had to share seems mainly focused on the technology.
LeCun commented that "there are several projects…to kind of design such a compiled language that can be efficient for deep learning, but it’s not clear at all that the community will follow, because people just want to use Python."
The reality is that hundreds of programming languages exist, but only a relatively small subset are commonly used in industry. And when these commonly used languages are filtered for use on data analytics projects, only a handful remain.
And languages which find favor (and find favor for specific uses) within the development community change over time. While Python has been around for decades, it has only gained widespread popularity in just the last few years.
In prior years before Python gained favor, proprietary commercial packages reigned alongside the R language for quite some time. When I chose a language to use for a data analytics project in 2012, I chose R, but just within the space of a couple years Python started gaining a foothold for this type of work. I am using R alongside Python on a client project right now, but the bulk of the new code we are writing is in Python.
Notice that I'm not even talking about technology benefits and drawbacks here: I'm talking about popularity. Yes, there are technical reasons why languages become popular, but in the case of Python much of the popularity is due to its status as a general purpose language, not a language built specifically for statistics like R, which tends to be favored by academics and not industry professionals. And in the early years of the 2010s, open source frameworks such as Pandas started to be developed by the community which provide much of the same functionality as languages such as R which are not as intuitive to use.
When LeCun mentions the possible need for "compiled languages", it is a bit distracting because interpreted versus compiled is a broader discussion. I think the intent here was to address relative performance of programming languages, in which case he probably has a point. But the history of programming languages shows us that the "best" languages often do not win, and "best" is a relative term that depends on the goals of those using a given programming language. Often what is right for some is not right for others.
The GitHub Octoverse report cited by this article mentions that Python is the most commonly used language used in GitHub repositories tagged "machine learning", but look at the other languages listed for this tag: a relatively new language used for analytics called Julia is #6, and all languages above it in the list are general purpose languages. Will Julia ever take hold of an increasingly large market share of languages used for machine learning? My bet is against it, as Python beat it to the punch. Is it more elegant? Is it more performant? Perhaps, but developers generally don't want to learn multiple languages to get the job done: this is where Python enters the picture.
Sure, there is room for more languages, but there will need to be viable reasons to broadly adopt, and these will likely need to fit within the realm of general purpose rather than specialty. The exception being that if automated ML begins to take hold on a large scale, and these new languages are used to build the services providing the automated ML, developers will not necessarily need to learn these new languages since they will be constrained to black boxes that developers will just need to call with general purpose languages such as Python, which in the view of many developers is already an accessible programming language.
See all of my responses to media queries here.