Digital Edition

My December Trip To Microsoft
My December Trip To Microsoft

“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.

Alan Williamson


by Rick Ross
Founder, JavaLobby

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…

Rick Ross

(For The Ross Report and JavaLobby Reader Feedback Click Here)

About Alan Williamson
Alan Williamson is widely recognized as an early expert on Cloud Computing, he is Co-Founder of aw2.0 Ltd, a software company specializing in deploying software solutions within Cloud networks. Alan is a Sun Java Champion and creator of OpenBlueDragon (an open source Java CFML runtime engine). With many books, articles and speaking engagements under his belt, Alan likes to talk passionately about what can be done TODAY and not get caught up in the marketing hype of TOMORROW. Follow his blog, or e-mail him at cloud(at)

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 2

Face it, .NET is here and isn't going away. Java architects are even going to have to learn it to some extent in order to understand one of the major client tools which are going to be interfacing to the Java world. Swing is not cutting it, and not everyone is going to be able to use JSP and Servlets for UI for every purpose!

Web Services are a major step forward in interoperability between Java and .NET. Unfortunately they allow Microsoft greater access to the server market, but there it is. We can't rely on our competitors to stay stupid but must instead become smarter ourselves. We need better tools to keep up it seems.

The J#.NET support sounds like a toy and not very useful even as a learning tool. Microsoft needs to get the Programming 101 instructors to use VB.NET and C#.NET to get the effect they are obviously aiming for.

What's wrong with you hypocrits?? So noone has the freedom to express what they think anymore? It sounds a lot like the commies to me.

"Keep your friends close, and your enemies closer". If the Java community is to not only survive, but thrive, then it has to know its opponent. To merely blow off .Net as another overpriced and undervalued MS offerring is plain stupid. Like it not folks, MS is here to stay. I do not think Ross sold out because he did not go MS bashing through the whole article. I am fairly new to Java community. I do think Java is the best way to go, and I have been advocated that my shop makes the change for the past few months. I have had the opportunity to work with a few MS tools over the years, and even with their quirks/bugs they still make it fairly easy to build applications. However, MS does not have the power or portability of Java. Which is why I am now very interested in the Java platform. I do believe that Java is the better platform, however, to blindly dismiss .Net is not the right answer either. Heck, why not do to MS what it has done to so many others and steal the best attributes of .Net and make them our own?

Having attended a one-day seminar on .NET (a very complete, right-level-of-technical job), I raise the following points from a developer's vantage):

The .Net platform hinges on the use of 60,000 classes. (The new M$ mantra is: "8 hrs of research and 2 hours of coding"). What is the likelihood of discovering the optimal combination of classes to do the desired task?

How does maintaining an application composed of C++, Java, ActiveX,COBOL,Visual Basic, et al sit with you? Can you routinely find that skill set in one body?

Debugging - see second point...

Design Patterns - (see point one) I'm concerned that this model focuses on the multitude of available classes rather implicit application of design or architecture patterns...I envision many poorly-thought out "hodge-podge" applications...

The footprint for both the IDE and required runtime are ENORMOUS...

well for what its worth... i think that if you truly are not interested in platform independence than a significant component of the j2ee value poposition disappears.

however, you are still faced with making a decision between an architecture which has 5 years of steam behind it (i.e. java) and a 1.0 release of .net. furthermore, i have yet to get a solid answer on the .net security architecture!!!!

correction.... ms did not discover xml. in fact if anyone holds credit it would be hp. listening to a ms rep. discuss soap, you would think that they did in fact architect the xml standard, but nothing could be further from the truth.

and what is your thought about window's dependency?

Yes, you may want to write once and run anywhere. Ladies and Gentlemen, if you cannot cope with several Programming Languages in the market, simply stay out of the game.

If the idea of write once and run anywhere, why not get all the hardware companies to agree on creating only one platform, instead of all the varieties that we have today? Tell that IBM, Sun, HP, etc. Ask everyone to adopt Oracle!

I tried Java for some time, but after reviewing .NET and C#, you had better be ready for a revolution. MS did it again, like they did with ASP. Now we have JSP, PSP, PHP.

If all major computer companies are against MS to some degree, go figure!

As for me, I won't bet my life on Java alone, simply show me the dollar, and be rest asured I will rise up to the occasion. I will learn .NET. I love the idea of learning something new. Besides, .NET will succeed big time. MS is betting their life on it, and they surely got the right kind of people to do it.

The Architect of Delphi (by Borland, the greatest GUI tools ever created. It has the power of C++ and the ease of Visual Basic!) is also the architect of C#, and I have found several similarities between those tools.

.NET will allow several programming languages to be used. Thus, a company can leverage the skill sets of their programmers, rather than been forced to learn a single language. Let me tell you, I am not a Java programmer. It is a great tool, and quite easy to learn. Try C#, you will never turn back.

Rick is open-minded. No one has the monopoly of creativity. Thus, Sun cannot be any better than Microsoft.

Long live "Your Royal Highness, King Bill Gate!"

Since the reference to US and China relations have been already established, then we should take it one step further. It is actually a good analogy. While it appears we are making good economic progress with China they are ideologically opposite. They will never, in our lifetime be free. What kinds of freedom are available in China? Freedom of the press? I don't think so. China is trying so hard to make it look like they are "open" just to make economic headway.

Obviously the Ross report did not take a truly journalistic view of the visit. Either the author has already made up his mind and tried to conceal that or he just wasn't listen to what he was saying.

The Seduction:
"Microsoft may be starting to remember that it needs to love developers, and Java developers are in the sweet spot"
Making it sound like here is a great opportunity for Java developers and they have the chance to get in on the ground floor.

I use to program in VB back in the days it cost $89. Then I also went for the next version at $129 and the next version at $189. But when the next version went to $229 and up, I started looking elsewhere. What I found was much more interesting and had much more potential for me. Instead of having my Windows desktop as the center and using VB to bring back data from other platforms, I could write for those platforms on my Windows desktop. Then distribute them to the other platforms confidently knowing that the JVM running there was the compatible with what I was using (AS400's, Mainframes, Linux servers, NT and Win2k). I am not saying .NET is bad I am just saying it is not for me. As for Mr. Ross, as a reporter he could have been a little more objective instead of being more persuasive.

Is there any tool out there that is as easy to use as VB for Java? While NT 4.0 and Windows 2000 haven't killed Unix and won't they are selling a few copies I believe. They aren't going away and neither is .NET so what is the arguing about. For some tasks .NET will be the better tool and for some Java. Last time I checked their were a couple of guys doing VB and C using MS tools and I'll bet they give .NET a try. Unless it sucks and it won't they will do some things in .NET that will be sold as part of products..etc. Hari Krishna, Mac, Java, .NET don't get too hung up..get a real life....they are just products/tools to accomplish a task. Both will be around for a long time to come is my bet.... I like the Mac the Windows platform started to dominate and still today people continue to say Mac is better because unless Java improves in usability with the GUI, external devices, ease of coding it will be steamrolled by MS(for most tasks) just like the Mac, Netscape, Palm, etc. I like Java..even helped bring it into my company but don't stick your head into the sand because when you look up you won't be happy. If you love Java fix the obvious problems that MS will do well or the future is clear but don't let me interfere with time your spending saying MS is going nowhere..

Do the advantages of J2EE evaporate in a client environment in which the MS operating system is a given?

Also, how about for a GUI-intensive application where intuitive UI development is important? Does anyone really like Swing?

Just curious.

.Net - Who cares, it is an improvement over COM+ - not backwards compatible - .Net copies java app server concepts. But you have to will have to move your users to the XP platform at a cost of $750 (includes license + install time) and you will have to install active directory and upgrade all sorts of stuff. Office XP - Exchange XP SQL Server .Net. Blah Blah Blah.

None of this generates revenue or saves a company money. So when of if corporate America wakes up - it will be interesting.

Once you buy into MS's arguments, you will be forever stuck with them and their technology and products, for better or for worse! Java's one, main benefit which MS will never come close to addressing is portability. They want you to run Windows or nothing!

I, for one, will not get stuck in MS Land! I can write Java and deploy anywhere, using a variety of tools and OS's. When customer environments change, I can change my apps with them without rewriting the app.

.Net is just one more attempt by MS to make the world theirs, not by really creating the first of anything, but by seeing how things go and then stealing the best ideas.

I don't have anything against most normal companies pushing their products hard, but MS simply buries their competition by taking advantage of their monopoly status, to the detriment of us all in the long run.

If they (MS) give me the choice of their way or the highway, I will choose the highway, every time! If and when I have reasonable choices, I may choose their product(s) as the situation fits, I simply refuse to be dictated to!

QUESTION: Tooth fairy, Easter bunny, EJB programmer and a .NET programmer
all meet at a four way intersection.

Which one has the right of way?

ANSWER: EJB programmer, the rest are all figments of your imagination.

Despite all the talk about .Net, .Net still continues to be unreleased. So it is not surprising that mature, proven solutions such as provided by the dozens of Java based products out there, are completely dominating the market.

The real battle has yet to come. First MS will release their .Net development tools, then some developers will use them. Once what they create has matured, we can make a fair comparison. In other words, about two years from now we will be able to compare.

Of course Java delivers today what .Net promises to deliver in a few months(/years/decades?). Of course Java will continue to improve (probably jdk1.5 will already be in beta by the time .Net hits the market). But we will see what happens.

The bottom line is that it is unfair to compare todays Java solutions to what microsoft intends to release in the future. Visual Studio .Net will no doubt be a very decent IDE (at least that would be consistent with previous releases). However, beta releases are no good for production development.

The earliest we can see serious acceptance of .Net is still quite some time away (late 2003 would be optimisitic IMHO). So there is plenty of time for java to improve even more. And since there is fierce competition among java server products (many of which are free BTW) I expect some major improvements to come before .Net becomes a significant factor.

Anyhow, if you plan to release server products in the near future, Java is your only option.

How can this article spark any real J233 vs .Net debate? Most of the (admittedly well-written) article did little but describe how smart and capable the Microsoft managers/presenters were. That's great, but really-- would you rely on your most dim-witted people to describe how great this platform supposedly is?

That being said, I must agree somewhat with what Rick Ross has said. I do think that .Net will be a platform that Java developers will have to deal with. Whether we like it or not. Furthermore, and I amdit to being guilty of this myself, if Java developers blindly put down .Net without at least a basic understanding of it, we stand to be humiliated where we stand. That holds true whether .Net is the greatest development breakthrough since C++ or whether it is as bad as Visual Basic v1.0.

And, while I'm not by any means an expert on what .Net will/won't provide, I do think you guys are right on with why JDK1.1.4 is supported. If (and this seems to be the case), JDK1.1.4 will be the last and only JDK supported under .Net, Microsoft must then be planning a serious push to make Java developers into C# developers.

Feedback Pages:

Subscribe to the World's Most Powerful Newsletters


In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at, will ...
Modern software design has fundamentally changed how we manage applications, causing many to turn to...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every ...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with exp...
Today most companies are adopting or evaluating container technology - Docker in particular - to spe...
"There is a huge interest in Kubernetes. People are now starting to use Kubernetes and implement it,...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually ne...
Using serverless computing has a number of obvious benefits over traditional application infrastruct...
At its core DevOps is all about collaboration. The lines of communication must be opened and it take...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with exp...
As you know, enterprise IT conversation over the past year have often centered upon the open-source ...
When a company wants to develop an application, it must worry about many aspects: selecting the infr...
In an age of borderless networks, security for the cloud and security for the corporate network can ...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily ...
Kubernetes is an open source system for automating deployment, scaling, and management of containeri...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple ...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices h...
DevOps has long focused on reinventing the SDLC (e.g. with CI/CD, ARA, pipeline automation etc.), wh...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple ho...
Isomorphic Software is the global leader in high-end, web-based business applications. We develop, m...