Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Knuth's Volume IV Preview Available Online 273

ahto writes: "The first section of volume 4 of Knuth's The Art of Computer Programming is available for peer review (and the $2.56 finder's fee for every typo is still there :)." Knuth's series-in-progress made a lot of people's lists when it came to assembling the perfect collection of library books for computer science; now you have a chance to make the next one better. If you can find any mistakes, that is.
This discussion has been archived. No new comments can be posted.

Knuth's Volume IV Preview Available Online

Comments Filter:
  • by Khalid ( 31037 ) on Thursday August 09, 2001 @08:07PM (#2110230) Homepage
    Knuth books are the material proof that software patents are stupid. I mean 99% of what you need to create a software is in Knuth Books; every useful algorithme, sorting, searching, tables look up, indexing methods are there, all the basic.

    It's the proof that nearly everything has been said in that field, and patenting software is in fact patenting "the function" and not "the organ" !
    • I disagree (Score:3, Informative)

      by ciurana ( 2603 )
      I disagree with this point of view.

      Khalid wrote: "Knuth books are the material proof that software patents are stupid."

      All the basics can be found in his works, agreed. But implementing products, whether in software or hardware, involves aggregation of this knowledge into a useful form.

      Remember: Knowing the periodic table and the properties of chemicals isn't enough; products such as plastics or drugs are the result of aggregating the compounds and combining them through experimentation and know-how (i.e. the art part). In the case of software, knowing algorithms and programming languages doesn't result in a new product or way of solving a software problem. This product or service only has value to *anyone* if the application of algorithms and programming skills results in solving a problem.

      Many of us think that the persons who figure how to solve some problem first (or better than anyone before them) are entitled to manage the discovery and protect the know-how involved (i.e. the intellectual property) any way they consider appropriate.

      This freedom of choice is what allows some of us to produce code and licence it under the GPL, or the Apache licence, or patent it, or copyright it, or assign it to a third party, or whatever.

      I tend to agree that most (perhaps all?) business methods and quite a few service patents are stupid. I don't agree when it comes to software. Then, I am primarily a technologist and make my living creating software products. If I were a business person I'd may have a more informed opinion of their stance on patents.

      Cheers!

      E
      • I agree (Score:3, Funny)

        by mefus ( 34481 )
        The material in Knuth's books is trivial compared to a one-click button. Now that's genius!!!
  • This isn't really a preview of Volume 4: Combinatorial Algorithms. It's an "Addendum to Volume 1 (tutorial on MMIX)" as stated on Knuth's TAOCP page under Errata for Volume 1. Knuth's TAOCP page = http://sunburn.stanford.edu/~knuth/taocp.html
  • ok, so it took me about 20 secs to find #1. Did he even proof read it at all? Could become kind of expensive for him...

    But then again, it was in 7.2.1, not 7.2.1.1, so maybe it doesn't count?

  • Knuth's books were both joy and pain to read. The mathematical depth, the connection of math to algorithms and algorithms to code, all of those were wonderful. But man was that appallingly ugly spaghetti code for the pseudocode parts and a baroque ugly machine model and assembly code for MIX. It would have been *much* more usable, as well as much more accessible, if the pseudocode had been written somewhat cleanly, perhaps in ALGOL (a language designed years earlier for expressing algorithms, that had structured programming conventions like loops instead of Knuth's jump-in-or-out-of-the-middle and test-at-the-bottom goto colas), and for the places where explaining in low-level assembler is useful (which it often was), using some relatively clean design instead of something deliberately complexified. MIX is basically even less readable than the PDP-10 assembler in HAKMEM [cmu.edu] (jargon entry) [astrian.net] MIT doc.

    Not only do these things make the book unnecessarily hard to read when you're learning stuff for the first time, because you have to pay attention to the complexity of the coding style instead focusing on the ideas that the code is expressing, but it makes it even harder to use as a reference book when you're no longer in the midst of an undergraduate heavy reading phase and just trying to find out about the kinds of algorithms that apply to the problems you're solving.

    If you were writing something like this today, it's a tossup whether the right language to use for the assembly portions would be the ugly but well-known and widely available Intel 8086 assemblers, or Java Bytecode which are a simpler model for a virtual machine.

  • Cool (Score:1, Funny)

    Hmm, 2.56 per error. Guess I'll get to reading!
  • I have the first three volumes (the dedication is classic), but looking in the jacket I saw more than just the first 3 volumes listed. I recall seeing a volume on parsing (volume 5) (?) Maybe it was in a nightmare b/c I have a CLI project coming up :P
  • I thought this was the fourth -edition- of "The C Programming Language," not the fourth -volume- of "The Art of Programming," and found myself wondering...

    If the first edition is the Old Testament, and the second edition is the New Testament, then the third -might- be called the Book of Mormon...then what would be the fourth edition?

    These are the questions which keep me up late at night...
  • I've always thought that the truly amazing thing about Knuth's books is the writing. Few writers, be they technical writers, journalists, or novelists, write as clearly.
  • I thought that the first three published were actually volumes 4 through 7, and that now he's going back to start with Episode 1. I mean Volume 1.

    Either way, he's been writing it long enough that you could subtitle it "The Phantom Menace"

    -JTB

  • Another one of Knuth's major contributions is the creation of the TeX text formatting package.

    The mathematical expression output of TeX is incredibly elegant and has yet been matched by any other text formatting package, especially the (comparably) utter filth produced by Microsoft.

    In a pre-TeX world, mathematical typesetting was extremely costly and time consuming. TeX had in fact revolutionized the world of creating scientific documents. It is to mathematic/scientific writing what C is to software development. Its use is widespread that in most universities, it is absolutely required that any kind of academic paper in a science faculty be produced with a TeX-derived formatting package.

    The coolest thing is, inventing TeX is something Knuth hardly mentions, let alone brags about. It seems to me that Knuth considers TeX as "something he cooked up a few years ago".

  • In a effort to keep up with the sludge that is released every day. Dr. Knuth has annouced the following for immediate release:
    • The Art of Computer Programming for Dummies.
    • The Art of Computer Programming: From the Ground Up. (with Herbert Shildt)
    • MAXIMUM STRENGTH! TAOCP
    Seriously, though. Thank you, Doctor, for taking the time to get it right.
  • knuth is how old? (Score:4, Interesting)

    by RestiffBard ( 110729 ) on Thursday August 09, 2001 @08:02PM (#2141223) Homepage
    I'm not sure how old mr. knuth is but I hope he's able to complete his task. I admire greatly his project. the way that the science of computing advances faster than any other science would seem to make something like this nearly impossible. as it is Mr. knuth already has plans to go back over the previous volumes to update them for new technology. eventually you approach a point where anything you write down is obsolete the next day. even with something as fundamental as the algorithyms he describes is in need of update.

    This leads me to think about what might happen once knuth has passed on. I'm in no hurry for him to die mind you but the text are more important or he wouldn't bother devoting so much of his life to them. something like this begs to be continued beyond the author. I think the majority of you know what I'm leading to. Open sourcing the books once mr knuth is no longer able to maintain them, I'm not trying to be greedy. I would eagerly pay for them (once I feel I'm at a level where I felt i had a chance of understanding them) I'm only worried that unlike the other works described on Mr knuths page (einstein and relativity, feynman and QED, etc...) TAOCP would quickly become useless to future generations. I don't think I, or mr knuth, or anyone else here would like that to happen.
    • Re:knuth is how old? (Score:1, Informative)

      by Anonymous Coward

      eventually you approach a point where anything you write down is obsolete the next day

      That depends on your subject. When you're writing about fundamentals of computer science, it doesn't change nearly that fast.

      Turing submitted his seminal work describing what we call a 'Turing machine' in 1936. Except for quantum computing and other non-deterministic models, every notion in computer science must fit within its framework.

      Jon von Neumann wrote papers that describe what we call a 'von Neumann architecture' in 1945. The vast and overwhelming majority of computers ever built have been von Neumann machines.

      Bubblesort, mergesort, quicksort, and heapsort were all invented before 1970. They remain the most commonly used used generalized sorting algorithms to this day.

      Thinking that the latest language or operating system du jour invalidates everything that came before is really just cultural myopia.

    • Donald E. Knuth was born on January 10, 1938
      (taken from his curriculum)

      something like this begs to be continued beyond the author. I think the majority of you know what I'm leading to.

      I don't think that Professor Knuth would agree with that. As some of you may happen to know, we could take TeX and METAfont as examples: nowadays, only allowed modifications are bugfixes which get a new decimal digit, and he dictated that when he will die, the reference code shall be frozen, any further bug will be promoted to feature, and their version number will be \pi and e.

      DEK is utterly mad: nobody could stop writing TAOCP because of unsatisfaction about how the books were printed, then study typography and coming out with TeX and MF.

      But this is why we love him.

      ciao, .mau.

      ps: I'd really love to see him playing his pipe organ

    • His work is so expansive, so fundimental, and so generalized that the original books from the early 70's still apply today. It's really amazing.
    • Re:knuth is how old? (Score:4, Informative)

      by Khalid ( 31037 ) on Thursday August 09, 2001 @08:13PM (#2156591) Homepage
      Here is Don Knuth home page, it answers some of you questions. He has retired from his job, and has decided not even have an email address, as he wants to finish his Encyclopaedia. He considers it rightfully as the work of his life.

      http://www-cs-faculty.stanford.edu/~knuth/
  • by stox ( 131684 ) on Thursday August 09, 2001 @07:33PM (#2151457) Homepage
    Ask your average Windows programmer about Donald Knuth. Then, ask your average Unix/Linux programmer about Donald Knuth. I think you will notice an interesting pattern emerge. IMHO, if you haven't read Knuth's work, you aren't a programmer.
    • by cduffy ( 652 )
      Dunno 'bout that -- I've met a lot of Windows programmers who've never read Knuth, and I've met a lot of *nix programmers who've never read Knuth. The key factors appear to me to be age and variety of work (it seems to me that older, systems-level coders are much more likely to have gone through some volume of TAOCP at some point).

      Admittedly, most of the older, systems-level coders I've met have been *nix folks -- so it may be that I'm seeing the same trend you are and just interpreting it differently.
    • I am a software engineer. I have read Knuth. I write software for Windows more often than I do for Unix for the simple reason that more clients want to pay me to do so.
    • by chandas ( 263558 )
      err, what exactly do you mean by, your average Windows programmer? What is a Windows programmer? If a Windows programmer uses C++ what is he? How about Java? How about Python or Perl? What do you mean by Windows programmer? I suppose you call yourself a Linux/Unix programmer. What does that mean? Do you patch kernels? What do you mean? Knucklehead with a superiority complex, that's what I think YOU are.
    • No-one reads Knuth. *nix programmers just claim they did.

      It's the same with K& R, K & P, Stroustroup, (Eric | Bertrand) Meyer et al. OTOH, at lest they're aware the names are worth dropping, so I guess your fundamental point is right.

    • In my opinion, you are a stroker.
    • by possible ( 123857 )
      You wrote:

      "IMHO, if you haven't read Knuth's work, you aren't a programmer."

      There are plenty of people out there who've read (and even understood) Knuth's books, yet who still write horrible spaghetti code. This includes at least 50% of the mathematics PhD's who have worked for me over the years. I would barely classify these people as programmers.

      At the same time, I have seen plenty of good (even "very good") software engineers who have never even seen Knuth's books.

      TAOCP (esp. vol I) is important, I would even agree with you that aspiring programmers "should" read it, but IMHO the knowledge is neither sufficient nor entirely necessary for making good programmers.

      • He wrote:
        "IMHO, if you haven't read Knuth's work, you aren't a programmer."

        You wrote:
        There are plenty of people out there who've read (and even understood) Knuth's books, yet who still write horrible spaghetti code.

        For someone who evaulates programmers you seem to have a little trouble with logic. He doesn't say that reading Knuth makes one a programmer.

      • "IMHO, if you haven't read Knuth's work, you aren't a programmer."

        There are plenty of people out there who've read (and even understood) Knuth's books, yet who still write horrible spaghetti code. [...] At the same time, I have seen plenty of good (even "very good") software engineers who have never even seen Knuth's books.

        If you haven't read E.W.Dijkstra's work, you're not a programmer. Help yourself. [utexas.edu]

    • by Anonymous Coward
      If you haven't read Proust, you aren't an English professor.
      If you haven't eaten escargot, you're not a chef.
      If you haven't fixed a D'Lorean, you're not a mechanic.
      If you haven't killed a man, you're not a soldier.
      If you haven't run a marathon, you're not an athlete.
      If you don't meet my arbitrary standards, you're not what you say you are.
      Sheesh...
    • I would suspect that "Windows" programmers outnumber "Unix" programmers by at least an order of magnitude.

      The fact of the matter is that what constitutes programming today and who is considered a "programmer" has changed significantly since Don Knuth published his first encyclopedic volume in this ongoing series. At that time most programmers really were extremely knowledgeable about mathematics - programming degrees usually involved equal amounts of advanced math and programming. The Knuth volumes were practically bibles for programmers. I suspect that Knuth may have thought that you could actually distill all of the core knowledge required for programming into such a set of reference books. Just as technology has rapidly changed since that era so has programming. A single reference book on algorithms such as Introduction to Algorithms by T. H. Cormen et al. is more than sufficient for most programmers today - more likely even overkill. I can't help but think that few programmers today (say under the age of 30) would really understand much less truly appreciate Knuth's work - it simply isn't relevant for them. This isn't "good" or "bad" but reflects the changed nature of programming. Ask how many programmers today write low level subroutines to perform sorting etc. versus using an existing pre-written package or software component? Yeah, maybe it is good to know this stuff in Knuth's books but given the rush of other skills/techniques/methods to learn it simply isn't as crucial any more.

      • The problem isn't (necessarily) understanding it. The problem is using it. Translating from assembler, even MIX, to a high level language takes a significant amount of time.

        OTOH, most algorithm books seem to be written for college classes. You get to the part of the algorithm that takes a bit of time and effort to get right and "this is left as an exercise". What I want, and haven't found, is a good reference book. TAOCP was such at a time when bits were expensive, and time was cheap. Things have reversed since then. But nobody has written the book, because textbooks have a reliable market.

        I'm not sure that I'd buy an algorithm book if they stuffed everything on some machine readable medium, either. Those things tend to go bad, and to go missing. Just recently I was trying to get a good presentation of red-black trees for C++. There was a data structures for C++ book on my shelf, but when I took it down, the floppy was blank. And I didn't even look for that until after I had read the section on Red-Black trees, and when I got to the part I needed, it said to look on the attached floppy. CD's aren't necessarily any better, they scratch and become unreadable. And with DVD's you are depending on the "good-will" of a publisher. Ask an author about that one. So I want it all on paper, where I can see it. But TAOCP isn't right for a reference book.
      • This is a popular view, but I think it's at least partially wrong; the idea that high-level algorythms are easier than low-level ones. Nothing is easier than building abstract, efficient black boxes into a global system that doesn't scale.
    • by pyite ( 140350 )
      Probably does have a lot to do with age. Yet, to throw a curve at you, I'm 16 and have volumes 1, 2, and 3 and Concrete Mathematics. The funny thing about Knuth is because his work is so mathematically intensive, he gets quoted by people in the math field as much as he does by people in the computer field. I've seen bibliographical references to him on www.cut-the-knot.com [cut-the-knot.com] and in a book I have called Elementary Number Theory. Paraphrasing the latter, it said, regarding Euclid's GCF algorithm, "For a detailed analysis see Knuth (1968)." I don't know if it's just me but I really got a kick out of that. His books just have so much stuff that you can just pull out and fool around with. Last year when I was a sophmore, a senior and I spent roughly two weeks just researching floor theory (not kidding you. As in floor/ceiling) and it was amazing how interesting it could get and how much Knuth has contributed to what seemingly is a trivial topic. (See Concrete Mathematics Pages 67 - 101 for stuff pretty much just on floor/ceiling). Now that I've successfully gone off on a tangent, I'll just say "yes" to your comment.
  • by mj6798 ( 514047 ) on Friday August 10, 2001 @02:53AM (#2151569)
    If you don't get the hang of Knuth's books (I don't), here are some alternatives that serve both as good introductions and excellent references:
    • Abelson and Sussman: Structure and Interpretation of Computer Programs. This book covers a lot of ground when it comes to programming, implementation of programming languages, and the use of abstraction in software development.
    • Cormen, Leiserson, and Rivest's algorithm book is an excellent modern exposition of algorithms and concepts in algorithm development.
    • Russel and Norvig's "AI -- A Modern Approach" is an excellent textbook covering logic, search, and AI.
    Also very relevant to modern computer science are the following books:
    • Duda, Hart, and Stork's "Pattern Classification" is also a book computer scientists should know, but rarely do.
    • Strang's "Introduction to Applied Mathematics" covers elementary material in applied math that every scientist (computer or otherwise) should know by heart.
    • Gershenfeld's "The Nature of Mathematical Modeling" is a neat, if somewhat quirky, book at the intersection of mathematical modeling and computer science.
    If you have recommendations of other introductory books with a similar style, say on automata theory, string algorithms, number theory, combinatorics, etc., please do share them.
    • Only problem with the Cormen, Leiserson, and Rivest text is the strange pseudocode langauge they chose. The indentation style makes it very difficult for me to read the code, which is odd, because IMO pseudocode is supposed to be so free of syntactic details that it is the most readable code. But I frequently had to thotoughly examine it to understand which if was being closed where, and so on.

      Other than the pseudocode, I'd agree, it's a good, comprehensive algorithms book. I think it easily fills 3 dense semesters of intensive study.
  • by rhysweatherley ( 193588 ) on Thursday August 09, 2001 @07:13PM (#2152109)
    Man, all this time I thought volume 4 was an urban legend.
  • If they're paying for mistakes, can I claim a prize for his dissing "goto"?

    If they're only paying for typos, nevermind.

  • This is great (Score:3, Informative)

    by RoryBBellows ( 472821 ) on Thursday August 09, 2001 @07:21PM (#2152716)
    Knuth's books are timeless. Java, C++, C, Fortran... it's all pretty irrelevant. If you spend some time with Knuth's books it reduces the rest of the books on programming to piddly details that need little time.
  • by danny ( 2658 ) on Thursday August 09, 2001 @07:28PM (#2156600) Homepage
    Here's my brief review of The Art of Computer Programming [dannyreviews.com].

    Danny.

  • Finder fee? (Score:5, Funny)

    by PopeAlien ( 164869 ) on Thursday August 09, 2001 @06:56PM (#2156615) Homepage Journal
    (and the $2.56 finder's fee for every typo is still there :)."

    Man! I wish that was availiable for Slashdot.. I'd be rich!

    • It's funny, you actually beat me to that exact comment. :)

      Found just two articles down on the front page:

      On the geek side, their server is a Radio Shack 2.4mhz TRS-80 Model 100 portable running a port of Aache and PHP." Something seems extremely suspicious about that server ...

      I could put myself through college finding typos on Slashdot...
    • by Anonymous Coward on Thursday August 09, 2001 @07:00PM (#2156624)
      Man! I wish that was availiable for Slashdot.. I'd be rich!

      You don't get paid for any typos that you make yourself.
  • Notes on the text (Score:5, Informative)

    by ciurana ( 2603 ) on Thursday August 09, 2001 @09:03PM (#2169667) Homepage Journal
    This is not a draft of volume IV. This is a draft of a section of one chapter in volume IV, namely section 7.2.1.1.

    Dr. Knuth writes: "This is a section of a long, long chapter on combinatorial algorithms. Chapter 7 will eventually fill three volumes (namely Volumes 4A, 4B and 4C), assuming that I'm able to remain healthy."

    This particular section deals with generation of combinatorial patterns and was released for public review in hope to winnow the most egregious errors before it's released; the subject is so extense that Dr. Knuth felt this was one of the best ways to improve this 67-page section.

    I've read the first four or five pages and it's impressive, as always. Heavy on the math from the first page. Either way this will make for very enjoyable reading (if you're in hyper-nerd mode).

    Cheers!

    E
  • $2.56? (Score:2, Informative)

    by swillden ( 191260 )
    I think the reward is actually higher than that now. For those who don't know, Knuth offered to pay 2^n cents for the nth error. I vaguely recall reading that he paid out the $10.48 reward.

    Pretty damn gutsy thing to offer. Imagine if there'd been 30 errors...

  • by Dungbutter ( 459544 ) on Thursday August 09, 2001 @09:56PM (#2169788)
    I am so happy to see new books being written about the Forth programming language, and by Knuth no less!
    I was begining to worry that Forth was a dead language.

    (Score:-1, Really Bad Pun)
  • by Anonymous Coward on Thursday August 09, 2001 @10:02PM (#2169805)
    MMIX is a 64bit VM instruction set and is as good an abstact machine as any other. We don't need garbage collection built into the op codes as the JVM and .NET VM has. We just need a uniform virtual machine in which we can target gcc's code so we can run the code on any machine. There is already a port [bitrange.com] to Knuth's MMIX already in GCC. Does anyone know of a VM that jits MMIX?
  • *sniff* (Score:3, Insightful)

    by Joe Decker ( 3806 ) on Thursday August 09, 2001 @10:05PM (#2169808) Homepage
    Oh my, oh my.

    I've been following the saga of volume 4 for twenty years or so now. In the early 1980s I got a math degree at Caltech, and during my stay there I developed a deep love of combinatorics and combinatorial algorithms that stays with me to this day.

    I even had the opportunity to ask Knuth (who gave a talk there circa 1983) about volume 4, and it was clear that he hadn't given up on eventually returning to TAOCP.

    The Knuth books have always had a treasured place on my bookshelf, but I never stopped hoping that I might someday see Volume 4. Yes, yes, it's only the first fascile. I've known about the fascile plan for the last few years, but it's still something quite different to see the first one. On my screen. Not next millineum, not next year, not next month or week or day, now.

    *sniff* It's enough to almost make a geek cry.

    --j


    • Could be worse.

      Could be Harlan Ellison's edit of Last Dangerous Visions (I'd link to Christopher Priest's Last Deadloss Visions, the story of Ellison's failure, but Priest has taken it to print and forced it off the net...)

      --Blair
  • TAOCP's Legend (Score:5, Informative)

    by robbyjo ( 315601 ) on Thursday August 09, 2001 @10:16PM (#2169827) Homepage

    It's been a long wait since the first three book of TAOCP came out (in the 80's I suppose). Knuth said it would be a 7-volume series. We always wait for the rest to come out. Here's volume 4. You could check out [stanford.edu] what will come out for volume 5-7. The contents for volume 4 is there too (including the erratas of vol 1-3).

    He said that he'll spend his retirement to write the rest. Wow. Check out his homepage [stanford.edu], probably you could help him [stanford.edu]. If you could give him a "significant suggestion", he'll reward you for 32c. If only ask slashdot offer the same prize for each highly modded post. :-)

    Caveat emptor: His book is not for the faint-hearted. It's full of math & logic -- but it's wonderful.

    • It's been a long wait since the first three book of TAOCP came out (in the 80's I suppose). I first saw volume 1 in 1973, so for me it's been an even longer wait...
  • by janpod66 ( 323734 ) on Thursday August 09, 2001 @11:31PM (#2169999)
    Knuth is clearly very smart, and his books have a lot of neat nuggets in them. But I think both the perspective and the presentation are very old-fashioned. I'm not just talking about MIX or his pseudocode, but also the kinds of problems he chooses and the depth to which he covers topics that really aren't relevant to most people anymore.

    Knuth's volumes probably should be on your bookshelf. But for learning about algorithms, I think you are better served with a more modern textbook, which focuses on teaching techniques and approaches. And for any particular specialty (string matching, combinatorial algorithms, etc.), there are also lots of books that are more relevant and more complete.

    • by Anonymous Coward
      Knuth's volumes probably should be on your bookshelf. But for learning about algorithms, I think you are better served with a more modern textbook, which focuses on teaching techniques and approaches.

      I think this expresses wonderfully the difference between the mechanic and the engineer. The mechanic knows how to use his tools, and knows what is relevant to the problem at hand; or he is helpless. Unlike the mechanic, the engineer can adapt his very general knowlege to new problems.

      Most people don't want to be able to cope with the unfamiliar; it's uncertain, uncomfortable, and sometimes hard. Most folks prefer not to be asked, and thus not to be capable.

      Given all that, it makes sense that some coders see no real need for TAOCP. It is math and general tools for thinking, rather than a Chilton's manual for programming application XYZ. It would take decades to fully understand the most of TAOCP, and most folks want to just get their tickets punched and get a job so they can stop making a pretense of learning.

      • Knuth's books are good. They also take a lot of time to use. If you are designing an algorithm that covers a new area, then they are the right tool. But most work is done within known territory.

        The real problem is that I have found NO decent reference book on algorithms. Sedgewick is fair, but it is clearly MUCH more of a textbook than a reference book for a professional. A reference book doesn't leave out the curcial pieces with a cute note saying "the missing part is left as an exercise". That is quite annoying when one is trying to get something done, and just wants to use a well-understood tool. Engineers don't redesign their screwdrivers with every new project, why should programmers be expected to?

        If I want to use a particular data structure, then you may be fairly well assured that I have some decent reason for wanting to use, say, a Red-Black tree instead of a Hash on the Heap. It would be much easier to use a hash. There's built in language support. But the Red-Black tree is a better match to the problem. So the nlangedd "reference" books don't give you complete algorithms.

        TEACHER! Bitter teacher. I don't like doing make work, teacher. I want to get on with things.

        Now it's true that the failures I cited don't really apply to TAOCP. Not that much. But it is quite difficult to use, and to translate an implementation. It can more than double the cost of choosing a particular tool (over what an appropriate reference book would cost).

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...