No Fluff Just Stuff – Day Three

The 3rd and final day of the Wisconsin Java Software Symposium was another great day. The day started with the ‘Groovy Programming’ session by Richard Monson-Heafel. Richard currently serves on the J2EE 1.4 (JSR-151), EJB 2.1 (JSR-153) and EJB 3.0 (JSR 220) expert groups for the Java Community Process. He is also one of the founders of the Apache Geronimo and the OpenEJB open source projects. Richard is also the award winning author of Enterprise JavaBeans, 4th Edition, and the awesome J2EE Web Services. I blogged about this book earlier in the year as I really loved that book and recommended it very highly.

The first session was all about Groovy and it was great to have Richard lead this session. He is serving as specification lead for the Groovy JSR along with James Strachan. As you probably know, Groovy is a new language for the JVM combining lots of great features from languages like Python, Ruby and Smalltalk and making them available to the Java developers using a Java-like syntax. The reaction of the Java community has been mixed and a lot of people have asked the question about why Groovy was selected over JRuby or Jython. Richard makes the point that Groovy makes sense over JRuby or Jython or any of the other scripting languages as Groovy is built on top of the Java platform and uses syntax that is familiar to Java developers.

I was a little skeptical about Groovy but went in the session with an open mind. As Richard walked us through Groovy, I started to see the potential of Groovy. The fact that I can use existing Java classes in my Groovy apps and vica versa makes Groovy a very powerful option. Richard did a great job of walking us through the language features and explored the built-in support XML, SQL and HTML parsing. I was very interested in the Groovy features but it was also nice to have Richard leading the session as he was able to give us inside info on the status of the JCP and language. Apparently Dave Thomas and Mike Spille are working on trimming down the language and so mixin’s can’t be that far away from Groovy. Some of the language features seemed really cool like the File I/O – Being able to copy a file with 2 lines of Groovy code will make me use Groovy. Richard described Groovy as ‘syntactic sugar’ for Java – I like that description. I hope Groovy succeeds and learns from all the mistakes Perl, PHP, Ruby, and Phyton have made while duplicating the simplicity and power of those languages.

I really liked what I saw about Groovy at this session. I’ve tried in the past to get into Ruby and Jython, but it never really took. I see a lot of value in a simple scripting-like programming language that would allow you to create simple one-off applications in mere minutes. Every one of us has to write a little script to upload a file automatically once every 6 months, or import a file from a vendor and stuff it in the database, etc. and I always try to write them in Java. Now I have the option of using Groovy and I am going to try and learn Groovy to see if it lives up to the expectations. Here are some great Groovy resources:

After the Groovy session, Richard and I went out for lunch. Richard and I had communicated over email in the past and had talked about getting a beer when he was in town. I had a blast spending a few hours with Richard. I’ve always loved his books and his writing style and it was just a lot of fun to pick his brain and get insights into his world. He is a really nice guy and he was very generous with his time. Thanks Richard – You made my weekend.

After lunch, I sat in the ‘Unit and Acceptance Testing web applications’ session by Cobbie Behrend. Cobbie is a friend and it was nice to be there to see him and support him. Cobbie did a great job in walking through some of the web test frameworks. Cobbie walked us through HttpUnit, jWebUnit, Fitnesse and Cactus. Cobbie spent a lot of time talking about his personal experience and shared his best-practices in terms of testing. This was a great session and totally interactive and we have some great observations from the attendees including Brennan Stehling, Dave Colwell, and Ed Chaltry. All in all a great session and a lot of fun.

Java & C#

Having been a Java developer since 1995, I really haven’t programmed in any other language since then. I did some Perl/PHP development in the early web days as CGI’s, but that was pretty simple form parsing stuff. In fact, I started teaching Java @ Marquette University in 1996 and I actually found the link to the class description on archive.org. Yikes 🙂 Takes you back to the good ol’ days of Netscape 0.9 and the <BLINK> tag.

All of my development efforts for the last 8 years have focused on Java. But I do believe as Dave Thomas suggests that you should learn and use another programming language to expand your horizons and learn to think differently. Dave is big in Ruby, and I am trying to figure out if Ruby or Python are the languages that I should dabble in and this quest has me looking at C#. C# is so similar to Java and so I am guessing it will be an easier language to delve into.

Addison Wesley just announced the availability of a new book titled ‘.NET for Java Developers: Migrating to C#‘ and I’ve just ordered it from Amazon.

I would love to hear from any Java geeks that are dabbling in C#. I don’t want to start a flame war and so please don’t send me any emails that state how Java is better, etc..

No fluff Just Stuff – Day 1

Just attended the No Fluff, Just Stuff Java Symposium in Milwaukee and it totally kicked butt. Met with people like Dave Thomas (The Pragmatic Programmer), James Duncan Davidson (ANT, Tomcat and lots more), Jason Hunter (The servlet book), Brute Tate (Bitter Java/EJB), Robert Martin (OO & XP), Mike Clark (JUnit) and a host of new people like Stuart Halloway (DevelopMentor) who hosted really great sessions on Java classloading, and XML Schema.

Overall, this was an incredible session and a great value for the money spent. Being able to interact with these people on a one-on-one basis is just great and the sessions are focused with tons of technical material unlike other conferences.

A must-attend event when the show comes to your town or state. More detailed report to follow.