Can you recommend a book for others to read?
If you would like to give a brief review of a book or suggest a book that helped you out, then why not let others know about it, send an email to firstname.lastname@example.org
Clicking on the title of the book will take you to a discount bookstore where you can read other peoples opinions of the book and, if you are suitably impressed, you can purchase the book online. Note that if you buy a book from one of the links below then I get a referral fee from Amazon.com.
If you want to browse a good discount book store online then why not try Amazon.com.
Writing Solid Code
This book should be the first book a junior developer reads. It provides real world examples of the style of code needed to create modern, robust applications. The style of the book makes it very easy to read and it is both informative and entertaining. This book would suit the junior developer wishing to take a shortcut across the path to better coding styles and bug free code. In short - It's great, buy it.
A very large book that covers pretty much every aspect of writing code. Only McConnell could devote an entire chapter to variable naming. I mean this guy must be the authority on source code. It is a great book, but it was very difficult to read from cover to cover. It is one of those books that is very easy to take or leave almost from any point in the book. If you think you know all there is to know about naming a function or variable then think again because this book has it all...and then some. I highly recommend this book as one of those reference books you have on your shelf.
Large Scale C++ Software Design
I was full of enthusiasm for this book when I started. Like many developers I work on fairly large projects using lots of classes and lots of header files. This book has the answer to designing and building better class hierarchies and better classes/packages that do not produce major recompiles of the entire system and that hopefully do not unduly rely on many other classes/packages. The book starts off by introducing way too many new acronyms for my liking and dives headlong into in depth analysis of a system of headers and source files. Most of the really interesting stuff is towards the later half of the book unless you are running short of TLAs of course. This book suggested some interesting ideas and because of that I would recommend it, but due to the fact that it is so large and drivels on and on about the same thing I am afraid it gets a definite thumbs down.
Developing for Microsoft Agent
Not bad considering it is taken pretty much from the online documentation (or vice-versa). It has some interesting discussions about creating the character of the agent and ensuring consistency of the agent's personality, but they were just too short. I like the agent idea but it does not go far enough. It would be a lot of work to add agent support to an application and make it truly useful, without this book I think I would have just dived in and started coding the thing, but thanks to this book, I have abandoned the idea until either I get more time to implement the full agent support, or the agent itself goes that little further so as to be really enticing.
The Best C/C++ Tips Ever - ISBN 0-07-881820 (no link on Amazon.com)
This would suit the developer beginning in C/C++. Some of it is no longer relevant, areas about memory models do not apply in the 32 bit flat memory model of modern systems and the section on DOS is only useful if you intend to write programs for that environment. With that said there are 405 tips in this book with many tips for the more advanced features of C/C++. I recommend this book, it is easy to read, flick through it at random and read it while the compiler is busy and you are not.
Project Management Books
Debugging the Development Process - developer/manager.
Another highly entertaining and informative book by Steve Maguire, the lively style left me saying "yeah, I've done that" on every chapter. It is not really saying anything new, but it is saying it clearly and concisely and in one volume. A great book.
The complete Guide to Software Testing
Ohmygod, a mega boring book - of course it may be because I am not a QA person. I read this book because I needed ammunition for a little skirmish with our QA department and I wanted to be sure I was aware of some of the finer points of software testing. I feel sure that this book would be great if you are a software tester, but for me it was way too boring. Testing is a discipline that is as important or more so than design or development.
Dynamics of Software Development - developer/manager.
These guys at Microsoft seem to like writing books, which is just as well really because they all seem have a lot to say. An entertaining and brisk look at the way software gets developed and how to improve it when it is going badly wrong. I particularly liked the idea that when developers get bored they start writing other stuff, usually not work related - but McCarthy put it that developers are like pigs and when the food runs out they start eating each other. It is a little strange however, I think this is probably due to McCarthy's apparent artistic tendencies (or so it seems to me), I was amused throughout this book and I highly recommended it.
Peopleware : Productive Projects and Teams - developer/manager.
I really enjoyed this book, it is a must for any developer or project lead stuck in some dingy, damp garret using ancient hardware and having to share twelve square feet with two other developers. It explains very clearly why we need more space, the right equipment and furniture, it goes into great depth about the costs of replacing a developer when they leave and it provides bags of facts, figures and findings to back up its claims. A most enjoyable book.
Rapid Development - developer/manager.
A major book. It goes into excruciating detail about how to rapidly develop large scale, shrink wrap products. Because of this most people would be put off, but I would recommend this book on the basis that most of its ideas and principles can be successfully scaled down to your average bespoke or vertical market product.
I.T. Related Books
Micheal Wolff has a fun time in the early stages of the Internet. This is a time when huge sums of money are made and lost, when mega-corporations are willing to throw money at a market most of them can hardly understand. A very entertaining book. It gives a mostly funny but sometimes sad view on the developing Internet business of the early nineties. 'Burn Rate' is the term used to describe the rate at which a company consumes cash. Highly recommended.
What Will Be
I was sceptical about this book by Micheal Dertouzos. I thought it would be more wild ideas about the future, giving more Star Trek notions of the state of the art. I was wrong, mostly. The future according to Dertouzos is full of automation and ease of use, with agents interacting on our behalf. His view is clearly explained in enough detail to whet your appetite. I do feel that Dertouzos goes a little overboard on occasions, but these excursions into the wilderness are exceptable in context. Interestingly, a lot of what is explained could be available today if we could stopped bickering over standards and protocols. I enjoyed this book and I would recommend it, it's not really technical so it should appeal to pretty much anyone.
The Mythical Man Month
I read this book quite recently and I have to admit that I was rather sceptical about the value of a book that was written over 20 years ago, but I was rewarded with some good humour and some extreme ideas. The "Essence and Accident" discussion was brilliant, I was in awe of the idea because of its simplicity. The writing style is a little strange and there are a few too many dips into either religion or poetry for my liking, but I genuinely enjoyed the book.
The design and Evolution of C++
Being a C++ developer I was intrigued about how and why certain language elements had evolved and in this book I found most of the answers. If you are after a history of how C++ was born, or why your favourite keyword was dropped from the language then this book is for you. If neither of these things plague your everyday thoughts then I would forget about this book because to be honest I was bored senseless, just not my style I guess.
A very interesting insight into the construction of Windows NT. I enjoyed this book a great deal and anyone interested in how NT came about and who the key people are should read it. It has some very interesting and humorous parts. This is not a technical book but just a good read, pretty much anyone could pick this up and start reading. For those of us that develop software for Windows I think it is nice to know that things can go pear shaped even for the great Microsoft.
I Sing the Body Electronic
Another insight into Microsoft development but this time into something that was not quite as successful as Windows NT. In this book we get to follow the fortunes and misfortunes of one of the MS multimedia extravaganzas. Purely because it shows that MS are just as capable of making a mess as anyone else I would give this book my recommendation - Enjoy it.