S R T B H P N

Code Artistry - Summer Reading

“Some books should be tasted, some devoured, but only a few should be chewed and digested thoroughly.”
- Sir Francis Bacon

Initial Thoughts:

While taking courses we usually have a "Required Course Text" that we study in detail to acquire specific bits of technology. The books I recommend here serve a different purpose; most discuss a philosophy of development or the foundations of a technology that we consume by reflecting on the material as well as practicing specific skills. Developing skills with detailed study and practice is an essential beginning. These books help us polish skills into professional expertise. I think it is a really good idea to pick one concept book each summer to read and digest, especially if its topics are outside your normal sphere of work and thought. While I worked in industry we would form a group of a half dozen or so people with a common interest, pick a good book, and digest it over a a couple of months of lunch-time discussions. Each of us would take a chapter, digest it, and present to the others. That way we all came away with a working knowledge of an area with relatively little effort and a lot of enjoyment. Anyway, here's my list of books that will profitably take you out of your comfort zones, listed roughly in order of effort required, with the quickest first.

Books for Summer Reading:

  1. A Philosophy of Software Design, John Ousterhout, Yaknyam Press, 2018

  2. Effective C++, Third Edition, Scott Meyers, Addison-Wesley, 2005

  3. Effective Modern C++, Scott Meyers, O'Reilly, 2014

  4. The Art of Readable Code, Boswell and Foucher, O'Reilly, 2012

  5. Implementation Patterns, Kent Beck, Addison-Wesley, 2008

  6. Writing with Style: Conversations on the Art of Writing (3rd Edition), John Trimble, Prentice-Hall, 2011

  7. Probably Approximately Correct

  8. Secure Coding in C and C++, 2nd Edition, Robert Seacord, Addison-Wesley, 2013

  9. Beautiful Architecture, Spinellis, Gousios, O'Reilly, 2009

  10. C++ Coding Standards, Sutter and Alexandrescu, Addison-Wesley, 2005

  11. CLR via C#, Fourth Edition, Jeffrey Richter, Microsoft Press

  12. Java Concurrency in Practice, Goetz, et. al., Addison-Wesley, 2006

  13. Artificial Intelligence, A Modern Approach, Third Edition, Russell and Novig, Prentice Hall, 2010

  14. Other Books Worth Visiting:

Newhouse