Wednesday, January 23, 2008

TAOCP

The Art Of Computer Programming is a multi volume treatise widely regarded as a classic on the subject of computer algorithms written by Donald E Knuth, Professor Emeritus at Stanford University.

I have only completed reading just the first thirty pages of the first volume of the series. However, I am writing this review now as I feel whatever I have read already makes a good case to help others sceptical of buying these books. I bought the other two volumes immediately after reading the first volume for a few hours.

The treatise comprises of three volumes titled fundamental algorithms, seminumerical algorithms and sorting & searching respectively. Personally, I feel the first and the third volume are more important than the second. In fact the organization of the chapters seem to encourage this. After reading the first volume the reader may choose to either continue with the second or the third volume of the series. The exercises that appear at the end of every section provokes the reader to put his intelligence and creativity to good use.

If you are the kind of person who likes math, is very interested in computer programming, and keen to know what math has to do with computer programming, then this book is definitely for you. The author's main objective is to present important computer algorithms in a consistent format and investigate its properties using mainly mathematical techniques he develops in the first chapter of volume one. The second section of the first chapter gives a thorough introduction to the mathematical techniques that would be used in later chapters. I think no other computer book dealing with algorithms introduces these concepts so beautifully as this one.

In conclusion, I have to say that there is lot of knowledge waiting to be known in these books and the knowledge gained by this study would give you a very different and important perspective of computer programs.

Happy Reading!

Tuesday, January 1, 2008

TAOUP

TAOUP is the acronym for The Art Of Unix Programming by Eric S Raymond more commonly known as esr. He seems to be a hacker in every sense of the word. Wikipedia should be able to tell you better. I finished reading the book in about ten days. Reading the book was very enlightening. Before reading the book I thought only code matters. Eric shows how data in the code could matter more and how data could be used to shape your code. He intelligently uses his own creation, the ascii program, to demonstrate the concept.

The book is packed with loads of useful information and anybody even casually interested in computer programming would like it. Of the four sections that comprise the book (context, design, implementation and community) I found the design section to be more technically inclined than the others. This section also gives some very good advice to people who aspire to do Unix programming. The context section talks about the Unix evolution, its philosophy and compares other prominent operating systems. The implementation section gives some good advice that would help the reader to select the languages and tools to best express the design. The community section articulates things that made Unix and host of other great software possible and sustainable.

In summary I would definitely pitch the book in the 'must read' category. After reading the book you would find yourself being a better programmer with a better understanding of production grade software systems.