Here are a few books about computing science, the web industry, programming and key programming figures that I have been (re-)reading lately. I strongly recommend each of those.
- Frederick P. Brooks, Jr. “The Mythical Man Month (new Addison Wesley 2010 edition: 35th reprinting!). The classic from 1975, in its revised 20th anniversary edition, is still a must-read. I had read it for the first time about ten years ago, but it’s fascinating to rediscover it in the light of recent advancement in the programming craft techniques. You can witness the very early foundation of now classical methodology such as iterative design, and the more general “agile” or “pragmatic” approach to software design and implementation.
- I also just bought Brooks’ new book “The design of design” (Addison Wesley 2010), but have not yet got into it.
- Free as in Freedom: Richard Stallman’s Crusade for Free Software (Original GNU/FDL licenced book freely downloadable from O’Reilly‘s site) – I actually read the French edition which was updated and repackaged as an “authorized biography” (Framasoft / Eyrolles 2010) of the revolutionary inventor of the philosophy of free software, with original notes and latest corrections/additions by Stallman himself. A genuine piece of history in the making!
- The Cathedral and the Bazaar, by Eric S. Raymond (available for free download on Raymond’s site); with the accompanying essays “The magic Cauldron“, “A history of Hackerdom“, “The Revenge of the hackers“, “Homesteading the noosphere“. This classic collection of essays pretty much established the theoretical open-source model of cooperative development, based on the success stories of the GNU/Linux kernel massively cooperative development and the Netscape switch to open-source.
- Just for Fun, The story of an Accidental Revolutionary, by Linus Torvalds and David Diamond (paperback HarperBusiness 2002). The funny and entertaining autobiography of the guy that made it possible for the whole high-tech business world to suddenly switch to open-source philosophy at the turn of the century.
- Coders at work, Reflections on the craft of programming (Peter Siebel, Apress 2009). This is an incredible mashup of thorough technical interviews of 15 of the most historically influential software developers. It makes for a dense and entertaining reading, with very deep technical overviews of the career and main achievements of each of those programming guru figures.
- I also bought Founders at work, stories of startup’s early days (by Jessica Livingston / Apress 2008) which was the original inspiration to the aforementioned book. This was a collection of 30 interviews of high-tech start-up founders. I have not finished reading it yet, but it seems quite entertaining and inspiring also.
- The pragmatic Programmer (Andre Hunt / David Thomas, Addison Wesley 2000, 2010 25th reprint!). Another classic book, summarizing half a century of advancement in the arts and craft of computer software design. One of the most practical and definitive good practice sum-up.
- Applying UML and Patterns, Third Edition, by Craig Larman (Prentice Hall 2005). This is no fun reading, but rather a hands-down, pragmatic recipe-book reference to the modern agile, iterative process of designing object oriented software, using “light” UML 2 methodology and design patterns. Most of the code examples use Java, but this can be easily translated to any other modern OO language such as PHP5.x