Java, JEE, Spring, JSF, Struts, Maven

Monday, October 27, 2008

CSS Day 4

Thursday started with a keynote presentation titled "A Straw Model for the Future of Open House". He basically talked about how more and more, are providing open source products and offering paid support. This is even becoming true for big companies (IBM, JBOSS/RedHat, etc).

Next was "Applying Flash to Java: FLEX and OpenLaszlo". These are frameworks which allow you to build Flash-based java web 2.0 applications. FLEX is open source with a rich class library, with optional paid support. Compiles code + xml to *.swf (flash) files. Advantage is broswer-independence and "flashiness". There is a free eclipse plugin and a commercial "Flex Builder" IDE. Drawbacks of flash:
1) not searchable/linkable/bookmarkable (but this may improve)
2) Flash itself is not open source
3) No real competitors
4) no 64-bit support
5) mobile apps
6) loading performance

After lunch was "Real World Groovy". This session demonstrated the power of the groovy scripting language and how you could use it to add scripting functionality to existing applications. Get the groovy plugin for eclipse. I think groovy is real good for the right tasks, one-off or utility types of functions. Very dynamic and reflective language, but comes with a performance penalty over straight java. Not appropriate for mission-critical enterpise apps that must perform well. Best Book "Groovy in Action".

Next was "Performance Engineering from Scratch". This was got into some pretty hardcore analysis of various algorithms, specifically sorting ones. Luckily, the common ones used in java are implemented appropriately (Arrays.sort). One thing I took away is that often times a TreeMap/Set will perform better than a HashMap/Set, especially with large datasets and large strings. This is because the former uses "hashCode" which must evaluate each character, while the latter uses "compareTo" which can terminate earlier (first non-matching character). Share StringBuffer.append(char[20000]).append(char[2]) anecdote.

Finally was "Open Web File System". This showed how to use various open web file storage sites and how to mount them to your machine using WebDAV. Not sure I'll ever use this in my job, but it was interesting.

No comments: