Sunday, January 13, 2008

Books that influenced my software development career

Last night I was thinking about IT books that influenced my software development career and was of great value to me, I came up with this list of 11 books and as you can see there are nearly no books about recent programming languages and software tools on the list because I do think that these are only tools and any developer with the basic knowledge will take him maximum a week or two to learn any new programming language or tool. And from my experience once you are good at C++ you will learn any programming language easily.
Here is the list:

  1. Assembly Language Primer for the IBM PC & XT by Robert Lafore
  2. The Waite Group's Object-Oriented Programming in C++ Robert Lafore
  3. The Waite Group's C Programming Using Turbo C by Robert Lafore
  4. Computer Networks by Andrew S. Tanenbaum
  5. Modern Operating Systems by Andrew S. Tanenbaum
  6. Extreme Programming Explained: Embrace Change by Kent Beck
  7. Head First Design Patterns by Elisabeth Freeman , Eric Freeman, Bert Bates, Kathy Sierra
  8. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides
  9. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman
  10. Patterns of Enterprise Application Architecture by Martin Fowler
  11. Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, and William Opdyke

2 comments:

WarpedJavaGuy said...

>> The Waite Group's Object-Oriented Programming in C++ - by Robert Lafore <<
+1
That is definitely one of the most excellent OOP books of all time. I have some very fond memories of reading that book. I've still got it too and will never throw it away. It was my first and my favorite :">

Isaac Rodriguez said...

I agree that programming languages are just tools, but I have to disagree with your statement that any programmer with basic knowledge can learn a new language in a matter of weeks.

To really learn a programming language takes years, even to the most experienced programmers. And since most modern programming languages these days are continously evolving, programmers never stop to learn.

A different thing is if you meant that within a few weeks a programmer with certain knowledge can start coding in that language. I agree with that, but certaintly he will still need to learn the language idioms and features, and that takes time.

Anyway, you recommended some good books. I really enjoyed Heads First Patterns, and it is a must for any developer. From my book shelve, I recommend "xUnit Test Patterns". Test driven development has significantly improved my code writing.