This project is read-only.

Standardize C# and VB.NET

Topics: General
Nov 11, 2014 at 10:21 AM
Edited Nov 11, 2014 at 10:22 AM
Latest standardized version is C# 2.0. If you want to better compete with Java and C++ (currently fast patching), C# cannot be closed. Do the same with VB.NET. Keeping these languages as closed, is somewhat against opening Roslyn.
Nov 11, 2014 at 4:08 PM
There is work being done on making C# 5.0 an ECMA standard.

That being said, I don't see how could you consider "the language spec is published and is available gratis" to be "closed".
Nov 11, 2014 at 4:33 PM
Not being standardized does not mean being closed. You can grab the full specification from msdn:
http://msdn.microsoft.com/en-us/library/ms228593.aspx
http://msdn.microsoft.com/en-us/library/ms234437.aspx
or if you have VS2013 installed you already have it in:
%ProgramFiles%\Microsoft Visual Studio 12.0\VC#\Specifications\1033\CSharp Language Specification.docx
%ProgramFiles%\Microsoft Visual Studio 12.0\VB\Specifications\1033\Visual Basic Language Specification.docx
The compiler infrastructure is now open, Mono's C# compiler is also open-source. What would an approved standard add to C#`s competitivenes? Most popular languages (e.g. Java, PHP, Python) were never standardized anyway and those that were (e.g. C++, JavaScript, SQL) are notorious for having lots of incompatible implementations.
Nov 11, 2014 at 5:21 PM
What restrictions are there on those specifications? Could I for example print them out? Or get a print shop to print them and bind them?
Nov 11, 2014 at 7:06 PM
Edited Nov 11, 2014 at 7:10 PM
@All above
None entity except MS, can make C# / VB.NET compiler/tools AND SELL IT. Open specification != total freedom.
Nov 11, 2014 at 7:39 PM
Edited Nov 11, 2014 at 7:52 PM
codefox wrote:
@All above
None entity except MS, can make C# / VB.NET compiler/tools AND SELL IT. Open specification != total freedom.
They absolutely can. I am aware of two commercial C# implementations that are both faring fairly well.

Xamarin Platform
RemObjects C#

Both of these two implement language features through C# 5.0 and I know that RemObjects is working on the more stable features for Roslyn.

Microsoft actively promotes Xamarin and has even extended official support to Mono for the next release of ASP.NET.

Microsoft is still actively working with ECMA to update the specification for C#, but standardization is not a fast process. If you wanted to see a full specification standardized and approved through ECMA and/or ISO you'd be waiting on Roslyn for probably more than a few more years.
Nov 11, 2014 at 10:16 PM
@Halo_Four
Xamarin support C#5, but they had to buy license form MS. After standardization C#5, they can use it for free, but problem return with c#6.
Nov 11, 2014 at 10:32 PM
codefox wrote:
@Halo_Four
Xamarin support C#5, but they had to buy license form MS. After standardization C#5, they can use it for free, but problem return with c#6.
I am friends with a compiler developer of RemObjects C# who says that there is no such license. Xamarin is Mono which has been around since C# was 1.0 and there has never been a licensing scheme for C#, the CLR or anything else. They have always offered free versions of their CLR and compiler implementations which is also generally incompatible with paid licensing and royalties. According to Mono's own FAQ they make use of the IP provided by Microsoft through grants through ECMA, .NET Micro Framework, code grants through MS-PL and Apache2, and the Open Specification Promise.

So, in short, got a cite?