Microsoft could be right -- maybe we will write our projects in seven languages for one platform. When interviewing language inventors Gavin King (Ceylon), Rich Hickey (Clojure), and Charles Nutter (Ruby) for my previous article, one detail stuck out. For the most part, they take on faith the idea of "polyglot" software development.
Years ago, the former chair of the ECMA .Net CLI standards board, Sam Ruby, gave a talk to the Triangle Java Users Group. He ended his presentation on .Net with a cheeky quote that I paraphrase from memory: "If you want to write one project in seven languages for one platform, choose .Net. If you want to write one project in one language for seven platforms, choose Java." The user group responded to this dig at Microsoft with a standing ovation.
[ Also on InfoWorld: Andrew Oliver interviews the creators of Ruby, Clojure, and Scala to see where their vision overlap and diverge. | Learn how to work smarter, not harder with InfoWorld's roundup of all the tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
For a long time, mission-critical business software was written in Cobol and/or RPG if it was on the mainframe. PC programming was a much more fragmented market, and you saw waves of C/C++ give way to scripting languages, Perl, and so on. For a decade, we had a period of relative stability with Java, Visual Basic/ASP, and later .Net, with .Net's support of multiple languages more hype than practice. Just as plain old Java ruled the roost, while other JVM languages were rarely used to create business software, most .Net software was written in C#.
But times have changed and the language market is more fragmented. Java has retreated from its dominant position in 2001 and is declining in use. Ruby has overtaken C# in projections of long-term trends. Meanwhile, languages like Clojure, Scala, and others have become the talk of the town among self-proclaimed alpha geeks, though they've yet to make much of a market impact and we've only begun to see these languages put to task in real projects.
A few weeks ago, I asked Gavin King and Charles Nutter about whether the market, in terms of languages, was becoming more fractured. Nutter said, "I don't see it as fractured ... I see it as diverse."
King agreed: "'Fractured' in what sense? People have been experimenting with new languages since the dawn of computing. Most of these 'new' languages we're talking about have been around for quite a number of years."