The Complexity of Simplicity
Quoth the Zen of Python: “Simple is better than complex”.
The Python community has long celebrated simplicity as a virtue, but Python has grown, the features that make Python simple in small programs don’t matter as much.
In this talk, we’ll explore how the Python community used to think about simplicity, how we think about simplicity now that Python is used for ever more complex tasks, and consider whether “simple is better than complex” is advice that Pythonistas can meaningfully follow.
See this talk and many more by getting your ticket to PyCon AU now!
I want a ticket!Quoth the Zen of Python: “Simple is better than complex”.
The Python community has long celebrated simplicity as a virtue. For people coming from more complicated languages, an expressive syntax makes it simpler to express complex ideas. For people new to programming, Python’s choice of program structure and built-ins make it simple to learn.
But Python has grown. Developers are using Python in more mission-critical places, Python codebases are getting bigger, and the features that make Python simple in small programs don’t matter as much.
It’s little wonder that the Python ecosystem’s relationship with simplicity has changed a lot since the first release of Python 3: Libraries like requests
(and lately httpx
) focused on simplifying common tasks that the standard library made complex, at the expense of a more complex architecture; type hints added complexity to writing code to prioritise simplicity or testing and maintenance; newer code quality tools like ruff
have prioritised simplifying development workflows by using a single complex tool, instead of focusing on simpler tools that serve a single purpose.
In this talk, we’ll explore how the Python community used to think about simplicity, how we think about simplicity now that Python is used for ever more complex tasks, and consider whether “simple is better than complex” is advice that Pythonistas can meaningfully follow.
Christopher Neugebauer is an Australian developer, speaker, and serial community conference organiser, who presently lives in the United States.
He serves as a Director of the Python Software Foundation, and is co-organiser of the acclaimed North Bay Python conference, a boutique one-track conference run in unusual venues — include an old vaudeville theatre, and more recently a barn on a farm — in Petaluma, California.
Christopher is also a contributor on the open source Pants build system, helping make Python’s testing, correctness, and style tools accessible and fast for developers, no matter how big their codebase.