Knuth’s TAOCP – hardcover and ebook
Finally I got it – the bible for all who are serious about programming. DEK’s The Art of Computer Programming. I had some coupon’s for InformIT purchases, and used that to get both the hardcover as well as the recently released ebook version of TAOCP.
In this blog post I will give a short intro to TAOCP – although everyone should know that, and compare the book and the ebook version. Also there is a link to DEK’s interview on occasion of the ebook release.
The Art of Computer Programming (WikiPedia) is probably one of the most influential books for anyone calling himself remotely a computer scientist. Started in the early 60ies as notes on compiler design, it grew to a foundational work on computer algorithms, laying the foundation of Programming as a Science. Many of the algorithms, methods, and mathematical descriptions are still state of the art.
Recently these first two volumes have been released as eBooks by InformIT. On occasion of this great release, twenty computer scientists related to DEK or the topic were asked to pose one question to Don, and reading his answers is an interesting experience. The full list of questions and answers can be found on this InformIT page.
Comparing eBook and hardcover
First of all one has to give InformIT a big big thanks for providing the eBooks in various formats and without DRM. When you purchase the eBooks, you obtain a PDF, ad ePub (Kobo, Sony reader, tablets, …), and a Mobi (Kindle) version. The documents are watermarked, but otherwise not encrypted. Wow, this is what I call service. Big big thanks!
Converting the TAOCP into an ebook seems like an impossible task. Hundreds, if not thousands of code snippets, graphics, formulas, mixed with wild cross referencing, links, exercises, solutions. The PDF version of course is not that hard, as the input is TeX code. Still, the PDF is also made with proper hyper-link support, which really helps navigating these highly non-linear books.
I tested the ePub version on my Kobo Glo, which is not one of the newest models. The ebook waits about 66Mb, which is a lot for an ePub (not for manga epub, though). This also means that loading times on the device are not spectacular. But once loaded, paging through the book is fine. Clicking on a link is again a bit a patience game. I guess newer devices with higher computing power will have an easier game with that.
Concerning the conversion of all the non-text material, the publishers decided to use graphics for everything which is not real plain text. That means, all the formulas, code fragments, and of course the diagrams are converted to images and included as is. This has the advantage that one can actually see the formulas (math support in ebook reader is still horrible, well, same holds for browsers) and graphics, although the fonts look a bit different. To compare, here is a page from the hardcover, and below the approximate page as shown on my Kobo GLO.
Here now the more or less same content as shown on my Kobo GLO:
I consider the conversion quite successful. As soon as I get a higher-powered device and higher resolution screen ebook reader, I guess the presentation and handling speed will increase considerably.
For now I only need a bit more time to study these excellent works in detail. And although I probably never will work for Microsoft, what Bill Gates said about this work still probably holds true for other companies, too:
If you think you’re a really good programmer… read Art of Computer Programming… You should definitely send me a résumé if you can read the whole thing.