views:

150

answers:

3

I've come accross these websites who recommend certain books but they are pretty much old :

http://www.joelonsoftware.com/navLinks/fog0000000262.html

http://www.codinghorror.com/blog/2004/02/recommended-reading-for-developers.html

http://sites.google.com/site/steveyegge2/ten-great-books

Are there books in recent years which every developer should read?I'm mostly interested about Java/Spring/Hibernate/Jboss although reading book about programming in general wouldn't be bad.

UPDATE :

I don't say these lists are bad or anything its just Joels article is from 2002 and Jeffs from 2004, six and eight years ago

+1  A: 

Try Clean Code By Robert C. Martin
Or Growing Object Oriented Software Guided by tests by Nat Pryce and Steve Freedman for modern books.

John Nolan
Clean Code is an amazing book.
ilikeorangutans
+1  A: 

This question will probably get deleted in a minute but...

Joel's list is actually quite good and very relevant if you are interested in becoming a great programmer. Languages and platforms come and go. I'm not saying you should not study them. However, I am suggesting that reading books like the ones Joel suggests on his blog can help you develop the basic skills and thought process that will allow you to excel in your career.

Tom Cabanski
its article from 2002, I know he is good and relevant, does he have anything newer
Gandalf StormCrow
+1  A: 

Head First Design Patterns was a good read to understanding the Gang of Four's Design Patterns book. The latter is quite academic, the former presents them more from a mentor/apprentice approach.

Design Patterns are important when architecting non-trival software. Similar to seeing common architecture designs in buildings, these software archiecture patterns solve many common "problems" in a software system.

Although they use Java as the "native" language in the book, the principles can be applied across most OO languages. You can understand everything with just a rudimentary understanding of Java or other curly brace language. There are a few pages that are HIGHLY Java specific specifically where Java and JVM has a built-in mechanism to implement a solution to a specific design pattern - no need to read those unless you are actually using Java.

franji1