Posted by ronhitchens
on May 7, 2008 at 2:56 AM PDT
Writing code that compiles: easy. Writing code that's correct: not so much.
The big announcements today were centered around JavaFX and Blu-Ray, as expected. Neil Young was entertaining (I guess that's not surprising, he is an entertainer after all). There was the usual execu-speak about initiative-this and monetize-that. OK, fine. Whatever.
I focused today on fundamentals - specifically code correctness.
First up was a talk by Josh Bloch, More Effective Java, which highlighted several new topics from the forthcoming update to his seminal book Effective Java. I had the honor of leading an online discussion of Josh's book four years ago right here on java.net. The book is a must-read for any Java programmer who cares about getting the code right, first time and every time. I'm personally looking forward to the reading the updated edition, Real Soon Now.
I also attended Bill Pugh's cleverly titled Defective Java later in the day. Bill is the creator of FindBugs , a scary-good software tool that statically analyses your compiled bytecode looking for known problems. The thesis of the talk is that every coding mistake is a learning opportunity. Rolling those learned lessons back into FindBugs lets others benefit from your effort. If you're not already a FindBugs user, go get it and run it on your code. You will be amazed (and perhaps a little depressed) at what it turns up.
Late in the day it was Brian Goetz' talk about concurrency in general and the new fork/join framework that's coming in Java 7 in particular. Brian is the lead author of Java Concurrency In Practice, another must-read for any serious Java Programmer. The proliferation of multiple core machine means that, like it or not, we will all need to deal with concurrency - and get it right - sooner rather than later. The fork/join classes, particularly ParallelArray, will make it relatively easy to automatically apply parallelism to tasks that would otherwise be approached linearly.
These three guys are all leading lights in the Java world. They are (a few of) the people that have made Java what it is today and are shaping what it will be tomorrow. Any time you have an opportunity to learn from them, don't let it pass you by.
- Josh Bloch's Effective Java will be repeated on Friday at 10:50am.
- Bill Pugh's Defective Java will be repeated on Thursday at 2:50pm and a second talk, Using FindBugs in Anger is at 9:30am the same day.
- Brian's fork/join talk will not be repeated but he's co-presenting JVM Challenges and Directions in the Multicore Era with Cliff Click (yet another Java luminary that you should always listen to) at 4:10pm on Friday.
As the saying goes: if a job is worth doing, it's worth doing right.