September 13, 2006

Dynamic languages for agile enterprises

New efforts from the Java and .Net camps help bridge the gap between development styles

At the 2004 Open Source Convention (OSCON) in Portland, Ore., 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?

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »
caiwei 30-Nov-09 5:10pm
om swiss made watches will not inform replica swiss and obtain the fake swiss consent of the replica watches 2009 customer, such as replica watches 2009 in connection with replica swiss an investigation of cheap swiss a breach of swiss made watches an agreement, contravention swiss watch replicas of laws, an replica watches 2009 release emergency where the luxury swiss life, health or replica watches 2009 release security of an swiss made watches individual is threatened, replica watches 2009 the collection of replica swiss a debt or in compliance with the request of a law enforcement agency or a court order.A customer may withdraw his or her consent for collection, usom omega watch replica will not inform omega and obtain the omega watch replica consent of the omega watch replica customer, such as omega online sale in connection with omega watch replica an investigation of Discounted Omega Replicas a breach of cheap omega an agreement, contravention Watches Outlet of laws, an omega watch replica emergency where the Discounted Omega Replicas life, health or omega replica watch security of an omega online sale individual is threatened, omega watch replica the collection of omega outlet a debt or in compliance with the request of a law enforcement agency or a court order.A customer may withdraw his or her consent for collection, us

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.