Linked by Thom Holwerda on Tue 7th Jul 2009 08:51 UTC, submitted by PLan
Thread beginning with comment 372070
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
Not to mention the technical deficiencies like encouraging closely coupling your program to native libraries, the inelegance of putting x86 DOS code into the header of every .NET program, and the mess of a standard library.
P/Invoke is the absolute last resort in .net, just like JNI is for java, to say its "encouraged" is completely false. And .net compiles to IL, which get JITd to native code on the first run, just like java and bytecode. I think someone has been feeding you lies.
In my opinion, if we must use a statically-typed interpreted language, we should go with Java. Some folks have been maintaining Gtk/GNOME bindings for Java (http://java-gnome.sourceforge.net/4.0/), why not give them a try?
Because Java sucks? There are fewer and fewer people even in the java world that like java, which is why there is such an interest nowadays in stuff like scala, groovy, and javafx.
Java vs C#, C# is the clear and obvious winner. When it comes to static languages, scala is IMO the most elegant, modern, and downright cool language around nowadays. And while I haven't gotten into it too much yet, javafx looks like a fantastic language for UI, much better then general purpose languages.
Edited 2009-07-07 13:24 UTC
It only covers a *full* implementation of the required portions of the specs, which means that even if a small part is missing in an implementation, it could potentially fall out from under the promise.
If this is true, doesn't this make Mono GPL-incompatible (assuming the 'promise' is needed beyond mere clarification)?
I seem to remember the GPL requires it must be possible to distribute modified versions. If the 'promise' only covers full implementations, modified versions which omit part of the Mono stuff are not allowed, thus violating that part of the GPL.
The fact that it's MS who introduces this restriction (rather than the distributor of the GPL'd software) shouldn't make a difference (section 12 of GPLv3, but something similar was in v2 iirc).
I might be mistaken here, but please, make a convincing rebuttal rather than just shouting FUD at me
.
I seem to remember the GPL requires it must be possible to distribute modified versions. If the 'promise' only covers full implementations, modified versions which omit part of the Mono stuff are not allowed, thus violating that part of the GPL.
A promise does not imply that the stuff not covered by the promise is forbidden. Therefore, this does not cause GPL incompatibility.





Member since:
2006-03-23
It looks like this promise is legally binding and and unrevokable in many jurisdictions, which is definitely a good thing. However, it has some loopholes:
1. It only covers a *full* implementation of the required portions of the specs, which means that even if a small part is missing in an implementation, it could potentially fall out from under the promise.
2. It only covers .NET versions up to the current version. It does not cover any future versions, which means Microsoft can change their minds at any given moment, leaving Mono to either remain stagnant or continue with the risk of being sued.
I can imagine a scenario where .NET 5.0 comes out and some company invents a great way to make money using Mono, directly in competition in Microsoft. Do you think Microsoft would hesitate to discontinue the promise when they release .NET 5.1?
People using Mono don't give Microsoft any direct benefit. Microsoft's strategy may be to expect more developers turning to them for support or buying their software because they're already familiar with C#. What's of note is that Microsoft are in direct competition over these developers with Java. What happens when Java gets marginalised by .NET/C#? Mono will have no more advantage to Microsoft, and they may decide to act against it. It already happened to other unfortunate companies.
And even if this promise were to remove all lawsuit threats and Mono could be used without any fear, it will still essentially remain under Microsoft control. What many people fail to notice is that Microsoft is calling all the shots on the direction where .NET is headed. I would feel very uncomfortable with part of the Free Software ecosystem depending on something under their control. I feel uncomfortable even having it in the default install of Ubuntu. It's like everyone forgot who we're dealing with here.
Not to mention the technical deficiencies like encouraging closely coupling your program to native libraries, the inelegance of putting x86 DOS code into the header of every .NET program, and the mess of a standard library.
In my opinion, if we must use a statically-typed interpreted language, we should go with Java. Some folks have been maintaining Gtk/GNOME bindings for Java (http://java-gnome.sourceforge.net/4.0/), why not give them a try?
Edited 2009-07-07 11:34 UTC