I like Ruby – it reminds me of the early Java days when Java was used to create small applications that would run unchanged on any platform that had a JVM. Most enterprise develoment was being done in C++ or Visual Basic and Java was considered a ‘script kiddie’ language. Java persisted because many developers did see benefits in using it – particularly in multi-platform environments and web applications. Of course Java rapidly progressed from a small highly efficient language (maybe about 200 or so commands) to today’s complex Java/J2ME/J2EE environment with thousands of classes.
When I was developing a SOAP service, Java required a fairly powerful development environment to run the web server (eventually the Tomcat web application server) plus JVM, plus SDK, plus IDE, plus libraries. Even the relatively simple ‘proof-of-concept’ web service involved some non-trivial Java programming and then I ran across a Ruby example.
Using Ruby, I brought up the built in Webrick web server and had my service running in about a dozen lines of code – sweet! Okay, the service was not enterprise class or scaleable to hundreds of concurrent users (poc, remember), but the old development thrill was back!
Java isn’t going away – but it’s also clear that it has now inherited the mantle that C++ (or maybe even COBOL) once held and its sheer complexity, steep (and ongoing) learning curve is turning a new generation of developers towards more lightweight scripting languages.