4 ms·
I'd vote for replacing it with Mono. Modern VM design, vastly superior flagship language, pretty solid on the side languages* too, better platform support (Tha
by bunderbunder 14y ago
I'd vote for replacing it with Mono.
Modern VM design, vastly superior flagship language, pretty solid on the side languages* too, better platform support (Thanks Xamarin!), and best yet it's Free. Like really Free, not Oracle-style "Here's the source code so you can maybe hack on our implementation a bit but if you try doing anything we don't like we'll sue your ass" 'free'.
* Not really a great Lisp for the platform yet, but I prefer F# to Scala. Much cleaner syntax, 'feels' more functional.
- sc0rb 14y agoMono isn't proven anywhere near as much as the JVM. I don't know why this is being downvoted. It's true that the JVM is one of the things in the Java ecosystem that is looked upon as a massive success.
- dasil003 14y agoProbably because you decry someone for living in a bubble but then proceed to inflate your own. Yeah, the JVM is great, but not everything that fails to live up to its incredible success is "unproven".
- sc0rb 14y agoThat may be the case but Mono still isn't proven as much as the JVM is.
- bunderbunder 14y agoAbsolutely true that the JVM gets more use. But it's also true that the present situation is never set in stone. Remember how popular it was to malign Java back in the late 90s? And it's also true that the CLR really is technically superior to the JVM on a whole slew of points. It has runtime-level support for generics (meaning C# lets you do all sorts of nice things with them that Java doesn't support). It has user-defined value types. It supports coroutines (i.e., 'yield'). It supports anonymous functions and closures. For those who just can't leave pointers alone, it even has unsafe blocks. And so on. So while it's definitely not "proven" in a sense that will impress your average PHB, in terms of technical merit I don't think there's really any comparison. Mono wins hands-down.
- tracker1 14y agoIf you want "proven" you should probably be using NodeJS then... not for GUI apps, but for headless apps and services... since it's core engine is V8, which runs on nearly a third of the desktops out there with far more regular use than Java. And the language JS, with more developers using it than just about every other language combined. This is kind of tongue in cheek, but seriously... NodeJS is relatively new (since 2009) and it's gained a LOT of traction... it isn't the perfect solution, but then again nothing is. I like Mono and have used it, they've worked through a lot of the earlier issues, and it's pretty decent at this point... IIRC it's the core of the Unity tools, as well as having Xamarin tools available to support the majority of mobile platforms.
- michaelt 14y agoI've heard good things about .net from Windows-only developers, but I haven't heard much from developers on other platforms. Seems to me developers who aren't on Windows end up as second class citizens. Is there anyone here with experience developing for Mono on Linux and Mac? What's it like in reality?
- bunderbunder 14y agoIt's not as good as it is on Windows, simply because of Visual Studio (let alone Visual Studio plus ReSharper). I must admit, it's enough of a productivity improver that even on my Mac I prefer to do most my hacking in VS running under VMWare. But that's not really anything against MonoDevelop, it's just that lately Visual Studio's gotten so good that it's really hard to resist using it if you already own a copy. Compared to most other open source platforms, OTOH, I don't think it feels like one's been relegated to a language underclass at all. Of course you don't get the benefit of working in the operating system's official first-class language like you do on Windows, but in fairness that's a privilege that you never get to enjoy when working in most languages - including Java, Python, Ruby, and so forth. As far as why it's less popular outside of Windows, I'm inclined to think that's mostly down to social effects. Java's got the Linux enterprise development space so wrapped up right now that I suspect trying to pivot to Mono would be a bit like trying to push a glacier. Businesses aren't in the habit of rewriting millions of lines of code on a whim.
- undergroundhero 14y agoI definitely agree about VS. Microsoft got a bunch of heat for VS2012, but it's been their best release yet. Their IntelliSense support for C# is unmatched by any other language-IDE pairing I've used. That said, I've used MonoDevelop in Windows and OS X and it works pretty damn well. The Mono project has done a great job mirroring the .NET API and runtime.
- chc 14y agoIsn't Mono way slower than the JVM or has every benchmark I've ever seen been lying to me? (And also, doesn't Mono just replace the hypothetical threat of a lawsuit from Oracle with the hypothetical threat of a lawsuit from Microsoft?)
- fleitz 14y agoClojure runs on .NET AFAIK.