4 ms·
not sure that C# is the answer either, given that microsoft is trying to build a nest in the mobile space. that said, nice work. poses an interesting question
by kamechan 14y ago
not sure that C# is the answer either, given that microsoft is trying to build a nest in the mobile space. that said, nice work.
poses an interesting question though: if google had to or wanted to switch platforms/languages, which might they choose?
- untog 14y agoThe article covers that, to some extent: 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.
- edwinnathaniel 14y agoI was reading the wikipedia entry about C# a few days ago and was surprised to see the following bits: "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) 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?
- migueldeicaza 14y agoStandards take time, the ISO spec is typically 2-3 years behind the current product. 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.
- solutionyogi 14y agoCan I use async/await on Monotouch right now? If yes, I think you have a new customer!
- migueldeicaza 14y agoSome assembly is required for that. 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.
- jstedfast 14y agoThe current version of Mono4Android and MonoTouch do not support async/await yet, but that is on the roadmap (once Mono 2.12 [currently in beta] is released).
- ajross 14y agoThe chart on wikipedia shows the delays between Microsoft release and standard ratification for 11 months for C# 1.0 and 9 months for C# 2.0. C# 3.0 was released 4.5 years ago.
- aespinoza 14y agoMy understanding is that Mono already supports C# 3.0; and 4.0 is underway. I don't know how current that wikipedia article is.
- migueldeicaza 14y agoWe have full support for C# 5.0.
- sgt 14y agoMono is useful on its own, even if Microsoft "backs away" from encouraging projects like Mono to exist.
- bmj 14y agoI believe the concern is that without ECMA/ISO standardization, there's nothing to stop MS from suing Xamarin/Mono should they decide to back away from an open language specification.
- zokier 14y agoI don't think MS can retroactively back away from existing language specifications. So worst-case scenario would be that Mono stagnates, but even then it would not be particularly easy target for litigation for MS.
- InclinedPlane 14y agoC# the language is open, it's an ECMA standard. The only proprietary bits of C# are the .NET Framework and the Windows implementation of the VM (CLR), though even those are freely redistributable.
- nextparadigms 14y agoJava was supposed to be open, too, perhaps much more than C#, and yet here we are today. Given Microsoft's recent patent history against Android and even ChromeOS, if I were Google I'd stay as far away as possible from C#, no matter how "open" they say it 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.
- mdaniel 14y ago> Google probably can't even trust Python anymore Um, given that Guido works for Google now, I'm guessing they are pretty safe on that one. :-)
- muyuu 14y agoThere are valid concerns about the implementations of .NET and the possible ramifications that could come if Microsoft decided to enforce their patents surrounding them. 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. More on this: http://blogs.computerworlduk.com/open-enterprise/2010/07/richard-stallman-on-net-mono-and-dotgnu/index.htm 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!"
- jstedfast 14y agoMicrosoft has released their own MonoTouch-based applications (e.g. Star Wars Kinect), so I'm sensing there's nothing to worry about.
- muyuu 14y agoThey reserve the right to sue and they carefully patented every aspect they could. I see a lot of merit in the language itself, but the legal problems Google is having vs Oracle and Java they could also have them with Microsoft and C#/dotNET, worse even considering Microsoft is a competitor in several areas.