Quote:
Originally Posted by Benholio
Effective Java is a MUST read for any Java programmer, new or probably even experienced.
-5/5 stars
-Preregs: basic understanding of Java programming and Object Orientation
-Goal of book: writing quality code that is maintainable, stable, robust, re-usable, scalable, etc.
-Chapters: all of them
The 'gang of four (GoF)' (Gamma, Helm, Johnson, Glissides) Design Patterns book is a classic too but you can't go wrong reading Head First Design Patterns instead which is newer. The GoF book would be useful to any C++ programmer though since their examples are in that. These design pattern books are like the Super System of programming.
-5/5 stars (both books)
-Prereqs: basic knowledge of an object oriented language, C++ for former (GoF), Java for latter (Head First)
-Goal: don't reinvent the wheel
-Chapters: Factory Pattern is a must, other than that skip around to your heart's content
stackoverflow.com is a great Q&A site also, though talking to like-minded poker folks here will be nice. The maker of that site also did joelonsoftware.com which is a nice blog too (the best blog posts have been made into books).
+1 for Pragmatic Programmer.
-5/5 stars
-Prereqs: experience or desire to be a serious programmer working with others or developing a large codebase yourself (or also anyone programming, it's a fun read probably applicable to things outside of programming).
-Goal: sage advice, approaching programming as a fine craftsman, doing things pragmatically (duh)
In general anything from O'Reilly Media (home of the In a Nutshell series) is good for specific topics and I'd avoid the For Dummies books. Also, why buy books except for the classics (all of the ones I mentioned above are)? If you just want to learn a specific technology (which quickly become paperweights) save your money and go to Safari and read online/PDF, unless you like to sit down with a book or only have one monitor. Beginners books are best if they're spiral bound because you can literally keep the book open while you retype the examples (which you should definitely do). And don't just retype them, play around with the code a bit too to make it do different things.
Last edited by bluffold; 05-24-2011 at 12:13 AM.