Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

(read this message with a background of "arguing about the best programmer is anyway silly")

djb is in no way the best programmer of the world, but he is a very smart programmer, and probably an even better mathematician. And now, my arguments about why he is not the best programmer.

1) djb software is not the most elegant software around at all. Actually trying to write high performance and bug free software his style is the most procedural possible, with very little abstractions layers.

2) his software is well known to be uneasy to configure. There are qmail hackers around. When there are <name of a unix deamon>-hackers around it's a bad sign about the quality of the interface between the program and the rest of the system and the system administrator itself.

3) Djb played no role at all in the programming languages world. AFAIK he never suggested some new idea for programming languages or new directions that are now considered important. You can't be the best without being influential in the field.

4) Djb newer wrote big systems that were crucial for the programming world. Qmail and djbdns can disappear tomorrow and everything will be up and running anyway. GCC or the Linux Kernel are a different matter.

I can continue, but I think 1+2+3+4 are already enough to deny the argument aaronsw is trying to push in the article.



I question #3. Why is it admirable to play a role in the languages world? Shouldn't languages be a means to an end? If the end is good applications, DJB showed that you can produce good applications in C.

It seems like a lot of the energy around languages is frivolous. It's more fun to play with language features than to attack a real-world problem like writing a mail server.

As for #4, why does criticality matter? And why does the audience have to be programmers? Couldn't the author of a spreadsheet be as worthy as the author of a compiler?

Not that I'm endorsing DJB's nomination; I have pored through his source code for various reasons and have some reservations about it. But you could do much worse.

(And yes, it's all silly.)


#3: sure, in general terms. Not true in my opinion for the best programmer of the world. Naturally he is "the one" that can master programming so well that it must be able to drive even programming language designers into more expressive / productive languages. djb can never be the one as in his code is very rare to find high level abstractions.

as for #4 it's very admirable to write real world software, but the best programmers in the world, like Joy or RMS tend to write big systems that can be used by the other hackers in the world, because to write a new operating system, a C compiler that live for decades contributing even to the development of new operating systems (It's hard to imagine Linux without GCC in some way), or world class text editors (vi, emacs) is not something everybody can do, but only the best programmers in the world.


Writing a text editor is a relatively easy task and it's more a matter of user interface than of implementation. Besides, I don't see why writing a mailer daemon is less important than, say, a text editor.


To write a text editor today is very different that inventing the first VIsual editor that is a major step forward, or Emacs that was a similar impressive step forward at the time.


What do you mean by that ?


Speaking coyly, I'd say that depends on what djb's editor of choice is.

Might have an inheritance conflict there. ;)


your points 2 and 3 directly conflict with each other. his software is "difficult" to configure because he does it in a non-standard way. individual files for options, installing everything in its own root directory, using /service for daemontools, etc.

he had these new ideas for software development, installation, and maintenance, so he implemented them and because they are different, people equate that with being difficult. he didn't like a lot of standard libraries, so a lot of his software uses his own routines (which has been extracted as libdjb - http://www.fefe.de/djb/) which is partially the reason for his impressive security record. i think you underestimate his impact on the unix software development community.

your fourth point is just wrong. a lot of ISPs rely on qmail and djbdns and to say that they wouldn't care if they just disappeared is just silly. sure there are alternatives, but so are there to linux and gcc.


"You can't be the best without being influential in the field."

I think an appropriate analogy is judging an architect on the hammers he has improved instead of the buildings he has designed.


I disagree, the buildings designed by Wright or Le Corbusier improved the field in many ways. They created a new architectonic system, it's like inventing a new programming language in some way.


aguing about the best programmer is a smart move when seen as an exercise to find out what it is that makes a programmer good.


this is a good point, but can be expressed with a blog post about "what are the qualities to be among the top programmers of the world?" instead of "djb is the best programmer of the world".

Still it is surely important to look at this great programmers in the aim to try to emulate all the stuff that they got right in order to improve ourself.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: