A new season of the podcast Command Line Heroes launched today. I've grown to enjoy this series for both its deep storytelling and its excellent host, Saron Yitbarek. They also dive into fantastic themes, and this year is all about programming languages.
The first episode of the new season explores Python, the language I've been spending more time on for data sciencey reasons. As a newer convert, I've wondered where the language, which is approaching its 30th anniversary, is headed. This episode dives into the history of the language Python and shares a number of tidbits I hadn't heard about:
- The inspiration for the Python programming language (to fill the "space between C and shell scripting")
- How the language evolved due to community contributions, including its famous Zen practices
- More on the design of Python and how it is "extensible at its core" and "hackable" at runtime
- And the major news, about Python's BDFL (Benevolent Dictator For Life), Guido Van Rossum, stepping down
Leadership models in open source
There is a lot to unpack about benevolent dictatorship as a community model. I appreciate the clarity of direction and purpose you can achieve with a BDFL in the early and uncertain stage of development, but I recognize it has significant downsides, especially when it comes to biases. It also seems to be a strategy that sounds good until it doesn't work. My favorite quote from this "Command Line Heroes" episode speaks to that point:
"So, an enormous, engaged community formed around Python. But Van Rossum wasn't necessarily prepared for that. Dictators—even the benevolent kind—often aren't prepared when crowds start knocking at their gates."
These are powerful lessons from a community contribution standpoint about growing up and how evolution results from necessity. There are excellent resources on this topic available on Opensource.com, thanks to the work of The Open Organization, especially about leadership and ownership.
If you'd like to learn even more about Guido stepping down and what this means for Python's governance model, check out The Changelog podcast's recent conversation with core team member Brett Cannon.
What does this mean for Python?
There is a bright future for Python, even with all of these changes happening.
According to StackOverflow's 2019 Developer Survey, it's the second most loved language and in first place for most wanted. StackOverflow defines "wanted" in this way:
"Python is the most wanted language for the third year in a row, meaning that developers who do not yet use it say they want to learn it."
Python's popularity stems from its usefulness. It really did fill the niche between C-like languages and shell scripting. The data science community has done a lot to make Python adoption a hockey stick of growth. For example, this Command-Line Heroes episode mentions a machine learning model trained using just 15 lines of code. The practical value of something that simple is difficult to challenge.
I find Python to be a thoughtfully opinionated language, and its ecosystem—especially JupyterLab—keeps me curious. It also doesn't force users to understand the deep details of assemblers, compilers, and (arguably important) details. For those interested in the nitty-gritty details, CPython provides an extension point into other programming languages that adds to the versatility. I think "Command Line Heroes'" Saron nails the punchline when she talks about how a hobbyist can run a couple of commands and get a pretty graph, while Instagram can be built from the ground up using the exact same programming language.
Python's broad audience and a wide variety of use cases seem to be enough to make it a big deal moving forward. Is it enough to get past the challenges of Python configuration? Time will tell.
The podcast episode's other theme is how the Python community is huge, diverse, and welcoming. The community was an early adopter of a broader conceptualization of contribution that included non-code contributions. Documentation, running conferences, and promoting diversity all confer "membership" status. That kind of thinking around community design is sure to pay off in the long run.
Command Line Heroes will cover programming languages for all of season 3. Subscribe here so you don't miss a single one, and I would love to hear your thoughts in the comments below.