Software Development Reading Plan

Ted Felix

I feel like I'm getting back to where I was several years ago. It seems like there isn't really much worth reading anymore. I think PLOPD1 did me in. I should probably re-read McConnell and do a proper review of it this time. That should get me back in the reading mood.

   

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Scott Meyers 2001)    Just got this one from Amazon. Need to read it and see if I'm missing anything. I'm guessing that I'm not, but who knows.

   

Agile Software Development: The Cooperative Game (Second Edition) (Cockburn 2006)    Need to read this or something else on Agile to at least have something to quote. Looks like the best full introduction to the subject of "agile". A survey of the methodologies. See Stepanek's bibliography for more.

   

Pattern-Oriented Software Architecture, Volume 1: A System of Patterns (Buschmann, Frank, et al. 1996)     I read this a while back, right after it was published. However, I didn't get it at the time. It took me until February of 2003 to "independently rediscover" the power of the Presentation/Abstraction/Control architecture pattern for interactive systems (Coutaz 1989 Architecture Models For Interactive Software). I intend to carefully re-read this one and see if I can find any other gems. Note also that there is an entire series of these "POSA" books.

   

C++ Primer Plus Fifth Edition (Stephen Prata 2004) - This should be some nice light reading for me. It's the best-selling C++ book on Amazon. I should read it so I can recommend it if anyone ever asks for a good beginner C++ book.

   

The Patterns Handbook (Linda Rising) - Got this one for real cheap. Need to check it out.

   

The Pattern Almanac 2000 (Linda Rising) - Got this one for real cheap. Need to check it out.

   

Hoffman, Daniel M. and Weiss, David M. 2001. Software Fundamentals: Collected Papers by David L. Parnas    Parnas's papers are great reading. This collection looks excellent. Parnas is a thought-leader in software architecture and design.

   

POSA 2    Focused on concurrent and networked objects.

   

POSA 3    Focused on Resource Management. Probably not of much interest to me.

   

POSA 4    Sounds like a rewrite. Need to pursue...

   

Pattern Languages of Program Design 2    Now that I've read the first of these "PLOPD" books, I don't think the rest should even be on my list. They tend to be rather random collections of papers and as such aren't worth much on their own.

   

Pattern Languages of Program Design 3    See above.

   

Pattern Languages of Program Design 4    This one was going for outrageous prices at one point. Must be fairly rare. Not sure if it would even be worth picking up.

   

Pattern Languages of Program Design 5    See above.

Classics

Writings of the Revolution (Yourdon (editor) 1982)     Hopefully more of the same goodness found in Classics in Software Engineering (1979).

Simula BEGIN (Graham M. Birtwistle, et al. 1973)     So hard to find. So expensive when you do. This is the book that introduced "object-oriented" programming to the world. This is the source. I managed to win a copy of the second printing of the first edition (1973) on ebay for a mere $20.57 (including airmail from England). It arrived 6/26/2006. It was originally in the University of Warwick Library's reference section. It should be quite a shock to read this one after Larman.

ISBN: 9144062117 - Copyright 1973. Second Printing, Printed in Sweden, Studentlitteratur, Lund 1974.

Note that there appears to have been a 2nd edition published circa 1980. The image is probably from the second edition as the first edition had a plain brown cloth cover.

ISBN:(??? CMU library entry) [Lund] Studentlitteratur; Philadelphia, Auerbach, 1973
ISBN:(??? pitt library entry) 2nd ed. [Lund] Sweden, Studentlitteratur ; New York, Van Nostrand Reinhold, 1979, c1973.
ISBN:0884050327 - Van Nostrand Reinhold (Trade) June, 1979 Hardcover
ISBN:9144062125 - Lund: Studentlitteratur, 1982. Paperback. 2nd ed; 391 p.

An Introduction to Programming in Simula (Rob J. Pooley 1987)     This one is impossible to find in paper form, but fortunately, the author has published it online for our reading pleasure. Simula is such a cool language.

Agile and Project Management

Agile Software Development, Principles, Patterns, and Practices (Robert C. Martin 2002)    Most popular general agile book on Amazon. However, the reviews indicate this is more of an OOD book than an Agile book. Go with Cockburn 2006 for Agile.

Crystal Clear: A Human-Powered Methodology for Small Teams (Cockburn 2004)     Another "agile" title that sounds very interesting and relevant. Contains Cockburn's suggestions based on his observations of successful software projects. Stepanek rates it highly in his bibliography.

The Impact of Object-Orientation on Application Development IBM Systems Journal, Sept. 1993 by A.A.R. Cockburn - Seems to cite all the most important papers and books in its bibliography. Should read this and see if anything interesting is in that huge bibliography. Also note that this also appeared in IBM Systems Journal's retrospective issue Volume 38 Issue 2/3 which contains a few other seminal works. The nice thing about IBM Systems Journal is that you can read it online for free (unlike IEEE Software).

Effective Project Management (Wysocki)    Sounds like a good "complete" book for Project Managers. Stepanek 2005 is a good "short attention span" book. This sounds more comprehensive.

Misc

Implementation Patterns (Beck)    Might be interesting.

Object-Oriented Analysis and Design with Applications 3rd edition (Booch)    I don't think Booch can outdo Larman, personally. Still, it might be worth a skim of the contents to see if anything interesting is presented here.

Multithreading Applications in Win32 (Beveridge and Wiener 1997)     Dealing with threads in Windows. APUE was a great book, but since I spend most of my time with Windows, this book should be a little more relevant.

C: A Reference Manual (Harbison and Steele 2002)     Covers the C99 standard which I know very little about. I really need to stay in tune with this stuff. Read this or the next one.

C Pocket Reference (Prinz and Prinz 2002)     Again, C99 information like the previous.

Aspect-Oriented Software Development (Robert E. Filman, et al. 2004)     Saw this one at Border's 11/19/2004. I've already read the Jacobson book, so this one is probably pointless. Aspect-Oriented seems a bit contrived to me.

Thinking In Java, 3rd edition (Bruce Eckel 2002)     I know very little about Java, so I'm hoping to expand my horizons with this book. Java seems like a really fun language, but I just haven't had time to play with it. This book is available for free online, which makes it much easier to choose from amongst the many Java books available. I'm sure they're all good, but the freeness of this one sets it apart.

A C#/.Net book.    Didn't Bruce Eckel write a Thinking in C#? I think he did, however, it is not online. Petzold and Prosise have written books on this new technology, so I can always turn to them for a good read. C# as yet isn't cross-platform, so it isn't yet relevant to my current job. But, the design of the language and library should be very educational nonetheless.

History of Programming Languages.    ACM has published two volumes, Volume I 1978 ISBN: 0127450408, and Volume II 1996 ISBN: 0201895021. Might also get a general programming languages text. I would assume the history would be covered in such a book. I have one from my Math degree that I should re-read.

Game/Graphics programming books.    For fun. Perhaps a Java game book to get a better understanding of the implications of Java wrt real-time programming. 3D graphics are always fun to read about, so a 3D book would be cool too. The Graphics Programming Black Book is fun to read, I should finish it.

History    How about a book on Turing? Alan Turing: Life and Legacy of a Great Thinker (Teuscher 2006) just came out.

For more ideas, I should look through the books I either own, or have downloaded and pick something from there. Also check Software Development Magazine's Jolt Awards. I have quite a few of those older books, but never read them. This site has a long list of faves from folks.

   I've learned a few tricks for searching for books on Amazon. First, be sure to browse categories to target your search. For instance, go to Books, then select "Browse Subjects" at the top. Then pick "Computers & Internet" and then pick "Software". Now do a keyword search within that category, and you'll get far more relevant books. Sort by bestselling to find out what's popular. There's usually a good reason.

The keywords of most interest to me: Object-Oriented, Analysis, Design, Software, Pattern, Architecture.

Here's an Advanced Amazon Search that will get you all the computer books published within a month. You can change the pubdate from 4-2006 to whatever month you want. Just be prepared to wade through 500-600 books.

pubdate: during 4-2006 and subject: computers and binding: hardcover or paperback

<- Back to my books page.

Copyright ©2005-2006, Ted Felix. Disclaimer