Classes are not essential to object thinking, merely a convenience.

David West

Published by Avdi Grimm

1 Comment

  1. True. This is at the heart of the dynamic/Smalltalk-influenced vs static/C++-and-Java-derived schism. I remember being on a C++ project for a large (US) government contractor some years ago, where the code base included literally thousands of classes. The three classes that were the bane of my existence at the time were each over a thousand SLOC long, had more than 100 public methods each, and were nested between 14 and 22(!) levels deep in the class hierarchy.

    The management structure closely mirrored the code structure. The project was in (limited) production for several years before being cancelled for “re-evaluation”. Well over a decade on, I (and I suspect many of my then-colleagues) have nightmares about it.

    I’ve been in failed startups before; I’m in one now that’s innovating the Bataan Death March of Software, but nothing in 35+ years of writing software in the expectation of getting paid has compared to that experience. And multitudinous, competing God Objects, and a language that seemingly encouraged same, made it possible.

    Now excuse me while I wait for the adrenaline jitters to subside.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *