Jacques Surveyer has posted a thoughtful response to my Whither Mono? column. His item, entitled "Mono is eerily like the disease," says in part:
Take a gander at http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html and the number of languages that use the Java JVM - about 3-4 times as many languages that use .NET. But the really insidious notion is that .NET is "language neutral". As Visual Basic and Cobol developers have learned to their dismay - adopting a language to conform to the CLI/CLR/.NET Libraries means a number of Frankenstein-like cut and add operations. In the case of VB it is so bad that Microsoft's own enginers started to call VB.NET Visual Fred because it is so different from its predecessor, VB6.
We do have examples of other languages running in the JVM. Jython in particular works great, I don't know of any "scripting language" that works well in the CLR, only the early proof-of-concepts which aren't viable for real work. VB.NET is basically C# light, so maybe only one language works in the CLR.
The question of language neutrality is a thorny one, indeed. As I will argue in next week's column, neither the JVM nor the CLR embraces dynamic languages, a fact which has compelled the Parrot team to go its own way and invent a new virtual machine tuned for that purpose. Jython, the dean of the non-Java languages for the Java VM, achieves its excellent results by the extraordinary measure of reimplementing Python in Java. I wish a less drastic and more general solution were available for both Java and .NET.
As for Mono, I regard it as just another step along the road toward commoditization of software infrastructure. What happened with network protocols and is now happening with XML must also happen, I believe, with languages and frameworks. Java's a major ecosystem, years more evolved than .NET, but .NET's becoming a major ecosystem too. To the extent they offer multiple implementations, both commercial and non-commercial, both become more viable. To the extent the competition between them is broader than a contest between vendors and consortia of vendors, we all benefit. Mono could certainly fail for any or all the reasons Jacques cites: technical, legal, cultural. But I hope not.
Former URL: http://weblog.infoworld.com/udell/2003/03/17.html#a640