2 comments

[ 0.26 ms ] story [ 13.1 ms ] thread
Thanks, but I'll keep my objects. The author has clearly never worked in a corporate environment, where the structure that he so fondly rallies against is absolutely necessary to getting anything done.
I'm not in favor of "business world" OO, but I do like abstract data types. The examples he uses of functional style still make use of abstract data types as their core building blocks.

Modern OO thinking requires that only functions that preserve the integrity of the invariant should be member functions. If you're talking about an arbitrary 3 dimension point in space, that invariant is hugely generous and you'll have no member functions at all. They're three numbers, do with them what you will. The insert method, on the other hand, of a red black tree is so absolutely connected with its data structure that it would be an error to try to factor it out.

The problem, as always, are golden-hammerists. Everything has its use, in moderation and with a light hand, a conclusion I think this article still arrives at ever so subtly.