I have the utmost respect for
Don Box
and his work, but I have to wonder whether he’s pulling my chain, or just honestly
missing the point about the value of architectural constraints when
he writes;
BTW, while I do claim that you can solve the majority of the world’s problems using an arbitrary handful of operations, I never claim that actually requiring (or even recommending) the world to do so is a good idea. It’s a wonderful thought experiment, but trying to evangelize that the world only requires a fixed number of verbs is quite odd.
How to put this respectfully, and without sounding condescending, hmm…
It’s tough, because as I see it, the fundamental theorem of software architecture
(and design in general, for that matter) is that only through constraint is
utility generated. This is what the work of luminaries such as
Dewayne Perry and Alex Wolf,
and
Roy Fielding
taught us (for software architecture, at least – others such as
Christopher Alexander
have done it in other fields). How do you tell somebody like Don that, without getting
his knickers in a twist? I’m stumped. But it’s something that needs to be said, and
as my regular readers will know, it’s not a task I shy away from. 8-)
So IMO, there’s really two separate fundamental misunderstandings going on here,
and until the first – the role of constraints in design – is understood, the second
– the value of the uniform interface – can probably not be fully appreciated.
It seems that well-intentioned efforts such as
Dave’s latest
are trying to bridge the divide via incremental progress; if only we tweaked
this, or hacked that, we’d have something which could have the best of both
worlds! Sorry, but successful design just doesn’t happen like that. You need
the big picture, and to have the big picture you need to fully
understand the architecture of the two systems you’re trying to bridge.
P.S. Peter Lindberg
spotted
a James Fallen poem relevant to this topic;
Every task involves constraint,
Solve the thing without complaint;
There are magic links and chains
Forged to loose our rigid brains.
Structures, structures, though they bind,
Strangely liberate the mind.