djb

日本語

I think it’s time to remind people that D. J. Bernstein is the greatest programmer in the history of the world.

First, look only at the objective facts. djb has written two major pieces of system software: a mail server and a DNS server. Both are run by millions of Internet domains. They accomplish all sorts of complicated functions, work under incredibly high loads, and confront no end of unusual situations. And they both run pretty much exactly has Bernstein first wrote them. One bug — one bug! — was found in qmail. A second bug was recently found in djbdns, but you can get a sense of how important it is by the fact that it took people nearly a decade to find it.

No other programmer has this kind of track record. Donald Knuth probably comes closest, but his diary about writing TeX (printed in Literate Programming) shows how he kept finding bugs for years and never expected to be finished, only to get closer and closer (thus the odd version numbering scheme). Not only does no one else have djb’s track record, no one else even comes close.

But far more important are the subjective factors. djb’s programs are some of the greatest works of beauty to be comprehended by the human mind. As with great art, the outline of the code is somehow visually pleasing — there is balance and rhythm and meter that rivals even the best typography. As with great poetry, every character counts — every single one is there because it needs to be. But these programs are not just for being seen or read — like a graceful dancer, they move! And not just as a single dancer either, but a whole choreographed number — processes splitting and moving and recombining at great speeds, around and around again.

But, unlike a dance, this movement has a purpose. They accomplish things that need accomplishing — they find your websites, they ferry your email from place to place. In the most fantastic movies, the routing and sorting of the post office is imagined as a giant endless choreographed dance number. (Imagine, perhaps, “The Office” from Brazil.) But this is no one-time fantasy, this is how your email gets sorted every day.

And the dance is not just there to please human eyes — it is a dance with a purpose. Each of its inner mechanisms is perfectly crafted, using the fewest number of moving parts, accomplishing its task with the most minimal energy. The way jobs are divided and assigned is nothing short of brilliant. The brilliance is not merely linguistic, although it is that too, but contains a kind of elegant mathematical effectiveness, backed by a stream of numbers and equations that show, through pure reason alone, that the movements are provably perfect, a better solution is guaranteed not to exist.

But even all this does not capture his software’s incredible beauty. For djb’s programs are not great machines to be admired from a distance, vast powerhouses of elegant accomplishment. They are also tools meant to be used by man, perfectly fitted to one’s hand. Like a great piece of industrial design, they bring joy to the user every time they are used.

What other field combines all these arts? Language, math, art, design, function. Programming is clearly in a class of its own. And, when it comes to programmers, who even competes with djb? Who else has worked to realize these amazing possibilities? Who else even knows they are there?

Oddly, there are many people who profess to hate djb. Some of this is just the general distaste of genius: djb clearly has a forceful, uncompromising vision, which many misinterpret as arrogance and rudeness. And some of it is the practical man’s disregard for great design: djb’s programs do not work like most programs, for the simple reason that the way most programs work is wrong. But the animosity goes much deeper than that. I do not profess to understand it, but I do honestly suspect at some level it’s people without taste angry and frustrated at the plaudits showered on what they cannot see. Great art always generates its share of mocking detractors.

This is not to say that djb’s work is perfect. There are the bugs, as mentioned before, and the log files, which are nothing if not inelegant, and no doubt djb would make numerous changes were he to write the software again today. But who else is even trying? Who else even knows this is possible? I did not realize what great art in software could be until I read djb. And now I feel dirty reading anything else.

More: You may also be interested in what djb is doing now.

You should follow me on twitter here.

October 19, 2009