Why is C # an open standard but .NET isn't?

Why is C # an open standard but .NET isn't? What is the meaning of this? Why is Microsoft choosing to open only a subset of its .NET?

+2


a source to share


5 answers


The various parts of the .NET runtime are indeed standardized by ECMA the same as C # - CIL, CLI, CLS.



+8


a source


.NET is a runtime and C # is a language. C # can be compiled and run in other modes of operation like Mono. Actually, I don't know of any other running times besides Mono, but since the spec is open to C #, you can read it and create your own runtime.;)



+7


a source


C # like Java, C, C ++, etc. is just a language definition. By itself, it does nothing. It defines the means by which a user can define a program or procedure and an interface with external libraries.

On the other hand, .NET is not a language. It is a class library and development framework.

+4


a source


There is actually an open standard ( ECMA 335 for the api runtime instead of ECMA 334 for the given language).

Going beyond that, the source code for Microsoft.Net is available and there are several separate implementations (the most notable of which is mono ).

There is some additional concern about patent encumbrances. However, Microsoft has also released a legally binding and irrevocable community promise on the .Net platform that covers both specifications (many people do not have a legally binding part).

+2


a source


I assume you mean frameworks. I think they want to keep control of the library implementation in Windows. Nothing prevents someone from implementing a code-compatible version of all or part of the framework based on their own source, as Mono did.

+1


a source







All Articles