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.
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.