On .NET and Java being "unrelated".
It's technically true, that the
.NET platform is not derived from Microsoft's J++ stuff.. its superficially
Java-like (and the C# language is also very Java-like) but .NET had the benefit
of coming second, so they could already look at the existing Java VMs and their
design weaknesses. They could also see the strengths (e.g. the binary
compatibility of bytecode across different target platforms and even different
CPU architectures) and .NET was obviously designed to give the same
benefits.
They made .NET with an explicit goal of supporting multiple
different languages, and supporting proper interoperability between any of the
languages. So .NET has an "object model" which all of the .NET-hosted languages
need to conform to or implement in some way, but it enables you to write a class
in one language and then sub-class it in a different language, for example!
Because it's the same object-model underneath. It's expressive enough to handle
a managed flavor of C++, and functional languages like F# and Haskell, and a
bunch of others.
While the Java VM can also support multiple languages, its
design was initially very Java-centric. Most of the existing languages at the
time Java launched had features that you could not adapt to a Java VM in a
sensible way. Most of the languages that can run on a Java VM were developed
after the Java VM, and could take its quirks into account.
.NET is
not perfect either, but its architecture is a bit more "well rounded" when it
comes to supporting other languages. Of course C# and VB.NET get most of the
attention, but Microsoft Research has some famous people working there on F# and
other stuff.
.NET was mostly shunned by the open-source crowd because it was
"single-source" and that single source was Microsoft (an untrustworthy ally if
ever there was one), and Java was usually preferred instead. Thanks to Oracle,
we might now see that trend reverse! After this lawsuit, Java now looks at
least as closed and proprietary as .NET was.
On the lesser of
two evils:
So we now have two software VM platforms to choose from, both
owned by a single control-freak steward company.
Microsoft is like an
elderly and diseased animal, usually docile, but it might turn rabid and
aimlessly attack from time to time. In comparison, Oracle is an angry vampire,
wanting to suck the blood of the Java community. Or maybe Oracle is just a
necromancer, and Zombie-Former-Sun is its reanimated corpse. I'd rather be
locked in a room with the lawyers of MS-Animal than those of Oracle-Zombie. [ Reply to This | Parent | # ]
|