Languages for agility

At the 2004 Open Source Convention (OSCON), Jim Hugunin, the creator of Jython, made the dramatic announcement that he would be joining Microsoft to pursue his latest project, IronPython, a Python implementation for the .Net CLR (Common Language Runtime). The timing was awkward for OSCON -- nothing chills the room like news that an open source hero is emigrating to Redmond -- but it was opportune for me. I had just written the keynote talk that I would deliver a few days later, at the Vancouver Python Conference; it ended with a plea to consummate the marriage between popular dynamic languages, such as Python and Ruby, and the dominant managed runtimes, namely the JVM (Java Virtual Machine) and the CLR.

Recent weeks brought important news on both fronts. On Sept. 5, IronPython 1.0 was released to CodePlex, Microsoft's community development Web site. As demonstrated and discussed in Episode 8 of The Screening Room, the purpose of IronPython is not to compete with statically typed .Net languages such as C#, but to complement them.

Then on Sept. 7, Sun announced that it had hired Thomas Enebo and Charles Nutter, maintainers of JRuby, the JVM-based Ruby implementation, to continue their work on that project. That's two great strategic moves rolled into one.

First, it's a bid for peace between two warring camps. Users of the wildly popular Ruby on Rails framework have had nothing good to say about users of enterprise-grade Java frameworks, and vice versa. Once a solid bridge is built between the two, this pointless bickering can end.

Second, it turns up the heat under Sun's initiative to make the JVM a better platform for languages other than Java, and in particular for dynamic languages. Gilad Bracha, Sun's "distinguished engineer and computational theologist" who is driving the JVM in this direction, uttered the most widely cited sound bite: "It has come to our attention that some people want to program in things other than Java."

Although I've been beating that drum for years, it's been a struggle to elaborate usefully on Bracha's quip. But now the picture is finally coming into focus, and Steve Vinoski, a middleware expert at Iona, has proposed a mnemonic to help keep things in focus: ECS STRTE. You'll have to squint really hard to read that as "Easy Street," but I intend to try.

ECS stands for Enterprise-Class Software, and STRTE stands for Software That Runs The Enterprise. ECS lives near one end of the tolerance continuum, where the relevant "-ilities" include reliability and scalability. In this realm, languages want to be statically typed and Web services want to be SOAPy. STRTE, characterized by simplicity and agility, lives near the other end, where languages want to be dynamically typed and Web services want to be RESTful.

Can't we all just play nicely together? At the risk of sounding like a Pollyanna, perhaps we can. At InfoWorld's last SOA Executive Forum, Vinoski shocked the audience by suggesting that it can sometimes make sense to write Web service implementations in JavaScript, as is now possible in Celtix, Iona's open source enterprise service bus.

This week's flurry of news about dynamic languages and managed runtimes helps make that notion less shocking, and it brings us two steps closer to detente. Why argue about dynamic versus static languages when you can have the best of both worlds?

Join the newsletter!

Or

Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Jon Udell

InfoWorld
Show Comments

Essentials

Cygnett 2500 ChargeUp Pocket Lightning Portable Power Bank

Learn more >

Mobile

Exec

Budget

Back To Business Guide

Click for more ›

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Christopher Low

Brother RJ-4230B

This small mobile printer is exactly what I need for invoicing and other jobs such as sending fellow tradesman details or step-by-step instructions that I can easily print off from my phone or the Web.

Aysha Strobbe

Microsoft Office 365/HP Spectre x360

Microsoft Office continues to make a student’s life that little bit easier by offering reliable, easy to use, time-saving functionality, while continuing to develop new features that further enhance what is already a formidable collection of applications

Michael Hargreaves

Microsoft Office 365/Dell XPS 15 2-in-1

I’d recommend a Dell XPS 15 2-in-1 and the new Windows 10 to anyone who needs to get serious work done (before you kick back on your couch with your favourite Netflix show.)

Maryellen Rose George

Brother PT-P750W

It’s useful for office tasks as well as pragmatic labelling of equipment and storage – just don’t get too excited and label everything in sight!

Cathy Giles

Brother MFC-L8900CDW

The Brother MFC-L8900CDW is an absolute stand out. I struggle to fault it.

Luke Hill

MSI GT75 TITAN

I need power and lots of it. As a Front End Web developer anything less just won’t cut it which is why the MSI GT75 is an outstanding laptop for me. It’s a sleek and futuristic looking, high quality, beast that has a touch of sci-fi flare about it.

Featured Content

Product Launch Showcase

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?