• February 4, 2008

Paparazzi for Programming Languages

Guest Author

This was originally posted on my dev2dev blog February 4th, 2008.

Have you noticed that there is a growing buzz about alternative programming languages in the blogosphere and online technical journals?  Is this simply just US-Weekly for technology selling the latest Brangelina gossip that will be forgotten next week or is there really a coming revolution to get out in front of or even catch up with?

The Old Standbys

PHP and Perl have been popular Internet languages for some time and there is a history of using these languages in conjunction with the WebLogic Server (See WLS information about PHP, ColdFusion, and CGI).   Even JavaScript  / ECMAScript is getting integrated into the JVM in Java 6.

The New Popular Kids

Lately a newer set of languages have been getting all the attention in both the Java world and the .NET world.  Of course you've heard about Ruby and Ruby on Rails unless you've been under a rock.  Java has responded with it's own scripting language, Groovy and rails like framework called Grails.  Presumably Groovy and Grails would be more applicable to enterprise developers because of Java roots and higher likelihood of being accessible to Java developers to learn quickly.  Secondly, because Groovy is interoperable with existing java code, it can run on your corporate application server standard, which is of the utmost importance for enterprise adoption.  There is also JRuby; so you can mix Java and Ruby and not have to give up WLS container provided services and all of those plentiful java API's you have lying around from existing applications, frameworks, and packaged applications.  Not to be left-out, functional programming fans have also have a reason to get excited with Scala and F#, which combine elements of OO languages with functional principles.  Even ERLang is getting some hype. 

Why all the buzz and what to do about it?

The rationale to use these alternate languages seems to vary, but the most substantive reasons seem to center around brevity, clarity (see the Fibonacci examples), and that they are better for taking advantage of concurrent programming on the growing number of multi-core architectures.  So as an enterprise Java developer and WebLogic Server user how are you to know which of these technologies is the most relevant?  In my humble opinion, it's too early to declare definitive winners.  I don't think that brevity alone can be responsible for a seismic shift.  I am personally more swayed by the multi-core / concurrent programming arguments, but I don't feel the urgency immediately.  I think these are technologies to monitor and dip your toe in, but not necessarily to dive all the way in unless you have an edge case that is in the sweet spot in one of the languages.

I am definitely bullish on the value of the application server and the rock-solid foundation provided by WebLogic Server.  I feel that the new languages that will have the best synergy with existing Java assets will have the highest likelihood of success.  I've spent a limited amount of time playing with Scala this weekend and deployed an example in WLS.  Look for my write-up on this in an upcoming entry if you want to hear about my experiences.  If you have an opinion on future programming language adoption in the enterprise, please leave a comment.

Join the discussion

Comments ( 2 )
  • Sunil Tuesday, August 12, 2008
    Looks like you have been under a rock in the world of application servers. The heavyweight app servers have given way to servlet containers and n-tier architectures are giving way to service objects. Browser is becoming the integration point with RIA and servers are becoming stateless. And I am talking about wall street firms, not a startup in valley.
  • James Bayer Wednesday, August 13, 2008
    Sunil, I don't think I've been under a rock here. I try to keep up on all the new technologies and trends. I agree that OSGi and light-weight containers are making waves and gaining traction, which is why Oracle / BEA has an EventServer product that is a light-weight container in the CEP space that is based on OSGi and is not a JEE server. However, in my Fortune 500 client base in and around Chicago I can assure you that most of our customers have a heavy investment in application servers that are not going away soon. In fact, many are increasing their investment and footprint. I do have one major financial services customer that is leaning towards the stack you mentioned, but even they are using a lot of JEE container-based applications. Perhaps new development may be on a light-weight stack, but the applications that are in existence today will need these containers because no businesses I know re-writes applications without a business justification.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.