What’s Driving Python’s Massive Popularity?

Earlier this month, Python moved into the number one slot in the TIOBE Index, marking the first time in 20 years that a language named C or Java wasn’t at the top of the list. It’s a nice feather in Python’s cap, and marks the peak of the language’s reach. But what’s behind Python’s awesome success?
Python started out modestly enough, as a hobby to keep Guido van Rossum busy through the 1989 holidays. Little did he know he was unleashing a programming language that would have a lasting impact on a segment of the IT world for more than 30 years.
Van Rossum’s created Python to be an interpreted general purpose programming language. His original design goals for Python were that it would be an easy and intuitive language to learn, as understandable as plain English, suitable for everyday tasks, and open source.
The legacy of those designs goals is plainly evident when one talks with members of the Python community, which is an increasingly wide group of individuals who are using Python for a wide variety of things. While the programmers ostensibly are writing Python for work, one gets the feeling that they get real enjoyment out of it.
“I chose Python because it was a language that was fun to code in,” says Calvin Hendryx-Parker, the CTO and co-founder of Six Feet Up, a Fishers, Indiana-based consultancy that does a lot of custom Python coding.
“I enjoy it because it’s not doing just grunt work,” he continues. “It’s all very innovative and creative. It’s more of a craftsman-style skill. Engineers build the same thing day in day out, but craftsman have to solve problems in creative ways because the environment around them is constantly moving.”
Six Feet Up was founded to build custom Web applications, but customers throughout the Midwest are increasingly tapping the firm for help with bringing big data projects to production. While Python isn’t the only language involved in these projects, they typically do involve a healthy dose of everybody’s favorite scripting language.
“What’s nice is a lot of the big data tooling is starting to be built in Python,” Hendryx-Parker says. “It’s this kind of lingua franca for all things data.”
The Python data ecosystem is wide and growing. From the Python wrappers for Keras and TensorFlow to machine learning packages like scikit-learn and NumPy, from Python interfaces for Spark and Dask clusters to experimenting with code in a Jupyter notebooks or Pandas, data scientists and engineers can do practically anything they need without leaving Python’s comfortable syntax.
The flexibility of Python is front and center forPrefect, a Washington, D.C.-based company that develops a data pipeline tool based on Python. According to Prefect CTO Chris White, Python is the perfect tool for the job.
“At a high level, our design sensibility is sensible defaults but deeply configurable, so you can kind of get something running really quickly if you really want to, but when you really want to get in the weeds, you can also do that,” White says. “Python really helps us achieve that goal, because at the end of the day, Python is a very flexible language. You can write a script. You don’t need to know what compiling means or anything. You just write a script.”
It all points back to van Rossum’s design ethos for Python, which was simplicity over complexity. The barrier to entry for Python is incredibly low, thanks to its imminent readability. That allows Prefect to use Python with its junior coders and more experienced programmers alike.
“It’s one of the few languages, at least I know of, that can be used as a raw scripting language. You just run it. You don’t have to know anything else,” White says. “So it’s very accessible. and then of course you can package things up. You can write C extensions and things like that.”
Speaking of C, performance is not one of Python’s strengths. That is one of the tradeoffs for imminent flexibility and approachability.


