poses an interesting question though: if google had to or wanted to switch platforms/languages, which might they choose?
poses an interesting question though: if google had to or wanted to switch platforms/languages, which might they choose?
Unlike Sun with Java, Microsoft submitted C# and the .NET VM for standardization to ECMA and saw those standards graduated all the way to ISO strong patent commitments. The .NET framework is also covered by Microsoft’s legally binding community promise.
It's strange- with the work Xamarind has been doing, C# is one of the few language choices you have to go cross-platform and native- MonoTouch does iOS, MonoDroid does Android, and MS themselves do Windows Phone. I've not used any of these extensively so can't vouch for them, but it's an interesting development.
"As of December 2010, no ECMA and ISO/IEC specifications exist for C# 3.0 4.0, and 5.0."
http://en.wikipedia.org/wiki/C_Sharp_(programming_language)
Does this mean newer syntax updates won't make it to Mono? or not as open as it used to be in terms of patent and copyright?
But cheer up, the ECMA team just updated the VM spec a couple of months ago and the committee is resuming work on new features.
We are all pretty psyched about the next steps for the ECMA standards.
As for Mono, we already have C# 5 and many of the new class library features. Having two independent implementations helps coming up with a better standard.
C# 3.0 was released 4.5 years ago.
MonoTouch is currently based on Mono 2.10, while C# 5.0 is based on the new codebase on Mono 2.11.
We are waiting for Microsoft to officially bless C# 5.0 as complete before we can ship it, otherwise we will break people's code.
I don't know how current that wikipedia article is.
Heck, at this point Google probably can't even trust Python anymore, seeing how there are patent and copyright leeches everywhere. Their best bet is to use a language they own, be that Go or another one they made or bought.
Um, given that Guido works for Google now, I'm guessing they are pretty safe on that one. :-)
Having an open standard can be moot if effective implementations of it are patent-encumbered, forcing you to either use a licenced runtime, a second-class one, or risk getting sued.
http://blogs.computerworlduk.com/open-enterprise/2010/07/ric...
"RMS: You shouldn't write software to use .NET. No exceptions.
The basic point is that Microsoft has patents over features in .NET, and its patent promise regarding free software implementations of those is inadequate. It may someday attack the free implementations of these features.
This is no reason not to write and distribute free implementations such as Mono and DotGNU. But we have to keep in mind that using and distributing these programs might become dangerous in certain countries. Therefore, we should minimize our dependence on them – we should not write programs that use those features.
Mono implements them, so if you develop software on Mono, you are liable to use those features without thinking about the issue. It is probably the same with DotGNU, except that I don't know whether DotGNU has these features yet.
The way to avoid this danger is not to write programs in C#. If you already have a program in C#, by all means use a free platform to run it. But don't increase your exposure to the danger – don't write additional code in C#, and don't encourage people to make more use of C# programs. We need to guide our community away from dependence on an interface we know Microsoft is in a position to attack.
It is like the situation with MP3 format, which is also patented. When people manage to release and distribute free players and free encoders for MP3, more power to them. But don't ever use MP3 format to encode audio!"