2025-04-23 –, 101
The modern Python programmer spends little time thinking about the classic ‘Design Patterns’ from the 1990s. Why are they no longer relevant? This keynote address will explore how we write Python code today, and how it avoids the problems that design patterns were meant to solve.
Why does the old 1990s Design Patterns book still appear on lists of books for programmers to read, when so many practicing coders are able to work for years at a time without even thinking about them? Isn’t it time for the book to be stricken from the list?
Several years ago, to prevent modern Python programmers from accidentally using old and out-of-date patterns from the book, I started writing a ‘Python Patterns’ web site that would explain the problems with the old patterns and then show some Pythonic alternatives. But that left me with a question: if we don't use Design Patterns, then what is the shape of the code we create today?
In this talk we will step back and look at three kinds of thinking that are all at work together when we write software, and how our journey into learning Python prepares us for each one.
Brandon Rhodes is best known as a popular speaker at Python conferences, but his open source projects include C, Go, and even bits of JavaScript. His still maintains the old PyEphem astronomy module he wrote in the 1990s, but it’s his modern Skyfield astronomy library that is most popular with Python programmers who want to determine the positions of planets, comets, and satellites. His ‘Python Patterns’ web site gives programmers advice about which of the classic design patterns to use in Python and which to avoid. When away from the keyboard, he loves the outdoors and backpacking, for which his favorite destination is the Grand Canyon.