The article contains some (wilfully?) misleading errors by conflating the CLR/CLI with the CLS. The CLS is a subset of the capabilities of the CLR/CLI. Osvaldo Doederlein talks about the CLR/CLI/CLS as though they are identical. This is an error, and leads to invalid conclusions - for example, the CLR is capable of supporting multiple inheritance. The CLS recommends that you shouldn't use multiple inheritance if you want your component to be useable in other languages. Why would a Java advocate present such a misleading view? This is what I'd call bias.
There are a number of other omissions in this article, which I've posted elsewhere.
There probably aren't too many unbiased ones out there. Here's an article
from Microsoft research. Explains MSFT's position on why the CLR is better than the JVM for language integration.
The article misses some important points:
"The CLS only supports single, static inheritance. "
Please distinguish the CLS (Common language specification) from the CLI (Common language infrastructure). The CLI is the ECMA specification for the Microsoft "Virtual Machine".
The CLS is a proper subset of the capabilities of the CLI (Which DOES support multiple inheritance, by the way). The CLS is a recommendation for programmers who want to develop components which can interoperate with a wide variety of languages.
"There is currently zero support for generic programming in the CLS."
Again, understand the difference between CLS and CLI/CLR. The current version of the CLI/CLR does not support generics, either, though Microsoft has stated that the next version does have support for generics.
"For the CLR, we can certainly rely that everything is optimized to favor C#. The result will be inferior performance for any language which behavior is significantly different from C#."
True, but
1. The goal is language interoperability
and
2. Microsoft admits this quite explicitly.
So the one of the central claims of the article that Microsoft claims that this is a tool which does all things for all people, is quite false. Microsoft very clearly acknowledges the limitations of the CLR.
Also, take a look at work at Microsoft Research, which explains how MSIL can be extended to include a number of features for functional languages (one of the complaints of the article).
All I can say, is that the Microsoft bashers need to take a closer more honest look at the CLI/CLR, understand it, and the huge benefits its going to bring before they bash it.
The article contains some (wilfully?) misleading errors by conflating the CLR/CLI with the CLS. The CLS is a subset of the capabilities of the CLR/CLI. Osvaldo Doederlein talks about the CLR/CLI/CLS as though they are identical. This is an error, and leads to invalid conclusions - for example, the CLR is capable of supporting multiple inheritance. The CLS recommends that you shouldn't use multiple inheritance if you want your component to be useable in other languages. Why would a Java advocate present such a misleading view? This is what I'd call bias. There are a number of other omissions in this article, which I've posted elsewhere.
There probably aren't too many unbiased ones out there. Here's an article from Microsoft research. Explains MSFT's position on why the CLR is better than the JVM for language integration.
The article misses some important points: "The CLS only supports single, static inheritance. " Please distinguish the CLS (Common language specification) from the CLI (Common language infrastructure). The CLI is the ECMA specification for the Microsoft "Virtual Machine". The CLS is a proper subset of the capabilities of the CLI (Which DOES support multiple inheritance, by the way). The CLS is a recommendation for programmers who want to develop components which can interoperate with a wide variety of languages. "There is currently zero support for generic programming in the CLS." Again, understand the difference between CLS and CLI/CLR. The current version of the CLI/CLR does not support generics, either, though Microsoft has stated that the next version does have support for generics. "For the CLR, we can certainly rely that everything is optimized to favor C#. The result will be inferior performance for any language which behavior is significantly different from C#." True, but 1. The goal is language interoperability and 2. Microsoft admits this quite explicitly. So the one of the central claims of the article that Microsoft claims that this is a tool which does all things for all people, is quite false. Microsoft very clearly acknowledges the limitations of the CLR. Also, take a look at work at Microsoft Research, which explains how MSIL can be extended to include a number of features for functional languages (one of the complaints of the article). All I can say, is that the Microsoft bashers need to take a closer more honest look at the CLI/CLR, understand it, and the huge benefits its going to bring before they bash it.