If you have the misfortune to not be an engineer, you’ve never known the thrill of encountering, for the first time, technology that is beautiiful. If you are, you know what I’m talking about, and if you’re not, nothing I can say will help you (a line invented I believe by Duke Ellington). Other technologies are less aesthetically compelling, and we call them kludges and hacks and pieces of [insert your favorite scatological term]. It’s all very well to drink deep at the well of Existential Engineering Beauty, but does it actually make any real difference to whether a technology succeeds or fails?
The Table · In this table, an entry gets a ten if the inventors are up for the Turing Award; a zero goes to glue-and-string, duct tape and sweat, the things that only work despite themselves.
Winners | score | Losers | score |
---|---|---|---|
SQL/RDBMS | 10 | OODBMS | 7 |
Unix/C | 10 | 4GL | 0 |
Open Source | 5 | AI | 10 |
PC Client | 0 | VRML | 2 |
WWW | 7 | iTV | 0 |
Java | 8 | Ada | 4 |
XML | 5 | SGML | 8 |
Discussion · Since this candidate predictor is all about aesthetics, which at the end of the day are a very personal judgement, you might expect controversy. But I suspect that most IT veterans will (mostly) be nodding their heads over my judgements.
The high scores are obvious: I remember feeling my mind palpably expand as
my University prof laid out the relational algebra and calculus, and how you
could use them to do, well, just about anything you could imagine; thus
SQL/RDBMS.
The Unix/C mind bomb tended to hit a little more slowly; you figured
out fork()
and exec()
and read()
and
write
and lseek()
and pipe()
, how
little each did individually but how much they did together,
and how there was usually nothing getting in your way.
From AI of course came the siren song of the LISP world-view where code was data and data was code and syntax was superfluous and the parentheses’ smooth curves caressed the tired programmer’s brain.
The WWW is an odd mixture of the brilliant
(GET
vs. POST
,
<a href="anywhere">Here!</a>
, the notion of the URI address
space) with the kludgy (Frames, fragment identifiers, URI syntax).
The bottom end of the scale is perhaps best illustrated by the original “IBM PC” design, which combined a kludgy addressing mechanism with a flaky I/O architecture and a toy operating system.
Conclusion · This is a handy predictor, although like the others, it’s had its historical failures. As with many other things in life, success is not unrelated to beauty.