Last month I wrote about MSH ("Monad"), Microsoft's new command shell, and demonstrated the software on my blog. The column-plus-demo drew favorable reactions not only from the Windows crowd, but also from Unix/Linux folk who saw the MSH object pipeline as a genuine innovation. They're right.
As Windows steadily evolves into a family of products that integrates by means of managed objects, all sorts of benefits accrue. Interfaces are easier to discover. Composite applications come together more quickly and, thanks to modern exception handling, behave more reliably. The chasm that separates command-line oriented applications from graphical applications becomes easier to cross.
All this adds up to an imminent challenge to Unix/Linux. In that ecosystem, Java is the logical counterpart to .Net in the Windows world. Despite its huge head start, though, Java has done surprisingly little to rationalize basic system management and integration in the Unix/Linux realm. It's understandable, if regrettable, that Linux and Java have never intertwined as intimately as they might have done. For all its potential value, the union would have had to overcome deep divisions. On the technical front, Java's object-oriented purity can seem to float above the gritty realities of the C and C++ trenches. And on the cultural front, Sun's ownership of Java conflicts with Linux's open source purity.
Why, though, hasn't Sun done more to bring these worlds together? With its strategic stake in Java on the one hand and both Solaris and Linux on the other, you'd think it would make sense to combine these technologies in more than just a rhetorical way.
The wild card here, by the way, is Novell. With Suse and Ximian under one roof, it's at least conceivable that Microsoft's Windows strategy could play out on Linux in terms of Mono, the open source implementation of .Net. That's an incredible long shot, of course, but the synergies are worth pondering. [Full story at InfoWorld.com]
Although my original column on MSH drew some attention, the reaction wasn't quite what I was expecting. But as a couple of readers reminded me this time around, MSH is still pretty well hidden in the skunkworks. Peter O'Toole at mTuitive wondered whether I had gotten special access as reviewer. Actually no. I did what everyone else has to do: log in to beta.microsoft.com, request the software, and wait 24 hours. O'Toole suggests that this process -- in particular the waiting period -- means that a lot fewer people are playing with MSH than otherwise might be. I'm sure that's true.
In any case, the point is that while MSH is great stuff, it's meaningful only in the context of .NET classes that expose and organize interfaces to Windows system services. I've wondered for a long time why Java classes don't do the same for Linux and Solaris system services, and I hope this column provokes some useful discussion on the topic.
Former URL: http://weblog.infoworld.com/udell/2004/12/22.html#a1139