4 ms·
If you're using C# or similar, the only reasonable choice is to always use Mono. Just use the cross platform and open source runtime, as you would for any othe
by lucian1900 14y ago
If you're using C# or similar, the only reasonable choice is to always use Mono.
Just use the cross platform and open source runtime, as you would for any other language, and pretend that .Net doesn't exist.
- meaty 14y agoOr just use java and benefit from mature libraries and frameworks, tooling and package management that isn't a piece of shit. Your insurance is the openjdk then rather than a thinly veiled promise not to sue from Microsoft.
- rprasad 14y agoStop spreading FUD. That "thinly veiled promise not to sue" is backed by the full force of a legally binding promise recognized by the combined weight of the US and Euro legal systems. Microsoft is, by centuries of established law and court decisions, precluded from suing someone from using C# through Mono or any other API or framework. Moreover, using Java is now riskier than using C#, as Oracle has changed the licensing terms for the language, the API, and the development tools to allocate to itself greater legal control over the Java IPs than Sun did (or which Microsoft reserves as to C#). EDIT: Just so we're clear, to all the non-lawyers and non-legally savvy HNers: The promise not to sue is itself what is binding, as a consequence of more than two centuries of US and Euro law (see, e.g., the concept of promissory estoppel). The point of the promise was to clarify the permissive license to use Microsoft's IP as it relates to C#.
- jebblue 14y ago>> Microsoft is, by centuries of established law and court decisions, precluded from suing someone from using C# through Mono or any other API or framework. Then why did they feel compelled to "promise" not to sue: http://www.linuxinsider.com/story/67537.html http://www.linuxinsider.com/story/67537.html If you're correct then all they needed to do is point to your statement that no court will allow them to sue.
- tinco 14y agoThat precise promise is why they are precluded from suing.
- meaty 14y agoNo its not actually. The scope of the legal agreement is undefined and may or may not encompass bits of the framework which mono implements or may implement in the future. So don't count on it, which is what our rather expensive lawyer told us. OpenJDK is GPL.
- adandy 14y agoSome portions of the framework are not covered by the promise but Miguel mentioned something about Xamarin still having some kind of protection the project had when it was at Novell. Does anybody have any information that can prove/disprove this?
- air 14y agoThe community promise for C# applies only to the ECMA 334 which is stuck in c# 2.0 from 2006 [1][2]. Seems to me that nothing prevents Microsoft from suing people implementing features found in c# 3-5. [1] http://blogs.technet.com/b/port25/archive/2009/07/06/the-ecma-c-and-cli-standards.aspx http://blogs.technet.com/b/port25/archive/2009/07/06/the-ecm... [2] http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29#Versions http://en.wikipedia.org/wiki/C_Sharp_%28programming_language...
- lmm 14y ago>That "thinly veiled promise not to sue" is backed by the full force of a legally binding promise recognized by the combined weight of the US and Euro legal systems. Have you got a source for that? AIUI under UK law the concept of promissory estoppel only exists in the context of an agreement in which the other party has received consideration. Not having paid MS anything, I don't see how that can apply here.
- kvb 14y agoIn the US, my understanding is that consideration is necessary for contract formation, but by contrast promissory estoppel applies only when there is no consideration. A quick perusal of Wikipedia's coverage of the topic [1] makes it look like the UK's treatment is roughly similar. [1] http://en.wikipedia.org/wiki/Estoppel_(English_law)#Promissory_estoppel http://en.wikipedia.org/wiki/Estoppel_(English_law)#Promisso...
- virmundi 14y agoSerious question, I'll come back through my comment log to look at replies I promise: what tools exist for C# on Mono? I've used VS. I use Eclipse. I refuse to leave an IDE. I've never liked debugging from the command line. Any help here would be appreciated since I really like C#'s sense of balance and embracing newer ideas from the functional side of the house. Thanks.
- profquail 14y agoYou can use MonoDevelop to develop C# projects on Mono: http://monodevelop.com/ http://monodevelop.com/
- virmundi 14y agoI'll take a look at that now.
- zanny 14y agoXamarin has a full application suite to complement it. I'd say since 2010 it has been perfectly mature. The C# runtime on Linux is slower than the Oracle JVM though, but about as fast as the OSS JVM from the statistics I last saw.
- jbester 14y agoXimian has a plugin (http://mono-tools.com/ http://mono-tools.com/) that lets you remote deploy/debug mono applications from Visual studio - it was free after a survey not sure if it still is or if it will be updated to vs 2012. There are other tools sharpdevelop (for window) and monodevelop (all platforms) - but they are somewhat lacking. Sharp develop seems to slow down dramatically on large projects or WPF projects. Monodevelop seems to lag sharp develop in features and maturity. GUI toolkits for dotnet are hit-and-miss. GTK# has the most traction and is cross platform - the documentation was lacking last time I looked. But, if you have a GTK background it may be a non-issue. Wx and QT bindings exist but I believe development has slowed down/stalled. Of course, there are OS X, android and iOS bindings that ximian sells. Unless you have a large existing c# code base it probably doesn't make sense to use them for greenfield development. Server-side is where I think mono actually does shine a bit. Although you need to move out of the standard NetFX stack (i.e. WCF) to other open source libraries (i.e., ServiceStack). ASP.NET and MVC do run on mono - there are tutorials to deploy against apache or nginx. As you can imagine there is some lag between mono and microsoft dotnet framework (see http://www.mono-project.com/Compatibility http://www.mono-project.com/Compatibility). The gist of it mono tries and succeeds keeping up with the framework but there are large holes with respect to .NET 3.0 (WWF, WCF, WPF). There was a silverlight plugin (moonlight) but much like silverlight new development has stopped.