Monday, 4 August 2008

Krusty kurmudgeon Knuth kans kores & kommon kode

Andrew Binstock has an interesting interview with Don Knuth.



Professor Knuth makes a few surprising comments, including a low opinion of the current trend towards multicore architectures. Knuth says:
To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers...
But then he goes on to admit:
I haven’t got many bright ideas about what I wish hardware designers would provide instead of multicores...
Which seems to me to make his complaint irrelevant, at best. (Not that I don't sympathize with his frustration about banging our heads against the ceiling of sequential processing speed. And as the sage of combinatorial algorithms he must be more aware than most of us about the difficulties of taking advantage of concurrency.)

Another egregious Knutherly opinion is that he is "biased against the current fashion for reusable code". He prefers what he calls "re-editable code". My thought is that open source gives you both options, and personally I am quite happy to reuse, say, the Java API rather than rewriting it. But I guess when most of your code is developed in your own personal machine architecture (Knuth's MIX) then it's a good thing to enjoy rewriting code!

In the end, however, I have to respect the opinions of a man who has written more lines of code and analyzed more algorithms than most of us have had hot dinners. And I still place him in the upper levels of the pantheon of computer science, whose books all programmers would like to have seen gracing their shelves - even if most of us will never read them!

And yes, this post is mostly an excuse for some korny alliteration - but the interview is still worth a read. (Binstock's blog is worth scanning too - he has some very useful posts on aspects of Java development.)

3 comments:

  1. Martin,

    I'm biased against "resuable" code too. Its enough to be sued once. We don't need to be sued over and over again for using the same code.

    Although I suppose resuable code could be a great money maker for the producers of it. :). Hmm maybe I should get into that line of business.

    ReplyDelete
  2. Ha! Good one, Regina... I should have cut-and-pasted, obviously!

    ReplyDelete
  3. On the bright side, I don't think resuable code is patented yet. Perhaps we should go out and patent it before someone gets the idea.

    ReplyDelete