I've been doing little or no Java programming for quite some time now, owing largely to the release of Solaris 10, then getting involved with Java CAPS.

It wasn't a sad departure, though. As Java grew up, more people wanted to do real day-to-day work with it. Day-to-day work, alas, leaves me cold. The interest in this kind of programming has far more to do with knowing every little thing about every little problem, and less to do with creative problem-making (!) and problem-solving. I was fine with leaving Java training that seemed to be less about adopting and learning and more about doing and tracking bugs and workarounds.

Now the same thing is happening with Solaris 10. There are people far more adept at memorizing support matrices and knowing which point release changes what interface. I'd rather demonstrate, for example, how to combine ZFS and Solaris Zones for an interesting effect, or an easy (if fragile) way of growing a list of DTrace one-liners for your own use.

My conference week started out at Community One, during which I listened to the Data Charmer himself, Giuseppe Maxia, hint at some interesting hacks possible with MySQL. In that very brief hour, I remembered what it was I enjoyed so much about programming and systems to begin with -- finding useful things in unexpected places.

The next day Christine Flood presented Fortress, a programming language under development at Sun Labs. I'm far from the target audience for this sort of tool, but I'll blog later on the importance of some of its traits, including implicit parallelism, parametric polymorphism, and support for specifying units of measure. I've been waiting on this last idea a long time, as I have no idea what it takes to incorporate such a thing elegantly into a programming language.

I also heard Robert Chinnici speak enthusiastically on JavaScript -- a brave act in itself -- and was more than a little persuaded, finally, to investigate it. Lo and behold, on the Pavilion floor also was a space for another Sun Labs' project called Lively Kernel -- a means for developing web applications entirely in JavaScript. Implicit in the this project's development are some head-spinning concepts. Where's the source? Well, if you're on their page, you have it, right? Uh...um...oh yeahhhh.

Rounding out the day, I saw a presentation on JavaFX Script with Amy Fowler and Shannon Hickey. During the session, I could feel my antipathy for Swing coding, which I abhor, turning over. I had imagined that Java was doing interesting things in my long absence, but now I wanted to know what those things were. Any tool that could persuade me to give Swing coding another chance -- and JavaFX certainly did that -- merits praise.

Finally, I saw a presentation on a game engine, jMonkeyEngine, that made me think I could play with such a thing and enjoy it. Also very cool. The presentaions Monday alone made my entire week. Never mind that I got to hear Joshua Bloch talk and get a couple of his books signed; it turns out that part of my Amazon review of Effective Java is one of the praises printed in the 2nd edition. I was a long overdue for a geek thrill (I had breakfast with Brian Wong, another hero in my nerd pantheon, three years ago), and was very happy to have one now, especially after waiting a bit in line for an autograph.

Talks of more immediate importance to me centered on Java Business Integration, Service-Oriented Architecture, Composite Application design patterns (the link given here is not related to the talk at JavaOne), and applying those things in Java CAPS particularly. It was very helpful to see Michael Czapski and Frank Kieviet talk on the subject (and plug Java CAPS Basics, a long-awaited book). It's a sad fact of life that technical training, as a business, can't scale to demand by offering leading authorities to deliver training session. Most customers wouldn't care to pay for that luxury anyway. And so it happens that Michael and Frank covered in a few minutes what had taken me months to figure out on my own. Oh well; it was still worth it to know that, however blind I am to the internal information on this product line, that what I had learned on my own was on target.

One more thing before I close this rather length entry -- the lab I took on troubleshooting Java with Dtrace was time well spent. Granted, I was already burnt from a long day; I was still thrilled to see several lab examples matched a lot of custom material I've written for Sun customers over the last year. There's something about eating someone else's cooking for a change, sure. But the grind of work, also, has made a lot of what I've been doing seem lifeless. Dtrace makes a lot of Java heads hurt, especially those accustomed to a Windows environment. Being a trainer, too, is problematic. I rarely feel, in this role, like I am on top of the game. The same blessing of educating -- you get to learn from everyone around you -- can be its curse: you're often made aware of a growing cloud of Stuff You Don't Know. At my best, I can turn that to an advantage. But when I'm spent, I feel inadequate to my job.

I didn't realize how much I needed to feel excited again. My thanks to all the speakers I saw for their enthusiasm and for showing the cool in all these new toys.




Add a comment

Title
Body
HTML : b, i, blockquote, br, p, pre, a href="", ul, ol, li
Math Quiz 4 + 4 = (Helps stop blog spam)
Name
E-mail address
Website
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).

TrackBack to http://radio.javaranch.com/michael/addTrackBack.action?entry=1210531145299