EVENT
The Day I Decided Never to Learn Python
- During the 3rd Alaska Geek Cruises voyage ("ScriptScape"), I attended a private, small-group one-hour OO spreadsheet design session led by Python creator Guido van Rossum.
- Guido's implementation of cell dispatch was designed as a dynamic type-checking switch block inside the parent class (
isinstance(self, Blank)etc.) rather than utilizing polymorphic method overrides. - To handle dynamic cell operations, he checked if the subclass contained an optional method using
hasattr(cell, 'operation')rather than defining a uniform base interface or "null backstop" on the parent class. - Guido van Rossum then remarked that since this was a frequent pattern in his code, he was considering adding a core language feature that would silently ignore method calls on objects if they did not exist.
- I concluded that Python's architectural philosophy relied on dynamic dictionary workarounds and procedural dispatch rather than robust software contracts, leading to my definitive decision to never learn Python.
- I published this story as a Medium article: The Day I Decided Never to Learn Python.
What links here
These facts are as Randal recalls them, but much time has passed for most of this. If you find a factual error, please email realmerlyn@gmail.com.