Do We Worship Complexity?
I was interviewed recently. I was asked to implement a solution in Java. It was essentially a stack-based computation engine. The interviewer posed a question and there were enough tacit hints for me to see what he really wanted: an &quot;OO&quot; approach using a type hierarchy + command pattern. He offered unsolicited prompts and I took them: I coupled the command objects to the engine. He liked that.<p>What we ended up with was O(n) _classes_ (where n = the number of computation operations).<p>I remained in Java, but took a functional and dynamic approach yielding a three-line implementation of the engine where each command was simply a function. All the tests passed.<p>I was kind of holding my breath at this point. What will he say? We just went from this huge implementation to three lines. I thought he was going to love it. The crazy simplicity of it all.<p>But to my draw-dropping surprise he muttered something about adding new types and how he liked that the commands were coupled to the engine.<p>Is this complexity worship? Or what is this? It&#x27;s almost as if his brain was refusing to see the solution. Like it couldn&#x27;t possibly believe that the solution could be that simple. So it just ejected it, put a big black censorship block over it.<p>I&#x27;m currently reading a book on brain hemispheres. Apparently experiments have shown that the left hemisphere will completely and blatantly reject obvious evidence even if the right hemisphere &#x27;has a clear counter proof&#x27;. Sometimes I think our industry suffers from an abundance of left hemispheric dominance. Or something like this...