NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed. (sponsored)
In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.
Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.
Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
Books are still
the
classic form of literature. I spend a lot of time reading online, but there is still something to be said for having a real book to sit down and read. Recently, I posted about
20 websites for Java developers
. Today I'd like to provide an (albeit smaller) list of books for Java developers. I haven't collected a comprehensive set myself, so I'd like to ask the community to augment this list with their favorites.
Effective Java Programming Language Guide
- One of the classics. Joshua Bloch's guide based on first-band experience working on the core JVM classes. Many people consider this book to be technical gospel.
Applied Java Patterns
- This book is best described as the original 'gang-of-four' patterns implemented in the Java language. The book is filled with examples of these core object-oriented patterns in our favorite programming language.
Thinking in Java
- This book is a
great
beginner book. It is organized very well, and is one of the best 'traditional' books to learn the language. Incidentally, the book is available in an online format for free currently (see the above link).
Concurrent Programming in Java
- This book drastically changed the way I looked at concurrent software development. The concepts taught in this book line right up to the
java.util.concurrent
APIs added to Java 5. Although being a little heavy in the verbiage, this is a very comprehensive technical read.
Refactoring: Improving the Design of Existing Code
- Martin Fowler's original book on refactoring. Nearly every modern programmer out there knows what it means to 'refactor' code - this is the book that put refactoring on the map.
So that's my list - I'm sure I've missed some, but these are the five that really stuck in my head. I'm looking forward to learn about yours.
Are you serious? Look at the subject: Books for Java developers.
This is not a comp sci list. Why would I need to learn assembly programming? Or linear algebra? Sure, if I program in assembly, or do games programming, but that is just a small portion of all programmers.
That'a valid list. I have a quite different orientation and my list of books includes (most of them well-known):
+Test-Driven Development by Example
+Design Patterns: Elements of Reusable Software
+The Pragmatic Programmer
+Design Patterns for Object-Oriented Software Development
+The Timeless Way of Building
Bruce Eckel's
free electronic books
(thinking in java, thinking in C++, etc). I bought some of these and I now always carry the free electronic version for reference.
Believe it or not, I fully agree with Slava on this one. The key to being a good programmer is to get spoon fed from "How To" books and the like. The key to being a Master programmer is to understand how the computer works. Once you understand how the computer works at a core level, no one will be able to write code that you can't understand. I myself have NEVER owned a Java specific book. Yet I have learned a lot more just by reading the JavaDocs, JLS, and whatnot.
Learning new APIs really becomes a matter of getting a description from the author on what he was trying to accomplish, then looking at the APIs for his implementation. The rest just sort of falls into place. No need for fat books on "JavaSound explained" or "Dummy's Guide to Swing". It makes sense the first time.
* Tricks of the Game Programming Gurus (I love this book!)
* Tanenbaum's Operating System Design & Implementation
* Norton's x86 Architecture (This is an OLD book I have that describes the x86 hardware specs, interrupts, etc.)
* Intel Pentium III Developer Manuals (Opcodes, Architecture, etc.)
* AMD-64 Manuals
* Data Structures 101 in Pascal
* Borland C/C++ Manuals
* A book on SVGA modes
* Virtual Reality Construction Kit
* Programming Games with DirectX
Mmm... that's about it. Most of those books were even purchased before the Internet was accessible to the average joe, so I'm not sure if I'd buy all of them today. *shrug*
UML User's Guide
If you're starting Java, you better know UML or you're sunk. A good start for anyone that needs to learn it, and a good reference thereafter.
Design Patterns
Whether you use C++, Java, .Net, or any other Object-oriented language this is the bible of OO folks. I think most agree that if you do Object-Oriented programming, you can't live without this one.
Refactoring
Another great book to have. Most of the ideas in here are pretty simple and most programmers know 'em, but it's a valuable resource nonetheless. Alot of the items here are already integrated into most Java IDEs.
Ant: The Definitive Guide
If you program in Java, then you should be using Ant. This book helps you learn how to take full advantage of Ant's capabilities. A small book, but lots of information. Learn the common tasks, as well as how to create your own. Has a good reference to all of Ant's built-in tasks available in the back.
Java Thread Programming
There's a few good books on thread programming out there (The O'Reilly books, for example). I found this one to be very useful in my work. Not overly complex and a must for anyone doing multi-threaded work.
Graphic Java 2:
Volume 1
and
Volume 2
For the Java GUI crowd. I grabbed these way back when I first started programming in Swing and they are a must have. Great for those just getting into Java's GUI APIs (AWT and Swing) and also a pretty good reference. Won't teach you all the gotcha's of Swing programming, but these are another valuable addition to any one's library.
XML Bible
For the Web-based development crowd. This book is a must-have. XML isn't hard to learn, but having a book like this helped me a great deal when getting started with the language.
XSLT
With XML Bible you learn how to use XML. With XSLT, you can learn the true power of XML for Web-based applications. I purchased this book at a time when there was very little info for XSLT out there (aside from W3C papers - not a good learning tool), so this one may not be for everyone. This is much more a reference than a tutorial, but you can still glean a great deal about how to use XSLT from it (there's some info on XPATH as well). I found this book to be EXTREMELY valuable.
Enterprise Javabeans
EJB seems to be getting a bad rap these days, but it's still a valuable technology to know in my opinion. Like
most O'reilly books I've read, this one is good. I learned EJB from the second edition of this book, and recently purchased the latest edition to brush up on EJB (I do mostly Swing programming these days). A great book to have for the Aspiring Enterprise Developer.
Hardcore Java
This book isn't much on substance, but any beginning Java developer can glean some valuable ideas from it. Has a great section describing JVM memory management/garbage collection and some ways to use the java.lang.ref package to avoid memory leaks, which in and of itself makes this book worth having for anyone getting started with Java.
I could probably keep going with some great book selections, but all of these are ideal for anyone starting Java development.
In addition, I highly encourage anyone that hasn't checked it out to have a look at O'Reilly Network's
Safari Bookshelf
. I tried it out a few years ago when it just got started and just recently came back to it. The selection of books available online through Safari is pretty good. Some of the best Java books are O'Reilly, so you could potentially save yourself some cash by using the Safari subscription service instead of purchasing. However, there's still something to be said for actually having the book in-hand as a reference as well...it's up to you.
"The easy, familiar approach often has nothing in it's favor except that it requires less thinking"
-Michael Abrash
One suggestion that I have is
The Definitive Guide to SWT and JFace
if one is into that sort of thing. The book gives a good discussion of SWT and then goes into JFace.
Another book that I have been using a lot lately is
Java Extreme Programming Cookbook
. This book covers several tools that you can use with Java and XP techniques.
General: 5 Books for Java Developers
At 8:29 PM on Jan 20, 2005, R.J. Lorimer wrote:
Fresh Jobs for Developers Post a job opportunity
Effective Java Programming Language Guide - One of the classics. Joshua Bloch's guide based on first-band experience working on the core JVM classes. Many people consider this book to be technical gospel.
Applied Java Patterns - This book is best described as the original 'gang-of-four' patterns implemented in the Java language. The book is filled with examples of these core object-oriented patterns in our favorite programming language.
Thinking in Java - This book is a great beginner book. It is organized very well, and is one of the best 'traditional' books to learn the language. Incidentally, the book is available in an online format for free currently (see the above link).
Concurrent Programming in Java - This book drastically changed the way I looked at concurrent software development. The concepts taught in this book line right up to the
java.util.concurrentAPIs added to Java 5. Although being a little heavy in the verbiage, this is a very comprehensive technical read.Refactoring: Improving the Design of Existing Code - Martin Fowler's original book on refactoring. Nearly every modern programmer out there knows what it means to 'refactor' code - this is the book that put refactoring on the map.
So that's my list - I'm sure I've missed some, but these are the five that really stuck in my head. I'm looking forward to learn about yours.
12 replies so far (
Post your own)
Re: General: 5 Books for Java Developers
Here are my suggested titles:Re: General: 5 Books for Java Developers
Every OO developer should read "Domain-Driven Design" by Eric Evans just as much as GOF "Design Patterns".Re: General: 5 Books for Java Developers
Are you serious? Look at the subject: Books for Java developers.This is not a comp sci list. Why would I need to learn assembly programming? Or linear algebra? Sure, if I program in assembly, or do games programming, but that is just a small portion of all programmers.
Re: General: 5 Books for Java Developers
These books are usefull only for people, who whant to implement it's own VM. From my standpoint - I don't need any of these books.Regards,
Eugene aka SKipy
Re: General: 5 Books for Java Developers
That'a valid list. I have a quite different orientation and my list of books includes (most of them well-known):+Test-Driven Development by Example
+Design Patterns: Elements of Reusable Software
+The Pragmatic Programmer
+Design Patterns for Object-Oriented Software Development
+The Timeless Way of Building
Also see my blog entry at:
http://javarunner.blogspot.com/
Re: General: 5 Books for Java Developers
free books available online: http://www.javamart.ca/blog/index.php?p=8Here’s a list of free downloadable books:
Christian
Re: General: 5 Books for Java Developers
Here's my List:http://www.manageability.org/blog/stuff/top-10-must-read-books-for-the-java-developer/view
Regards,
Carlos
Re: General: 5 Books for Java Developers
Believe it or not, I fully agree with Slava on this one. The key to being a good programmer is to get spoon fed from "How To" books and the like. The key to being a Master programmer is to understand how the computer works. Once you understand how the computer works at a core level, no one will be able to write code that you can't understand. I myself have NEVER owned a Java specific book. Yet I have learned a lot more just by reading the JavaDocs, JLS, and whatnot.Learning new APIs really becomes a matter of getting a description from the author on what he was trying to accomplish, then looking at the APIs for his implementation. The rest just sort of falls into place. No need for fat books on "JavaSound explained" or "Dummy's Guide to Swing". It makes sense the first time.
Re: General: 5 Books for Java Developers
Hmm... books on my shelf. Let's see here:* Tricks of the Game Programming Gurus (I love this book!)
* Tanenbaum's Operating System Design & Implementation
* Norton's x86 Architecture (This is an OLD book I have that describes the x86 hardware specs, interrupts, etc.)
* Intel Pentium III Developer Manuals (Opcodes, Architecture, etc.)
* AMD-64 Manuals
* Data Structures 101 in Pascal
* Borland C/C++ Manuals
* A book on SVGA modes
* Virtual Reality Construction Kit
* Programming Games with DirectX
Mmm... that's about it. Most of those books were even purchased before the Internet was accessible to the average joe, so I'm not sure if I'd buy all of them today. *shrug*
Re: General: 5 Books for Java Developers
Abstract thinking is 90% of all programming, J2EE design patterns, the JSF API, whatever, is 10%.Re: General: 5 Books for Java Developers
Here's my list:UML User's Guide
If you're starting Java, you better know UML or you're sunk. A good start for anyone that needs to learn it, and a good reference thereafter.
Design Patterns
Whether you use C++, Java, .Net, or any other Object-oriented language this is the bible of OO folks. I think most agree that if you do Object-Oriented programming, you can't live without this one.
Refactoring
Another great book to have. Most of the ideas in here are pretty simple and most programmers know 'em, but it's a valuable resource nonetheless. Alot of the items here are already integrated into most Java IDEs.
Ant: The Definitive Guide
If you program in Java, then you should be using Ant. This book helps you learn how to take full advantage of Ant's capabilities. A small book, but lots of information. Learn the common tasks, as well as how to create your own. Has a good reference to all of Ant's built-in tasks available in the back.
Java Thread Programming
There's a few good books on thread programming out there (The O'Reilly books, for example). I found this one to be very useful in my work. Not overly complex and a must for anyone doing multi-threaded work.
Graphic Java 2: Volume 1 and Volume 2
For the Java GUI crowd. I grabbed these way back when I first started programming in Swing and they are a must have. Great for those just getting into Java's GUI APIs (AWT and Swing) and also a pretty good reference. Won't teach you all the gotcha's of Swing programming, but these are another valuable addition to any one's library.
XML Bible
For the Web-based development crowd. This book is a must-have. XML isn't hard to learn, but having a book like this helped me a great deal when getting started with the language.
XSLT
With XML Bible you learn how to use XML. With XSLT, you can learn the true power of XML for Web-based applications. I purchased this book at a time when there was very little info for XSLT out there (aside from W3C papers - not a good learning tool), so this one may not be for everyone. This is much more a reference than a tutorial, but you can still glean a great deal about how to use XSLT from it (there's some info on XPATH as well). I found this book to be EXTREMELY valuable.
Enterprise Javabeans
EJB seems to be getting a bad rap these days, but it's still a valuable technology to know in my opinion. Like
most O'reilly books I've read, this one is good. I learned EJB from the second edition of this book, and recently purchased the latest edition to brush up on EJB (I do mostly Swing programming these days). A great book to have for the Aspiring Enterprise Developer.
Hardcore Java
This book isn't much on substance, but any beginning Java developer can glean some valuable ideas from it. Has a great section describing JVM memory management/garbage collection and some ways to use the java.lang.ref package to avoid memory leaks, which in and of itself makes this book worth having for anyone getting started with Java.
I could probably keep going with some great book selections, but all of these are ideal for anyone starting Java development.
In addition, I highly encourage anyone that hasn't checked it out to have a look at O'Reilly Network's Safari Bookshelf . I tried it out a few years ago when it just got started and just recently came back to it. The selection of books available online through Safari is pretty good. Some of the best Java books are O'Reilly, so you could potentially save yourself some cash by using the Safari subscription service instead of purchasing. However, there's still something to be said for actually having the book in-hand as a reference as well...it's up to you.
Re: General: 5 Books for Java Developers
One suggestion that I have is The Definitive Guide to SWT and JFace if one is into that sort of thing. The book gives a good discussion of SWT and then goes into JFace.Another book that I have been using a lot lately is Java Extreme Programming Cookbook . This book covers several tools that you can use with Java and XP techniques.
Ramblings of a Programmer