Slashdot Mirror


Reasons To Use Mono For Linux Development

Nerval's Lobster writes: In the eleven years since Mono first appeared, the Linux community has regarded it with suspicion. Because Mono is basically a free, open-source implementation of Microsoft's .NET framework, some developers feared that Microsoft would eventually launch a patent war that could harm many in the open-source community. But there are some good reasons for using Mono, developer David Bolton argues in a new blog posting. Chief among them is MonoDevelop, which he claims is an excellent IDE; it's cross-platform abilities; and its utility as a game-development platform. That might not ease everybody's concerns (and some people really don't like how Xamarin has basically commercialized Mono as an iOS/Android development platform), but it's maybe enough for some people to take another look at the platform.

20 of 355 comments (clear)

  1. Re: If there are patent issues by Anonymous Coward · · Score: 4, Insightful

    By this time (w/ MS deliberately contributing to Mono no less) estoppel should quash any patent claims.

  2. No, it's not enough by Anonymous Coward · · Score: 3, Insightful

    We have a LONG memory of Microsoft's past behavior.

    1. Re:No, it's not enough by Anonymous Coward · · Score: 2, Insightful

      We have a LONG memory of Microsoft's past behavior.

      And this is why people like you shouldnt be allowed anywhere near technology, your choices arent based on technical merit or legal principles but on how a company hurt your feelings a long time ago.

      Yes in the desktop wars and browser wars 20-odd years ago Microsoft said some nasty things about Linux, created proprietary plugins because of the limitations of HTML, then were ahead of the curve when they bundled a web browser with their OS (like everybody does these days) and had private APIs (like everybody does these days). But the world changed, the "EEE" idea of 2 decades ago failed every time and Microsoft has had to adapt (significantly changing its leadership personnel and strategy) to survive, litigating wasn't working so now they are releasing things as open source, they are reacting to customer feedback, the community promise is there (even if you dismiss it because you dont understand the legal principle), they have even had to make a serious effort at going multiplatform just like their competitors.

      They hurt your feelings and you will never forgive them, we get that and yes, I am sure the year of the linux desktop is right around the corner ... oh wait they have systemd so we can *never* forgive them for that, i guess its BSD all the way.

  3. Re:Why? by aardvarkjoe · · Score: 4, Insightful

    Why use a Java clone instead of just using Java?

    Maybe because some people prefer C# to Java? They aren't exactly the same, after all: https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java.

    --

    How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
  4. Re:Why? by binarylarry · · Score: 4, Insightful

    True but it seems kind of ridiculous to choose an entire platform based on some minor differences in syntax.

    I suppose if you're already really familiar with the Microsoft software stack, like you used to build VB apps and have already invested a great deal in Microsoft's tools it might make sense.

    But otherwise, it's a smaller ecosystem with fewer libraries, fewer developers, fewer choices, fewer large scale deployments to learn from.

    --
    Mod me down, my New Earth Global Warmingist friends!
  5. Linux developers know C/C++, Python, Perl by postmortem · · Score: 4, Insightful

    The only reason to use Mono is really to get Windows developers onboard.

    But that's a long shot. Linux works because there are plenty of developers in mentioned programming languages that support it.

    Since Java isn't terribly popular in Linux, .NET has no chance.

    1. Re:Linux developers know C/C++, Python, Perl by Dynedain · · Score: 3, Insightful

      Since Java isn't terribly popular in Linux, .NET has no chance.

      Huh????? Most public facing Java service or site I've worked with as a developer have been running on a Linux box, normally RHEL or CentOS. Sometimes I've run into NetBSD, and occasionally HP-UX or Solaris.

      I cannot fathom how you equate a (non-real) lack of Java development on Linux as a reason why .NET has no future there.

      --
      I'm out of my mind right now, but feel free to leave a message.....
  6. Re: If there are patent issues by Gravis+Zero · · Score: 5, Insightful

    By this time (w/ MS deliberately contributing to Mono no less) estoppel should quash any patent claims.

    it's a good thing proving that in court is inexpensive and that they have a moral integrity to not use their vast army of lawyers to just bleed you until you cannot afford to defend yourself.

    oh wait.

    --
    Anons need not reply. Questions end with a question mark.
  7. Re:If there are patent issues by Anonymous Coward · · Score: 2, Insightful

    It's like the programming language equivalent of trans-fats.

  8. The five bullet points by hsa · · Score: 4, Insightful

    1. C# Is a Great Language

    me: Yes it is.

    2. There's a Great Free IDE: MonoDevelop

    me: Finding a decent IDE is not a problem anymore. You can find something for every language.

    3. Mono Supports Mobile Development

    me: So does Java and Swift. Why does EVERY article out there think you have to pick just ONE language and be stuck with that choice forever???

    4. Mono Is Cross-Platform

    me: Python, Java, C, C++, Ruby, and many, many more are all cross-platform, too!

    5. Mono Powers Games Development

    me: The guy is totally right. He has some great examples, too.
    Please just don't think, that you MUST use C# to get into game dev. For example, you can have much faster prototyping with PyGame. You can really learn to code in Swift over a weekend, if you have mastered one similar language well.

    My advice to you is: pick any language, become good at it. Just don't do VB.NET or I will have to kill you.

  9. Re:Trollbait by MightyMartian · · Score: 3, Insightful

    Microsoft will do what it has always done; develop a technology, push it everywhere it can, then let it stagnate, and deprecate it in favor of the newest and bestest thing ever, before announcing that the next version of Windows will be the last to support it, so be sure to buy our new even more expensive suite of development and distribution tools while you can!!!!

    Java is a reasonably mediocre language with a mediocre set of standard libraries, but you know what, I'm fairly confident that the application I write in Java today will still be usable in a decade (heck, I've got Java utils running that I first wrote in 2002 to 2003). In other words, Java may be far from perfect, but it is an enormous ecosystem with enormous penetration, particularly in the enterprise world. Even if I bought into the notion that C# is lightyears better than Java (which I don't), it is almost never purely about objective or subjective technological superiority.

    Beyond that, if MS keeps to its word to port .NET over to other platforms, why on the hell would I want to use a crappy half-completed variant like Mono?

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  10. Re:Why? by Anonymous Coward · · Score: 2, Insightful

    it's a smaller ecosystem[citation needed] with fewer libraries[citation needed], fewer developers[citation needed], fewer choices[citation needed], fewer large scale deployments to learn from[citation needed].

    FTFY.

    I've been developing primarily in .NET for the last 8 years, after being a Java developer (primarily) for at least as long prior to that. At first, I was skeptical of .NET and especially of Microsoft. But over the last 8 years, I've realized that it's a tool that allows you to get work done. As such, I've found that it not only has as much of all of those things you mentioned, but it also has better quality in every area. Java still has that suck-it-and-see feel to it, while .NET seems to just get out of the way. And the tools available for .NET are about a million times better in every regard. I shudder when I think back about editing the ANT script to build and deploy a simple SOAP service. For .NET, that's a simple build/copy-the-DLL script, even without any formal deployment server setup.

    Back to the original topic, is all this true of .NET on Linux? Genuinely curious because honestly, most things on Linux have a suck-it-and-see feel.

  11. .Net is for Windows and Windows only by Caesar+Tjalbo · · Score: 3, Insightful

    Late '90s software development for Windows sucked. And Windows sucked because it crashed for the slightest of reasons. And there was Visual Basic. And there was the latest hype in town: Java. Roll in .Net with C# and Visual Studio. Pretty neat and fairly idiot-proof IDE, decent set of libraries, managed execution to lower the amount of BSOD's and introduce a new language to extinguish both VB and Java.

    None of these reasons was relevant outside the MS world. Plenty of languages, IDE's, editors available on Linux, some say even too many. No BSOD's, no VB. Oh wait, there's one reason: that wanker Miguel de Icaza.

    --
    "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
  12. Re:If there are patent issues by Dutch+Gun · · Score: 4, Insightful

    Patent issues? What would Microsoft have to gain by suing someone for using their own technology? That makes about as much sense as Oracle suing a developer for using Java. It's an utterly nonsensical argument, as Microsoft is officially and releasing .NET as open source, and has indicated their support of Mono and Xamarin as well.

    Personally, I feel a lot better when I understand a company's motivation. As far as I can figure, Microsoft is interested in keeping Windows relevant, and they can help do this by ensuring developers can use Windows as a development springboard for targeting other platforms. This keeps those developers in the Microsoft ecosystem, even if they have to acknowledge that fewer people are living in a Windows-only world - *especially* in mobile. The alternative would be that developers would have to turn to other development tools on other platforms, and they might find another cross platform solution that leaves Windows as an "also-ran", marginalizing it as a development platform, which in turn might lead to the erosion of Windows as a *user* platform.

    Microsoft has always been fairly smart about courting developers with excellent tools and development platforms, and making it quite easy to build applications for Windows. As far as I can tell, this is no different - it's just that Microsoft has finally acknowledged that open source and multi-platform development is critical in today's world, and they're going their best now to play catch-up in this field. This doesn't suddenly make them nice guys, but it's not in their business interest to start attacking developers - the people that they're actively trying to court with these latest strategies.

    --
    Irony: Agile development has too much intertia to be abandoned now.
  13. Re:None by XaXXon · · Score: 3, Insightful

    Why should I care if you do any linux dev?

  14. Re:Why? by subanark · · Score: 2, Insightful

    Java is designed to be cross platform. In this case instead of targeting an operating system, you are targeting another virtual environment. While not perfect, it works much more often out of the box than WINE does.

  15. Re:Why? by Anonymous Coward · · Score: 0, Insightful

    Java was designed to sell servers for Sun Microsystems. C#/.net was designed for people to write GUI and database applications easily.

    Java: From based on reports from the field, trying to use ti for desktop apps it totally blows in every manner possible. And because it's write once run everywhere, Java applications look like crap everywhere. Personal experience, Writing GUI desktop apps in C#/.net is easy and everything just works.

    Linux really needs something like C#/.net for applications. Java doesn't cut it, no one uses it which is proof enough.

    Ether way this is Slashdot, where it might as well be 1999, no one has forgotten anything nor learned anything in the last 15 years. Sun is gone. Bill Gates is gone, Jobs is dead, and Java is owned by the Devil of Redwood Shores. But yeah keep rating about what Microsoft did in the late 80's early 90s.

  16. Re: If there are patent issues by benjymouse · · Score: 2, Insightful

    LINQ is the PHP for those who can't design proper data architecture and access layers.

    I have a suspicion that you have no idea what LINQ is.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  17. Re:If there are patent issues by phantomfive · · Score: 3, Insightful

    You mean, the better language capable of running on the .NET CLR and utilizing the same set of proven, well-tested libraries available for all .NET languages? Getting that with a very low learning curve for existing VB developers?

    You utterly failed to respond to his point. The only question is whether you ignored it, or didn't understand it in the first place.

    Just in case you're not a troll, and you want to understand his point, here is the same thing restated. For your convenience, here is a relevant quote:

    If you spend the money to upgrade to VB.NET, well, you just spent a lot of money to stand still. And companies don't like to spend a lot of money to stand still, so while you're spending the money, it probably makes sense to consider the alternatives that you can port to that won't put you at the mercy of a single vendor and won't be as likely to change arbitrarily in the future. So as soon as people with large code bases start hearing that they're going to have to work to port their apps from VB to VB.NET with WinForms, and then they start hearing that WinForms isn't really the future, the future is really this Avalon thing nobody has yet, they start wondering whether it isn't time to find another development platform.

    That's why people stay away from Microsoft platforms.

    --
    "First they came for the slanderers and i said nothing."
  18. Re: If there are patent issues by serviscope_minor · · Score: 3, Insightful

    There are no "shitty languages and implementations" only shitty developers and those trying to implement the shitty applications creations by those developers.

    That's absolute bollocks.

    Let try some reductio ad absurdum.

    According to you, the only problem with Brainfuck is "shitty developers".

    That is patently absurd.

    --
    SJW n. One who posts facts.