The following is an excerpt from my book, Python Interviews
Sebastian Raschka received his doctorate in Quantitative Biology and Biochemistry and Molecular Biology in 2017, from Michigan State University. Sebastian is the bestselling author of Python Machine Learning, which received the ACM Best of Computing award in 2016.
Driscoll: Python is one of the languages that is being used in AI and machine learning right now. Could you explain what makes it so popular?
Raschka: I think there are two main reasons, which are very related. The first reason is that Python is super easy to read and learn.
I would argue that most people working in machine learning and AI want to focus on trying out their ideas in the most convenient way possible. The focus is on research and applications, and programming is just a tool to get you there. The more comfortable a programming language is to learn, the lower the entry barrier is for more math and stats-oriented people.
Python is also super readable, which helps with keeping up-to-date with the status quo in machine learning and AI, for example when reading through code implementations of algorithms and ideas. Trying new ideas in AI and machine learning often requires implementing relatively sophisticated algorithms and the more transparent the language, the easier it is to debug.
The second main reason is that while Python is an easy language itself, we have a lot of great libraries on top of it that make our work easier. Nobody would like to spend their time on reimplementing basic algorithms from scratch (except in the context of studying machine learning and AI). The large number of Python libraries which exist, help us to focus on more exciting things than reinventing the wheel.
By the way, Python is also an excellent wrapper language for working with more efficient C/C++ implementations and CUDA/cuDNN, which is why existing machine learning and deep learning libraries run very efficiently in Python. This is also super important for working in the fields of machine learning and AI.
To summarize, I would say that Python is a great language that lets researchers and practitioners focus on machine learning and AI and provides less of a distraction than other languages.
Driscoll: So is Python just the right tool at the right time, or is there another reason that it’s become so important in AI and machine learning?
Raschka: I think thatâ€™s a bit of a chicken or the egg problem.
To untangle it, I would say that Python is convenient to use, which led to its wide adoption. The community has developed many useful packages in the context of scientific computing. Many machine learning and AI developers prefer Python as a general programming language for scientific computing and they have developed libraries on top of it, like Theano, MXNet, TensorFlow and PyTorch.
On an interesting side note, having been active in the machine learning and deep learning communities, there was one thing that I heard very often: “The Torch library is awesome, but it is written in Lua and I don’t want to spend my time learning yet another language.” Note that we have PyTorch now.
Read the rest interview in the book. You can get 40% off when purchasing from Packt’s website by using the following code: PIMD40. This code is good until March 16th, 2018.