First, let us talk of Adobe AIR, and indeed AIR for Linux. Now here's a turn up for the books, while many apps seem to be going "on to the web" and running in a browser, AIR shows us a new way. Lots of apps that can run on a desktop. No, not klunky, minimal widgets, but full featured apps that read/write to apps "out there" in web-land. Pretty, damn schweet.
Now, some smart-arses may be thinking that this is nothing new. Indeed, this is what I thought MS were going to do with .NET and Windows 6/Longhorn/Vista, when .NET was initially mooted, but no. They chickened out. Which is a shame, because the .NET runtime (a.k.a CLR), C# and VB.NET aren't bad (being MS rewrites of the JVM, Java, and er.. a .NET-ified, "it's a proper language now" version of VB, respectively). However, the Adobe AIR runtime seems a lot better at memory management than the JVM, or my limited experience of Mono's CLR implementation - this makes it more suitable for desktop-based RIAs. Maybe there aren't enough, really rich apps out there yet for AIR to tell, but I'm sold.
Talking of .NET apps: why do I run more .NET (Mono) apps on Linux than I run .NET apps on Windows? On Linux:
- VisualBasic 2005 Express
- Trivial apps I've writting in VB.NET...
(Small interruption while BO thinks it's upgraded - let's see... Now redeploying wars...).
Mentioning .war files, I've been playing once more with Grails, now it's hit it's 1.0(.2!) release. It's a lot more polished and very, very cool. At this point in time, both Java and experienced, MVC-using PHP programmers can either choose to try (J)Ruby on Rails or Grails. Neither is perfect, but if you do bother learning one or the other your (future) productivity will rocket.
JRuby has the distinct advantage in Sun sponsorship, with Netbeans integration etc. Grails has the advantage of being written in Groovy/Java and thus you can get at all the Java classes for free. Grails also has the fine, familiar underpinnings of Spring, Hibernate, SiteMesh, GSP (which are so like JSP) which most Java-heads have dabbled with at least.
Groovy at least isn't particularly performant (as some recent bloggers have shown) but neither was Java all those years ago... (Unsure about Grails, which has large parts written in Java - my own apps aren't accessed often enough to tell).
It's funny how things come around: when I was a full-time postgrad (1992-6), Java 0.9 came about, but most "powerful" machines only had 32MB RAM and well-sub-100MHz CPUs. We were all LISP fans/programmers - OO stuff was used, but among the some of the faculty, Functional programming was often looked upon as some sort of god-like beauty. Now, Java 7, Groovy, Scala, ... are all closure/Functional-programming obsessed. The Art of the Meta Object Protocol will always stick in my mind because of how much a couple of people were excited by it (and it had a great cover) and look at all that lovely MOP in Groovy.
(BO upgrade/using wdeploy failed to notice previous version and duplicated entries in conf/server.xml - crap).
So either the modern computing industry is really 15 years behind theory, or... I don't know. I wonder if Order Sorted Algebra (my old field) will make it's way into modern rigorous computing! Heh.
Ah, BO is back up. All hail!
This is nic, signing off.