Tuesday, April 29, 2008

The Bandwidth of Code 

Discipline and punish
Hell is Other People's Code is, perhaps, another way of saying that code is a terrible way to communicate with other human beings. Foreign code inspires a mixture of apprehension, anger and anxiety precisely because the bandwidth capacity of written code is so horrifying small. Enormous amounts of context, nuance, philosophy, history -- in short, knowledge -- is lost forever each time we try to translate our ideas and desires into program code. And this tremendous loss of knowledge looks to be unavoidable. It's not due to any operational errors on our part, rather it's the natural, structural consequence of trying to capture group consensus and extremely sophisticated ideas in a languages dumb enough for a computer to understand.

This extremely limited communication bandwidth invites many of tragic ironies that afflict developers. The inability to scale development up to large teams, the extreme difficulty of reusing previous work, and the constant need to revisit, refactor and refine -- much of this comes from the general impossibility of translating complicated, ever-changing business objectives into simple, static code.

Topics: Design | Architecture

Links to this post:


Comments: Post a Comment

This page is powered by Blogger. Isn't yours?