[Mono-devel-list] ECMA verrsions of C#
Matthias Kempka
lists at mkempka.de
Sat Jun 26 09:04:14 EDT 2004
Mark Easton wrote:
> Not being a Java nut I might be wrong with this, but my understanding was
> then when someone mentions a Java version number, they're generally not just
> talking about the language version but rather the whole JRE.
Well, yes, that's surely right. My implicit definition of "user" in this
thread is the programmer of a language. Programmers are surely
interested in the language version, since their code must match the
compiler.
> If this is the case then surely Matthias' would be better off fussing over
> the .NET Framework version rather than the C# version? Having said that,
> the Mono roadmap is so explicit about how Mono's functionality maps to .NET
> versions that I guess there wouldn't be any need for any fuss.
Roadmap, that is where I didn't look, but there it is:
# mono: will contain the above features implementing the .NET 1.1 API.
# mono-1.0-compat: Will include a build of the libraries with the .NET
1.0 API, this is a compatibility build for people running .NET 1.0
applications.
Perfectly. Now I know what I was looking for.
And what I'm asking for is that somewhere in the version or about
information of a specific release is the information which features of
the .NET API are implemented. And I can explain why:
.NET is not in the business world yet. It is at the universities (fundet
by Microsoft) where teachers teach it by giving C# courses. And the
students will be (so Microsoft hopes) the ones who in 10 years or so
make the decisions in the industrie pro .NET.
As many people students are not really happy with MS, and they see that
for .NET there is mono, and they give it a try. Now guess, the course is
MS-specific, and they learn just C#, and the version talk in the course
goes so far that C# 2 will contain generics but isn't released yet, so
in the head of people there is just C# version 1.
I guess I am not the only one who doesn't look up every feature in the
documentation but first tries if the compiler takes it the way I think.
Now they find a thing that does compile on mcs but as they hand the
program in it doesn't compile at the teachers compiler. Doubt,
uncertainty, and the information of the binaries (the thing they have at
hand) doesn't give anything beside the mono/mcs version. The resulting
thought is, if I have to be sure I must take the MS compiler.
Still now after this thread and reading the road map, I am still
uncertain what part of the specifications my mcs comiles and how I can
ensure whether my working code will compile on my teachers compiler.
Dennis told me, 2.0 features are turned on by default, the roadmap says
mono 1.0 will contain only 1.1 features, and the mcs faq tells me I have
to turn on 2.0 features (such as method conversion) by the -2 switch.
So, as you may see, something is inconsistent, and just by putting the
information which specification a release tries to match into it can be
a valuable clue.
Matthias
More information about the Mono-devel-list
mailing list