KludgeCode

is Ben Rudgers

Remarks: Epigram 14

This is part of a writing exercise around Alan Perlis‘s Epigrams in Programming.

“In the long run every program becomes rococo, then rubble.”

Rococo comes after the “baroque” and this epigram is inherently about succession and the mortality of intellectual models – I cannot help but chase the pun.

One of the distinguishing features of the Rococo is its asymmetry. Like the fat man and his wife upon the teeter-totter, balance is only achieved by careful attention to levers and fulcrums. Workable in the short-term perhaps, but a long term maintenance is messy. Messy as in a feeding tube for the fat man so as to maintain his weight because down time to adjust the teeter-totter itself creates issues with customers.

Vectorworks is rococo. Features get added ex cathedra, but the core architectural shortcomings never get addressed (it is as if Emacs refused to acknowledge the problem of global scope as a matter of principle). Thus Vectorworks remains locked in the 2D hybrid model which was cutting edge in 1989. Standard Vectorscripts developed by Nemetschek remain unshared with users who might actually improve them, and would certainly learn from them.

The lesson of Facebook, AutoCad and Sketchup is that commercial software can thrive if it is seen as a platform for developers. To boot, giving developers and users more power is probably more fun and rewarding as employment.

Emacs is the quintessential baroque application. Overall balance is achieved by letting a bazaar of user generated elisp features grow and thrive around the Cathedral built upon the C Programming Language. It has email [implemented in a subset of Common Lisp, no less] because the users created it, not by fiat or in response to the VP of marketing.

The ultimate baroque system is the web. It’s lesson is standards create a platform for innovation. Like ECMAscript [JavaScript] those innovations can themselves be standardized, and thus allow further innovation.