Payday loans
Auto insurance

Archive

Archive for June, 2006

Java Generics

June 19th, 2006 No comments

I have to admit, I’m a little late to the “Java 5” party. My last project was stuck on WAS 5.something and we just barely got to Java 1.4 before I wandered off for greener pastures. Of course about this time last summer I started getting a lot more interested in Ajax, Ruby, Rails, OS X and whatnot so I just didn’t pay that much attention to the newest features.

These days, my application *requires* 1.5.06 and we are highly encouraged to take advantage of the newest language features. Now I’ll admit, even when I was mired in 1.4 land, I was pretty intrigued by generics and with that in mind, I was pretty interested in Venkat Subramaniam’s talk on the topic when the No Fluff tour swung into town last year. Without a doubt, Venkat’s talk was one of the highlights of the show and I was left feeling pretty good about our (admittedly pre 1.5) approach of just wrapping a collection and typing the methods we wanted to expose (this gave us some side benefits beyond type safety – we could create methods like getFooAfterDate, we could limit the API, and we could program more defensively if we needed to).

Anyway, I’ve been getting into quite a few debates these days about using generics where I seem to be the lone voice against (I am buoyed by Bruce Tate’s comments in Beyond Java along with Venkat’s articles: part 1, part 2, part 3). Some of our technical leaders thing generics are the greatest thing since sliced bread and while I don’t agree, I did find myself using them the other day on an interface I was creating (I know, I still feel a little…dirty). While I’m clearly not going to change too many minds, I have to admit, running into Java Generics FAQ: 433 pages… on murphee’s Rant (which links to Angelika Langer’s Java Generics FAQ) really got my attention. I mean, hey, generics are a good concept, but any implementation that inspires a FAQ of this length? Wow, that’s hard to fathom.

Now, I’ll admit, I’ve never really liked typing the casts but I’m not so sure that List<Type> myList = new ArrayList<Type>() is a huge step forward (and just read a bit about type erasure). Hey, I’m all for better code but I’ve just got to ask – when was the last time you got a class cast exception in your production code?

Categories: Development, Rants, Software Tags:

Reflections on JavaOne

June 10th, 2006 No comments

It has been nearly a month now since JavaOne and while maybe this is a little “late” I still wanted to jot down my thoughts. Besides I’ve been quiet for too long – between finishing up our second book, a trip to Napa, JavaOne, and the inevitable catching up required after more than a week without my laptop (I decided I really didn’t want to drag this baby all the way out to California and back) time has been in short supply. Of course it hasn’t helped that we’ve had a darn fine stretch of weather here in the big Minne and, well, my golf course beckons. Anyway, here are my random thoughts on my first trip to *the* Java happening.

For me, there were three key themes at JavaOne:

  • Participate. In every session with a Sun employee, the audience was challenged to get involved. There were even plugs for individual membership in the JCP.
  • Java is easy (or at least it isn’t that hard). As one would expect, Ruby on Rails has clearly gotten the Java community’s attention and though rarely mentioned by name (at least by Sun folks) it was clear that many of the demos were designed to show Rails like qualities.
  • Scripting, scripting, scripting. Charles Nutter (see his JavaOne wrap-up) and I talked about this a couple of times but I think it’s fair to call JavaOne 2006 “the one about scripting.” It was really quite something to see just how many sessions were devoted to languages other than Java – and frankly I think this is a very good thing.

Of course Ajax (near and dear to my heart) was *very* popular – seemed like any session that even alluded to Ajax was packed (and typically repeated). That said, I was fairly disappointed in the Ajax talks I attended. While I really liked Alex Russell’s Dojo talk, the so called Ajax framework smackdown was anything but. Why three Sun employees were required when only two true frameworks were represented is beyond me. I will say though, Ben Galbraith was fantastic in his role as moderator; he was very funny and wasn’t afraid to challenge the panelists. Apparently the Google Web Toolkit guys were invited and declined but frankly I would have appreciated at least a mention of Prototype or script.aculo.us. Oh well.

Speaking of Ajax, I would have to say (and I’m certainly not alone in this assessment) the star of the show was the Google Web Toolkit. In my last few Ajax talks, I’ve bemoaned the fact that Google hadn’t yet released something akin to the Yahoo! UI Library – well, looks like I can finally change my tune! I haven’t had a chance to play with it yet (seriously guys, where’s the Mac version already?) but it certainly got my attention. Whether or not GWT is at the right level of abstraction, considering it originates at Google and allows developers to write Ajax apps in Java, it will gain significant mind-share (one of my coworkers is *very* enthused). That said, I think Russell has some great thoughts in his JavaOne wrap up. Speaking of Alex, Sun is pretty keen on Dojo (of course so is IBM) though I’m not entirely sure why. I’m not saying anything negative about Dojo (I think it is clearly the most ambitious toolkit in the Ajax space) I’m just curious why Sun and IBM have embraced it. But that’s a post for another day!

Let’s see, what else… Oh yeah, scripting! I went to pretty much every session that had scripting in the title (including one BoF that *started* at 10:30 pm – I bet next year scripting makes it to general session land) which meant I stayed pretty busy. The future of Java is less as a language and more as a platform/community; obviously Java the language isn’t going anywhere (heck, COBOL will still be around in 50 years) but the alpha geeks are moving towards more dynamic languages. Considering that, it’s good to see Sun responding and I’m blown away by the shear number of initiatives regarding scripting: Phobos, scripting on Java.net, JSRs 223, 241, 274 and 292. Of course lets not forget efforts like JRuby and Jython. I’m quite keen to see what the next 6-18 months brings in the Java scripting space (’bout time they listened to Gilad Bracha on this point).

I really enjoyed JavaOne; it was quite an experience to say the least. I was taken aback by the sheer size of the event – there were people everywhere and you could quite literally attend sessions from 8 am to near midnight the entire week (sleep was optional). While I found some of the session disappointing (it was clear many presenters were there by virtue of their employers – not surprisingly, Sun and event sponsors were well represented throughout) all in all, I really learned quite a bit. As I expected, Josh Bloch’s talks were great (if you have a chance to see him – do so); Effective Java is one of my absolute favorite books (can’t wait for the updated version) and Java Puzzlers was quite eye opening. While I think some of the examples are very arcane, it certainly changes the way you think about coding which is the whole point.

I was energized by the number of people and I’d just like to say if Java is dead, there are at least 15, 000 people that didn’t get the memo. Hearing as many foreign languages as I did was fascinating (Brazilians make their presence known wherever they are…and I had a great time getting to know a couple of guys from Sweden). Initially I was worried about the session registration process but the session checkins worked far better than I expected it to (man, why haven’t those smartcards taken off?) and lines moved pretty quickly. I’m not quite sure what to make of the open sourcing of Java (the how will be very interesting indeed) but I couldn’t help but notice the word “compatible” was prominent in the Java branding. Despite what some people think, there’s still a fair amount of innovation in the Java space and the fact that Sun is (albeit perhaps a bit late) embracing alternative languages bodes well for the future of the ecosystem.

Anyway, I had a great time and learned a bunch. While I hope to find more ways to sneak Ruby and other dynamic languages into my daily life, Java will still dominate my attention for a bit yet. While smaller events are more my style, I certainly wouldn’t say no to a return trip next spring ;)

Categories: Ajax, Development, Software Tags:

NetBeans Day

June 10th, 2006 4 comments

As a NetBeans guy, I was pretty jazzed to attend NetBeans day held just before JavaOne. While I got a pretty funny look from Andrew Glover at the Twin Cities Software Symposium when I said I said I didn’t use Eclipse, NetBeans Day 2006 made it clear that there is plenty of buzz surrounding Sun’s open source IDE. The standing room only crowd (the fire marshall was literally involved) made moving about a challenge but it was really great to that see so many people were excited about NetBeans. While I love it, I think NetBeans has the same issue that afflicts EJB 3.0 – people that used it early suffered. I’ve said it before – if you haven’t tried NetBeans since 3.x days, you really owe it to yourself to take it for a spin.

The highlight for me was seeing the Jackpot project in action. While we’ve all come to expect refactoring support in our IDEs, Jackpot takes things to a whole new level. Since it works at the AST level, you’re allowed more powerful pattern matching than you get with plain text. Writing and sharing rules is relatively easy meaning you can quickly develop a library of powerful refactorings. I was also very impressed by the Enterprise Pack, especially its bidirectional markerless UML modeling and I recommend taking a look at the XML tools as well. Of course watching them debug a mobile application that was running on the cell phone, was pretty impressive.

I also enjoyed having a chance to chat with NetBeans evangelist Rouman Strobl (I *really* like the new glyph shirts – they were so popular that they ran out of my size at NB day. I’m hoping some light groveling will encourage Mr. Strobl to send one my way). I highly recommend the NetBeans WorldTour video as well – thanks for plugging Foundations of Ajax guys! BTW, here’s a pic from after the event:

NetBeans evangelist Rouman Strobl

Categories: Development, Software Tags:

WebDevRadio podcast

June 10th, 2006 No comments

I meant to mention this a bit earlier…but a few weeks back, Ryan and I recorded a podcast with Mike Kimsal over at WebDevRadio and it is available here. The sound quality is pretty good (at least we sound more normal than the talk we gave at UWL!) and we had a great conversation on how we got into this, our background, why the server code is always in Java, the challenges in the Ajax space, etc. The entire interview is a bit over an hour – many thanks to Mike for interviewing us, it was a blast!

Categories: Ajax, Development, Talks Tags:

google