Java Industry News
The Controversial "Ross Report" on Microsoft & .NET
The Controversial "Ross Report" on Microsoft & .NET
Nov. 30, 1995 12:00 AM
?If the USA and China can have healthy economic trade despite significant ideological differences, then there's a possibility that those of us in the freedom-loving Java world can engage in healthy economic trade with the many millions who will be locked into Windows and .Net.?
Rick Ross, in The Ross Report
Back in November, in a move that many Java developers likened to the wily fox inviting the unsuspecting hen round for a candlelit dinner, Microsoft Corp extended an invitation to JavaLobby founder Rick Ross to come to its Redmond, WA, headquarters in December?and check out .NET firsthand.
The invitation was the direct result of a public challenge the notoriously MS-skeptical Ross had issued to Microsoft in October: ?If Visual J-Sharp is really so great,? he had written, ?let Microsoft prove it.?
Ross promptly accepted the invitation. He flew to Redmond. His resulting report, circulated to his JavaLobby members last week, sparked what the astonished founder describes as ?more feedback, period, as well as more positive feedback, than any other item that?s ever been published on JavaLobby's site."
Clearly MS realizes that two-thirds of all significant enterprise distributed application development is based on Java and J2EE and now wants a bigger slice of that huge market. So, have they ?brainwashed? Ross?
The First JavaLobbyist himself, who is by no means an unsuspecting hen but on the contrary a fiercely independent thinker with a huge passion for Java development and developers, says not.
?Many of the people who have written postings to JavaLobby since my report was sent to members,? explains Ross to JDJ, ?were just reacting I think to the fact that I would even mention .NET?but they seem somehow to have missed my explicit message, right at the beginning of the whole Report, that .NET in my view represents what it always has and always will represent: a ?platform lock-in to Windows.?
?Ignorance about .Net within the Java community,? concludes Ross in his report, ?is much more dangerous than informed awareness.?
But what do you think? True to our tradition of letting developers decide issues for themselves based on the facts, the editorial board of JDJ says: let readers of JDJ judge for themselves.
Accordingly, here?s the ?Ross Report? in full.
by Rick Ross
The .Net "master brand" touches every one of Microsoft's business units, and the company appears to be more organized, aligned and excited than I have ever seen it.
The developer tools they have integrated into Visual Studio.Net are genuinely powerful and attractive, but the price is the same as it has always been - platform lock-in to Windows. Microsoft is actively working through ECMA to standardize the CLR, C#, and much of the .Net framework - a path leading ultimately to ISO. This ECMA effort may be primarily symbolic, however, since only a player with enormous resources and funding could possibly implement the standard. If you use .Net you can expect to be using it only on Windows for a long time to come. Even on Windows alone the .Net platform will be a formidable economic force that will eventually touch most of us, if not all of us.
The Strategic Value of Java Developers
Microsoft may be starting to remember that it needs to love developers, and Java developers are in the sweet spot - very frequently controlling decision making power and influence over the distributed enterprise apps on which .Net's success will depend. There are signs that Microsoft may wish to renew good relations with the deeply alienated Java developer community, but cleaning up the mess it has created over the past few years would take amazing diplomatic skill and require concessions that I doubt Microsoft is able and willing to make. Certainly nothing could alter the cold rivalry between Microsoft and Sun, but things could get very interesting if Microsoft somehow found a way to win back a modicum of trust and respect from Java developers. Could Microsoft possibly be that smart? What would it take? It?s a scenario that is hard to even imagine...
Observations & Opportunities
In many ways I think developers and consumers should welcome the emergence of .Net as a powerful competing force that will definitely keep the pressure on Java technology to adapt, evolve and improve. In fact, .Net will even provide new market opportunities for Java-based web services since they are so easy to use within VB.Net and ASP.Net. Web services could be a critical factor in the mix, since the XML-based technology reduces the pressure for people to code in the same language in order to work together cooperatively. Business is business, so if Java developers can reasonably expect to profit from interoperating with .Net, then many will probably at least be willing to listen.
Faces of Real People, Not the Death Star
Microsoft is a most gracious host, and I was genuinely impressed by the intensity and intelligence of the people who presented the enormous set of products and technologies they will market under the .NET "master brand". These individuals were organized, informed, patient, thoughtful and non-defensive - people who were easy to like and whom I am glad to know. As one JL member wrote to me before my trip, the walls in Redmond are not painted black like the Death Star. It was a very comfortable and engaging place, though I could do without the rain.
An Excellent Group Was Present
The group they had invited to the 3-day briefing was small, and I was delighted to find myself in the company of distinguished Java authors like David Geary, Gary Cornell and Mark Grand. With such excellent Java experts on hand the conversations were dynamic, even exciting. The questions we fielded and the answers we received were articulate. It's fair to say that everyone learned a lot, and I'm sure it was a fantastic opportunity for Microsoft to observe what reactions they should expect from others in the Java world.
The Agenda Was Jam-Packed
The days were packed with back-to-back sessions on the Common Language Runtime (CLR), Visual Studio.NET, C#, ASP.Net, ADO, the .Net framework classes and api's, security, mobile development, and of course, Visual J#.Net. Key architects and managers like Anders Hejlsberg, Jim Miller, Mark Anders and Mike Smith gave skillful presentations on many aspects of Microsoft's .Net effort, now 4 years in development. Among the most interesting presentations was the one on Visual J#.Net, given by a pair of managers from the Indian team that developed it, with their top manager attending by videoconference from Hyderabad.
Jim Miller on the CLR
I was captivated by the presentations by Jim Miller on the CLR and by Anders Hejlsberg on C#. These are incredibly bright men leading well-funded and highly motivated teams on major projects. You couldn't have listened to Jim Miller talk about the challenges his team faced in designing and building the CLR and not have come to respect the man. He's smart as hell, very interesting to talk to, and he has been working on some very tough problems and achieving successes with some innovative solutions. CLR is not just the Java VM warmed over, though I suspect a lot of Java developers will be inclined to see it that way. I hope we'll soon be able to get Jim into an online presentation and dialog with JavaLobby members about CLR. I enjoyed meeting him, and I think you'd enjoy the chance to hear what he has to say and to pose your questions.
Anders Hejlsberg on C#
Anders Hejlsberg also offered a very solid presentation on his goals and achievements in the C# programming language. His arguments for C#'s features were well formed and reasonably compelling. He was not on the attack, denouncing Java and advocating his new C# language as intrinsically superior. Instead, he was respectful of its evolutionary nature, and he openly acknowledged having adopted useful features from many prior languages. I found myself wishing his voice had not effectively been excluded from the dialog about the evolution of Java when his corporate masters decided to make Java the battleground for war with their peers at Sun. In my opinion we could use more dynamic range in that dialog, and I don't think we should necessarily be so conservative that we regard the core language and bytecode specs as sacred and immutable. There are appropriate motives and methods for evolving the core language and platform, and Anders would probably have made the case well for language additions which I could see myself using if they became standardized.
The Tools That Might Have Been
One of my major regrets about Microsoft's alienation of the Java world has always been that their fantastic talents and resources were not focused on advancing the state of the art in Java development tools. With all respect for the fine efforts of the many Java tool providers on whom we all depend, the Microsoft developer tools are unequivocally among the world's best. Any of us can easily find fault with aspects of Visual Basic, but I have never seen anything in Java that makes user interface programming so simple and accessible for the average programmer. It makes me wonder what tools we would have if Microsoft had pushed forward continuously on Java tools since 1997 when they basically stopped?
Visual Studio.Net - The Tools That Are
Well, the answer is probably located somewhere within the Visual Studio.Net product. It integrates the design, development and testing experience for the more than twenty programming languages and the numerous frameworks that comprise the .Net platform. VS.Net is a "tour de force" powerhouse, and it is readily extensible by third-party tool providers. There are already commercial add-ins coming online, and the VS.Net product isn't even officially launched yet. It appears the development experience is more integrated in VS.Net than ever before. It was impressive how many different tools and capabilities were demonstrated by the various presenters, all within the scope of the comprehensive master program. They did nearly everything inside of VS.Net, almost never leaving it.
An Integration Opportunity?
I wonder if someone will see a market opportunity for integrating Jikes, ANT, and the real JDK into this environment? It certainly seemed like some Java integration would be feasible and even easy, but it would obviously take more exploration to understand what the potential benefits would be? I cannot imagine that Swing integration at the graphical design and layout level would be reasonable or practical within VS.Net, but building and deploying XML web services could be. Under the right circumstances integrating VS.Net and Java could be a very interesting project.
Visual J#.Net - Not What We Thought
Visual J#.Net is an intriguing product, if somewhat enigmatic within a larger view of .Net as a platform. It turns out that Microsoft completely botched the initial "leak" about J# and JUMP to the media, positioning it a tool to "help" Java programmers convert their Java code to C#. That was a foolish marketing mistake that will probably forever discolor the reality that J# is a much more sincere effort at providing first-class Java support (up to a point) within .Net. J# is not a code converter at all, but rather an implementation of nearly the entire JDK1.1.4 platform inside of .Net. I suppose JDK1.1.4 is the point at which Microsoft's rights terminate under the settlement of the Sun lawsuit. Of course, Microsoft has stubbornly chosen to exclude RMI and JNI from the J# package, just as they did in Visual J++ and IE4. Key managers did, however, express some recognition that not much is really achieved by these exclusions, and they may relent on the RMI package before the product ships.
Compatible, In That Microsoft Kind Of Way
The interesting thing about Visual J#.Net is that Microsoft claims it passes the full 15,000 tests of the Java conformance testing suite. I don't know how it could do this without RMI and JNI in there? Even if you exclude the tests involving those features, however, it would still appear that Microsoft has invested significantly in creating a Java implementation for .Net that is as conformant as they could make it. We watched an applet with AWT graphics compiled, deployed and executed by J# within the .Net runtime, which was pretty cool. They have also added extensions to J# so that people can use Java more effectively in conjunction with inline metadata and other features of .Net. The "delegates" capability that caused so much consternation in Visual J++ is also present in the new package.
Why Make Visual J#.Net Anyway?
So why did Microsoft create Visual J#.Net? I mean, it took a lot of money and effort to provide this much support for the Java programming language and platform within the .Net frameworks. I haven't seen the J# product positioned very prominently within the marketing materials and datasheets that are starting to come out, but it is definitely real. The stock answer is to provide support for VJ++ users, but the answer posed by Gary Cornell may well provide the best explanation: Java is the language now used by nearly all academic programming courses. If Microsoft does not have support for Java, as a language, within its new developer tools, then it is sure to have a very difficult time gaining acceptance for Visual Studio.Net within academia. Colleges cannot have students using VS.Net for "Programming 101" if it doesn't support Java, because Java is the language they now use to teach "Programming 101." Simple, academic use of Java does not require advanced conformance with current Java platform standards. You can teach loops, conditional statements, and principles of object-oriented programming well enough with JDK1.1.4. Right on, Gary, sounds like a plausible motive to me.
My Conclusions, For The Moment
In conclusion, the .Net platform is huge, and we will all probably encounter it in one form or another. It seems to me that ignorance about .Net within the Java community is much more dangerous than informed awareness. I realize that it's only natural for Java developers to consider Microsoft's offerings to be suspect, but I think we should not close the door on .Net blindly. There will soon be a lot of discussion about the comparative pros and cons of J2EE and .Net, and J2EE won't win by default just because .Net originates from Microsoft. Interestingly, there may even be some excellent opportunities for the Java world and the Microsoft world to interoperate profitably via XML web services. If the USA and China can have healthy economic trade despite significant ideological differences, then there's a possibility that those of us in the freedom-loving Java world can engage in healthy economic trade with the many millions who will be locked into Windows and .Net. Stranger things have happened?
(For The Ross Report and JavaLobby Reader Feedback Click Here)