Java, Ruby on Rails and Buzzword compliance
There's this great article on O'Reilly network's OnJava site titled Ruby the Rival, ie. Rival to Java. It's a Java site, so you expect the article to relate the article to Java. In fact in that light, the article is very compelling - real Java people (some ex-Sun) moving to Ruby on Rails? Now that is a story.
The real heart of it in my opinioin though, is eloquently summed up by this comment from James Duncan Davidson - author of the Java Servlet API. ... I think that's the real win from the recent attention on Ruby on Rails and the breakaway from viewing the world with Java-colored glasses. It's not that Ruby on Rails is going to be the next Java. Far from it. It's that Ruby on Rails helps to break this idea that there is "One True Way." There's not. There are many different ways to solve a problem. And really, none of them is the clear-cut winner. There's just places where one solution has advantages. Hooray! Yes, Java is best of breed for some things (eg. cross platform sand-boxed gui's), but so is Ruby (Rails web apps). And so, for that matter is Perl (system glue, reporting); Objective-C (many things - if only Yellow Box was still available); etc. It is an unfortunately popular belief that there can be a single language/framework that suits all (or even most) problem domains. If developers really believe that, why do their applications nearly always contain two languages? How's that? How about Java+SQL? or Perl+JavaScript? or PHP+ActionScript? The truth is that languages/frameworks tend to model some real world problems better than others. Hilbert's Universal algorithm is unsolveable. Einstein wasn't able to find his Theory of everything. It's probably not possible to create a universal programming language that is best suited for all problem domains. Perhaps the obscene difference in LOC (lines of code) between equivalent J2EE (Java) web-apps and equivalent RoR (Ruby on Rails) applications will be a clear way to explain these facts to business stakeholders. In case your particluar business stakeholders need an analogy, Davidson offers this: It's like the structures that we work, eat, and live in. Some structures are best built with concrete and steel. Others with masonry. And yet others are best built with timber. Nobody has jumped up and said "All buildings must be built with bricks!" And there's a good reason for that. It'd be stupid. In a similar vein, not all web applications should be built with Ruby on Rails or Django or J2EE or Perl. There's a multitude of tools for any particular job. And there are new ones waiting to be discovered. The trick is determining the best one. Will the days of buzzword-compliance one day be behind us? Perhaps we are entering a time of cool-compliance. What irritates me is that in the "applet" space that Java invented, you look at Flash(plus Flex/Laszlo) and it crushes applets in both "cool" (get me to a good user experience quickly) and "powerful" (I get data binding/SOAP/XML-RPC/etc. for free). The fact that the "powerful" side of that isn't in the core JRE immediately kills the usefulness of applets, and if anyone can show me an applet that looks anywhere near as good as the Laszlo Dashboard demo in a similar number of lines of code, I might have a coronary on the spot. "Cool" counts for a lot, too. Back in the day, an "Enterprise" executive would get back to his office from a trip and show you the in-flight magazine advertisment for Cisco routers, Java webstart or whatever, and ask "why aren't we using this - everyone else is". Now it's more like "My iPod is easy to use, and it looks great. Why doesn't our intranet work like an iPod". While any form of artificial compliance is bad, I would much prefer being directed to be compliant with cool than the latest buzzword :) 02:17 PM, 22 Nov 2005 by Mark Aufflick Permalink | Comments (0) |
Archive
November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 Notifications Request notifications
Recent Comments | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Request notifications