writing C# code which doesn't target the common language runtime (CLR).

C

C# Learner

Daniel O'Connell said:
Hrm, I see. Well, by my understanding, it is a language although it really
usually isn't a language. Most of the time Visual C# should be identical to
C#, the difference will only come when a feature is added to MS's C#
implementation that isn't in the spec. The lines are blurry and hard to
determine, but since Microsoft product names usually apply as the language
name as well(Visual C++ is Visual C++, there are some MS specific
extensions), it seems to be the case. As far as I am concerned, its all C#.
The only other major compiler(mono) emulates csc, not the ecma spec(although
they both are pretty conformant to my knowledge). I feel its safe to call it
C# and will rarely, if ever, call the language Visual C#. Its still a matter
of technicality.

Thanks for the explanation. I now concede defeat.
 
D

Dmitry Kostenko

Daniel said:
No, an excerpt from the framework compiler's about text:
Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322

Visual C# is a product name, there is the Visual C# IDE, the Visual C#
compiler, maybe a thing or two else as well. As with all things, MS's C#
compiler isn't *perfectly* ECMA compliant, nor is monos(which seems to be
aimed more at MS compliance than ECMA compliance) or any other one I know
of. Its more apparent in Whidbey, generics, iterators, etc are not
standard(yet) pieces of the language. Any specifics that aren't standardized
would be Visual C# extensions.

All in all, its really rather subtle and unimportant, don't you think?

Yes really. Just like C++. The language is C++, but the
implementations are:
- Microsoft (Visual) C++
- Borland C++
- Watcom C++
- GNU C++
- more and more follow....

They are all just implementations
(I don't want to say just compilers, because C++ covers more that
just source file format).

Remember difference between JavaScript and JScript:
- JavaScript is Netscape's implementation of ECMAScript,
- JScript is Microsoft's implementation of ECMAScript.

The language infact is ECMAScript, see standards for it at ECMA.

And the same is with C#. The language is C#. Implementations are:
- Microsoft (Visual) C#
- Mono C#
- Anything else follows??? correct me!

I say implementation because it can consist of compiler, standard set of libraries, some specific
libraries (just like VCL of OWL for Borland), IDE, Debugger, runtime etc.

So there can be Visual C# compiler, IDE etc.... And there can be Visual C# dialect (non standard),
it's up to Microsoft whether to implement standards.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top