dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]This Year in DotGNU 2002


From: Fergus Henderson
Subject: Re: [DotGNU]This Year in DotGNU 2002
Date: Thu, 2 Jan 2003 01:54:30 +1100
User-agent: Mutt/1.3.28i

On 31-Dec-2002, Peter Minten <address@hidden> wrote:
...
> If you don't know it yet: .NET can not support all languages, it
> cannot even support most of the popular languages.

This is wrong.
The .NET CLR can support all of the currently popular languages.

> The reason for this
> is the Common Type System used in .NET . The CTS is a set of classes
> which all CLI (Common Language Interface, the specification that
> governs .NET compilers, interpreters, languages, etc) compatible
> languages must understand.

This is wrong.
Languages can run on .NET without needing to understand the whole CTS.

Did you mean to say "CLS (Common Language Specification)" instead of CLI?

CLI normally stands for Common Language Infrastructure,
not Common Language Interface.

> The problem with CTS is that many languages don't support it. To
> support CTS a language has to be redefined at the base level to
> support CTS data types and classes.

This is wrong.  Types in the CTS can be treated as abstract data types
in the language.  So long as the language has some way of providing
abstract data types, as almost all popular languages do, it can support
CTS types without needing any language extensions.

> A change of the data types of a
> language changes the language as a whole causing incompatibility with
> programs written for earlier versions of the language. Imagine the
> problems when you'd redefine the Ruby fixnum (which can be infinitely
> big) to a 32 bits integer.

This is true but irrelevant, since there is no need to change the
data types of a language when porting it to run on the .NET CLR.

> only MS controlled languages are used in .NET

This is wrong.  If you were talking about what is popular, that would
make sense, but what you are saying above implies that Mercury
is "MS controlled" or not used on .NET, both of which are false.

> Because all languages used in .NET have to be designed for the CTS,
> existing languages which are going to be .NET compatible have to be
> drastically modified.

This is wrong.  *If* you want a high degree of interoperability between
different languages (e.g. being able to inherit from classes defined in
a diferent language), then you may need to use some language extensions.
But languages won't need to be "drastically modified".

There are plenty of good reasons for criticizing Microsoft, without
needing to resort to invalid arguments like the ones quoted above.

-- 
Fergus Henderson <address@hidden>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]