java


Brushing with java once more

Way back in the dim distant past I spent a lot of time with Java as a language. It was the up and coming write once run anywhere new kid on the block. The trouble was we had to deal with client side applets and the delivery of those to places was getting to be a bit of a mess with lots of plugin’s classpaths and all sorts of clunkiness. On the server we had very rich application server environments like Websphere, Weblogic and ATG Dynamo. They worked well, but were just too big to do anything quickly, so along came PHP (Personal Home Page) which just let people do stuff. Its the foundation of many a blog (WordPress is all PHP as is Boonex Dolphin). PHP talks to nice simple database servers like MySQL. The sort of thing we were doing on Websphere.
However, not we are back to needing richer applications, maintaining state and server side cleverness I seem to be bumping into Java again.
Smartfox server is Java, persisting UDP connections talking to MySql etc that I am talking to with all sorts of clients like Unity3d.
Another project is modelled in Java but talks to Second Life.
Project Wonderland is Java and works really well. I got a great tour of the workings of Wonderland. One of the things you know will happen with Java is the software engineering will be in place (in general). PHP seems to be quicker to hack and you can do good design, but why would you. Java is more for the engineer.
Hence we get things in virtual worlds like Project Wonderland’s toolkit around capabilities. It feels a very Java way to do it, and the notion of containment fits well with a pure OO language.

Project Wonderland Capabilities from Nicole Yankelovich on Vimeo.

Of course when it comes down to it good code is good code.
The impressive thing now is that the cloud servers and server providers like Slicehost running things linux means that it is very easy (its all relative) to get a java package(like wonderland or smartfox) and get it running, or get a mono package (like opensim) and get it running, or just do a LAMP (linux, Apache, Mysql,PHP) application running.
It means, once a little fiddling around is done) that applications can be built not just installations of difficult software. Its not quite utility computing, there still has to be something for us techs to do, but it feels way easier than it used to to get going with applications now.
I have to say how great all the resources on Slicehost are too, for things like the magic apt-get incantations you have to do to easily get the AMP in LAMP going 🙂