Cook Computing

.NET Runs on Multiple Platforms?

January 9, 2003 Written by Charles Cook

In a response to the first batch of Carlos Perez' 101 Reasons Why Java is Better than .NET Ted Neward writes:

This promises to be interesting and potentially dangerous. His very first point, "1. Run on multiple platforms from the smallest devices to the largest mainframes", a simple restatement of WORA, isn't a differentiator--.NET runs on multiple platforms (Linux, Mac OS/X) and devices (Windows CE) just as Java does. He's going to have to do better in subsequent posts.

Come on, Ted, you can do better than that. Your blog readers aren't a bunch of PHBs who'll get taken into by that sort of marketing fluff. From the point of view of developing real applications .NET only runs on 32-bit Windows (64-bit Windows 2003 Server is not going to include it).

Although an open source Linux implementation is under development and, patent restrictions permitting, may be a compatible platform in the distant future, I haven't heard anything about Microsoft approving this and providing some process for verifying that implementations are compatible.

All you can run on MacOS/X is Rotor, which is a research/educational implementation which does not contain the full range of libraries available under Windows. Even with this restriction the Rotor licence does not allow you to write commercial applications.

If you had a large sum of money to invest in a product which had to run on various platforms, would you go with Java or .NET? Java may have its flaws but at least you would stand a chance of implementing something. The big difference between the two environments is that Sun is at least promoting Java as a serious multi-platform environment. I don't think you can say Microsoft are doing the same.