Microsoft on Tuesday said that the International Organization for Standardization (ISO) in April will certify Microsoft’s programming language C# (pronounced C sharp) and the Common Language Infrastructure (CLI), which is underlying software “plumbing” that can run applications written in different programming languages. The ISO standardization will ease Microsoft’s entry into large corporations or governments that prefer certification of commercial products from international standards bodies, Microsoft executives said. Read the story at News.com.
A Standard language and a Standard VM to run it on. Shame the API’s are wrapped up a patents, it might have been useful
it is a programming language…APIs are not part of a language’s standard…..can youy imagine if the windows APIs were part of the standard? oye. I mean sure with C# all the languages functions come from the APIs becasue it has no support libs, but that is not a big deal…….hmm actualy once you think about it, it does make the language realy useless as a standard becasue depending on the APIs it is linked to the language could act diffrently from implimentation to implimentation.
The ISO will certify C# and the CLR for what? What is the point? I don’t get the significance.
Since MS did it it probably won’t work in linux OSs & how secure do you think it will be MS did it?
Both C and C++ have official standards. That means you can take any Windows C++ program and compile and run it under Linux, right?
No, a Windows application uses Windows API calls (not standard), probably MFC, OLE, and other libraries (not standard), etc. That’s about what the C# standard means. Any practical Windows C# program will be Window-only program, just like C++ and C. The .NET Windows Forms libraries are so Windows specific that the Mono project needs WINE to even attempt implementing them.
The Java Community Process is a standards body, and it has defined the Java language and enough libraries to be useful for almost everything, on any implemented platform. So a Windows Java program can be run under Linux or Mac OS X.
The common denominators are important. Even if they’re not great, they’re needed (they can be fixed or replaced later, as Swing vs. AWT, and SWT vs. Swing).
What we need is BOTH a language AND the APIs as part of the standard, and not just the language. That means that API calls would work the same across all platforms.
And I’m not talking about scripting language or languages that run in a shitty VM … I’m talking about real languages you can COMPILE to native code across multiple platforms and operating systems. And if you can’t do that, instead of trying to standardize to a VM that runs at a snail’s pace no matter what platform its on, then standardize the hardware for God’s stake.
And what about the basic classes (types, like int, string etc) ? In C# the basic types are classes -> you can’t create any C# program without API.
” I don’t get the significance. ”
because, it is insignificant. they are just standardizing the language. thats all, but since this is OSNews, aka, .NET marketing site run by Miguel’s friends, this hits the news bullets. thats all.
would be significant, if they were standardizing all .NET framework though.
would be significant, if they were standardizing all .NET framework though.
What we need is BOTH a language AND the APIs as part of the standard, and not just the language. That means that API calls would work the same across all platforms.
Shame the API’s are wrapped up a patents, it might have been useful
if the .NET framework is patented, making the whole C# language and the CLI unusable freely, why not create something like “the C# standard library”, and make it a standard ?
Both C and C++ have official standards. That means you can take any Windows C++ program and compile and run it under Linux, right?
No, a Windows application uses Windows API calls (not standard)…
It’s no different with *nix apps, or apps for totally different OSes. Or are you implying that GTK et al are all standards?
“And what about the basic classes (types, like int, string etc) ? In C# the basic types are classes -> you can’t create any C# program without API.”
Contrary to common belief on this site the language C# (ISO/IEC 23270: http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUM… ) as well as the CLI (ISO/IEC 23271: http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUM… ) are ISO standards. This means of course the a major subset of Microsofts .NET API is covered. In particular the types you mentioned are covered but also lots of other goodies.
Regards!