The modern Python programmer spends little time thinking about the classic ‘design patterns’ from the 1990s. Why? Is it because they are outdated and irrelevant? Or because they are now built into our languages and tools, so we don’t have to worry about them any more? In this talk we will explore the awkward fit of design patterns between the full-blown work of architecture and the small details of actual coding, and rank the old design patterns to see if any are still worthy of attention.
Basic familiarity with Python functions and classes
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. After nearly a dozen patterns, my effort reached a grand crescendo, and then stalled. Does that mean I’m done? If not, where should the project go next?
In this talk we will step back and look at three kinds of thinking that are all at work together when we write software: architecture, design, and algebra. Given that broader context, we will rank the old design patterns as useful or useless, and figure out the next steps that I should take with the ‘Python Patterns’ site.
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.