Red Hat's enterprise server offerings are centered around Java. That way Red Had ate away a large degree of more traditional UNIX's market share which are often also centered around Java.
If Novell was that much into Java as well, it'd me nothing more than a "me too" company.
By writing Mono Novell offers something unique. Now instead of trying to win Red Had and UNIX customers, Novell can formally slap ".NET compatible" on SLES (even though Mono is not really copatible with .NET) and try to eat away Windows Server's market share. Ironically MS itself even helps Novell with that.
IMO, Mono is just too tied with Microsoft. If they lead the technology, what else can the community do but follow? Also, Mono is intrusive, while WINE is not. You don't see WINE dependent apps in a default Ubuntu/Debian install. You don't read about WINE developers' ambition to make their implementation of Win32 the next best friend of a Linux developer. WINE appears to me as a useful hack to help transitionalize between Linux as a marginal OS and Linux with a sizeable market share. I don't think it represents a threat to our ecosystem.
I'd prefer to see the developers invest their time and energy in building a leading, independent technology. Aren't Python, Ruby and Vala good alternatives that could be pushed to perform competitively with .Net/Mono? I think so. I would sure use them instead of Mono, to FREE myself from the usual Microsoft FUD / dictate over technology.
Besides, .Net/Mono *is* write-once-run-everywhere if you use cross-platform APIs. (WinForms is not one of those, as its name should give away).
This makes sense. Personally, I would use Python/Ruby over Mono/.Net for e.g. web applications any day of the week (because ASP.Net *does* mean Microsoft lock-in to a very large extent. ASP.Net over Mono is possible, but how many web hosts offer that?)Originally Posted by Apteryx
Curiously, Vala is facing almost as much criticism as C#. Don't know why, the project is pretty interesting but some people appear totally dismissive for no obvious reason. (More choice is *good*, people, that's one of the core tenets of our community. Less choice is the hallmark of a specific fruit).
The only thing I am afraid of is the chance of seeing e.g. Valve "port" their games to Wine, just like Google did before (Picasa).
taken directly from Valve. One can imagine the same would apply to Linux (as WINE is offered to both Mac / Linux)."We looked at a variety of methods to get our games onto the Mac and in the end decided to go with native versions rather than emulation", said John Cook, Director of Steam Development. "The inclusion of WebKit into Steam, and of OpenGL into Source gives us a lot of flexibility in how we move these technologies forward. [...]"
C# is the only mainstream language aside from C/C++ that is actually capable of being used for high-end games, I might note. Java comes fairly close, but fails in a few minor areas. Actually, Mono is even more suitable for high-end games than official .NET is, thanks to technologies like Mono.simd.
It's 8 years old. You use plenty more immature software than that, I'd wager.immature
Again, not true. Especially when compared to contemporary interpreted languages, which are the only viable alternatives to Mono in the FOSS world.and resource consuming.
The runtime can be more resource consuming than a C/C++ app, but then the runtime does so very much more than the C/C++ runtime libraries ever have or likely ever will do. Much of that is what makes C#/.NET such a fantastic environment for developing applications.
As in, Oracle actually does sue people over Java patents while Microsoft so far has not?Some people say it's lightyears behind java
This has been largely corrected in the most recent Mono releases, which have switched from the Boehm GC (popular in many languages) to a new, custom, high-performance GC. Some benchmarks have shown it out-performing Microsoft's own GC, which has otherwise been considered the most efficient and advanced GC in any large-scale production language to date.in some things (like implementation of garbage collector),
... no. You pretty much just proved his point, while being ironic and hypocritical at the same time. You have absolutely no idea what you're talking about, you're just quoting and spreading misinformation you acquired from other clueless bigots, and you have zero grounds on which to base any of your falsehoods besides "I just know it, trust me, I'm like super smart and stuff, I went to school and everything."There are also many mono fanboys and evangelist who behave like idiots and who say idiotic things like: "don't talk about mono if you didn't write a mono app" - Icaza. I don't have to write a single mono application to say it sucks.
And of course, as usual, the Mono detractors never mention any of the points in favor of C#/.NET, which led it to be invented at Microsoft (NO, it was not some plan by the CEO; CEO's don't invent technology, especially at Microsoft), which led de Icaza to fall in love with it, and which has led so many contributors and so many application writers to use Mono since its inception.
Mono/C# is a type-safe language with a rich runtime, making it suitable for building large and complex applications that Python and such have always utterly failed to be useful for.
Mono allows compatibility with a variety of Windows apps that otherwise we could not run, the same way that other cross-platform language runtimes do.
C# was designed from the ground up to be easy to provide tooling support for, resulting in exquisite IDEs that allow for a very rich and powerful set of code analysis, debugging, refactoring, and comprehension tools that are very difficult to provide in C/C++ and literally outright impossible to provide for any dynamic languages.
C# offers many of the advantages of Java and had a Free implementation long before Sun decided to release Java under the GPL.
.NET offers a rich runtime for multiple languages allowing mixing of those languages, which no other Open Source projects provide besides Java (but Java's implementation is not nearly as flexible or performance) or Parrot (which is almost as old as Mono but which has yet to actually produce anything of any actual value or any working code that anybody finds useful for real-world development).
C# has innovated several features, offering certain ideas and concepts that are not available in any other statically-typed compiled C-like language anywhere (aside from the languages that have since cloned C#'s features, but you haven't heard of many of them because they're all also .NET languages, but not popular ones).
Mono can be embedded as a scripting engine for applications. Used most famously, IMO, by Unity3D.
Mono offers AOT compilation and several other innovations over upstream .NET, making it not only a work-like but in some cases a serious improvement over Microsoft's implementation. It's one of the few FOSS projects that actually takes an upstream idea and improves it, rather than just copying it endlessly.