Local discussion focused on figuring out whether this was a joke or not. For a while, we felt it had to be even though we knew it wasn't. Today I'm willing to admit the authors believe what is written there. They are sincere.
But... I'd call myself a hacker, at least in their terminology, yet my solution isn't there. Just search a small table! No objects required. Trivial design, easy to extend, and cleaner than anything they present. Their "hacker solution" is clumsy and verbose. Everything else on this page seems either crazy or willfully obtuse. The lesson drawn at the end feels like misguided epistemology, not technological insight.
It has become clear that OO zealots are afraid of data. They prefer statements or constructors to initialized tables. They won't write table-driven tests. Why is this? What mindset makes a multilevel type hierarchy with layered abstractions better than searching a three-line table? I once heard someone say he felt his job was to remove all while loops from everyone's code, replacing them with object stuff. Wat?
But there's good news. The era of hierarchy-driven, keyword-heavy, colored-ribbons-in-your-textook orthodoxy seems past its peak. More people are talking about composition being a better design principle than inheritance. And there are even some willing to point at the naked emperor; see http://prog21.dadgum.com/156.html for example. There are others. Or perhaps it's just that the old guard is reasserting itself.
Object-oriented programming, whose essence is nothing more than programming using data with associated behaviors, is a powerful idea. It truly is. But it's not always the best idea. And it is not well served by the epistemology heaped upon it.
Sometimes data is just data and functions are just functions.
"A fresh take on music notation — easier to learn, faster to read, and simpler for even the trickiest music."
- Food52VP of technology, 2012 - present
- Real Time FarmsCo-Founder, 2010 - present
- Software Engineer, 2005 - 2009
Meat Distribution Part 2: Technology on the Range | Food+Tech Connect
“The question is, do you really want to be a rancher, or do you want to be a meat company,” says Loren Poncia of Stemple Creek Ranch, as we
Steve Wozniak’s Android love is no surprise | Dwight Silverman's TechBlo...
Steve Wozniak may be one of Apple’s co-founders, but above all he’s an engineer at heart. If you’ve read his autobiography, iWoz, or Walter