Slashdot Mirror


Mono Outpaces Java In Linux Desktop Development

dp619 writes "Mono, a framework based on Microsoft technology, has become more popular for Linux desktop applications than Java, but recent changes could strengthen Java's hand, SD Times is reporting. The story also touches on the failure of Linux distros to keep pace with Eclipse."

18 of 598 comments (clear)

  1. Re:Good by turgid · · Score: 4, Informative

    A lot has changed in the last 10 years. Your comment is very telling, and not very helpful. It's so bad, it's not even wrong. I'm sorry that's what you think.

    With .NET, there is loads of stuff built in so I am not doing a lot of low level coding.

    There are orders of magnitude more stuff "built-in" to Java (the platform), 3rd-party stuff, independent implementations, and it's had a good decade and a half of hardening in real-world situations (top businesses etc.)

    gcc even has a java (the language) compiler now (OK for about 5 years) that generates native machine code (what everyone used to whinge about) and there are independent implementations of the Java libraries (e.g. GNU Classpath).

    Mono needs to die a death. Please ignore it and hopefully it will go away.

  2. Re:Eclipse is stagnating by Anonymous Coward · · Score: 5, Informative

    The difference between Eclipse 3.4 and 3.2 is night and day when you actually use it.

    Just because it looks the same (a shock to people who might want to change their hentai GTK theme every week) doesn't mean it is the same.

    It's like those idiots that uses Java 1.1 in 1998 and think that Java 6 is pretty much the same.

  3. Microsoft shill by El_Muerte_TDS · · Score: 5, Informative

    RedMonk analyst Stephen O'Grady, the guy being quoted in the article, is a Microsoft shill. And the whole article is filled with FUD.

    1. Re:Microsoft shill by Jah-Wren+Ryel · · Score: 4, Informative

      If anyone needed any proof that Slashdot's moderation system is a failure, here it is. One of the few "+5 Informative" posts, and it's a baseless attack using the words "shill" and "FUD".

      Dunno if the shill accusation is true or not, but by their own admission (bottom of the page), Microsoft is a client of Redmonk.

      --
      When information is power, privacy is freedom.
  4. This is beyond garbage by Anonymous Coward · · Score: 5, Informative

    I quota from TFA: "Eclipse 3.1 lacks features that MonoDevelop has, including code completion, integrated debugging, refactoring, and unit testing capabilities"

    Excuse me !? That stuff was even in Eclipse 2.0. Claiming a Java IDE without code completion exists is just stupid.

    Another quota from TFA "Most Java developers on Linux use JetBrains IntelliJ, he claimed. IntelliJ is a commercial product that is not open source."

    Who says most developers use IntelliJ, I personally know NONE. Everybody I know is on Eclipse or Netbeans.

    I'm not even going to bother with the rest of the article. This article is written by one bunch of ill informed people.

    How much money do I need to pay to get an article on the frontpage ? Do I get a volume discount if I want five of them ?

    1. Re:This is beyond garbage by hattig · · Score: 5, Informative

      Why is he talking about Eclipse 3.1 anyway? 3.5 just came out, 3.4 came out a year ago, 3.3 a year before that, 3.2 a year before that...

      Does he talk about .NET 1.0? I doubt it.

      The only problem Eclipse 3.5 has is the minor hassle of getting SVN working, as it isn't integrated out of the box. I suspect this was because of subclipse and subversive bickering.

  5. Re:No mention of X-platform by DragonWriter · · Score: 5, Informative

    The Java VM was a good idea, but Sun never bothered to port other languages to it.

    Well, except that in reality there are lots of implementations of non-Java languages for the JVM, several of which (Jython and JRuby, among others) have Sun resources behind them, and some of which are even Sun created (Fortress, JavaFX Script.) There were non-Java languages for the JVM before .NET existed.

  6. Re:What is strengthening Java according to TFA? by rdean400 · · Score: 5, Informative

    It isn't helpful that TFA is wrong on at least one point. It said that Eclipse 3.1 lacks code completion, refactoring, and debugging features. Unless the build in Debian is horrifically broken, it has all of those, including thread-level debugging, which it's had since before Eclipse 3.x. My assumption has always been this is because the progenitor of Eclipse -- IBM -- was more interested debugging server-based Java applications than standalone ones).

  7. Re:Good by Freetardo+Jones · · Score: 5, Informative

    You obviously don't work with .NET on a daily basis. Same crap different syntax, different names on the box..

    I use it almost every day and in many ways I prefer it to Java (though I use Java often too for certain things it does better). I never get why people cares so much about what languages other people like to code in.

  8. Re:No mention of X-platform by rdean400 · · Score: 3, Informative

    You might want to research before posting next time. There are more JVM-based languages than there are CLR-based languages.

  9. No code completion or debugger? by Anonymous Coward · · Score: 5, Informative

    "Eclipse 3.1 lacks features that MonoDevelop has, including code completion, integrated debugging, refactoring, and unit testing capabilities, Hargett claimed. "I've found in my consulting that people who install Eclipse 3.1 through the [Debian] package manager say, 'This is terrible.' " He said that customers that have installed a version of Eclipse beyond 3.1 like it."

    Just out of curiosity, I just downloaded a copy of Eclipse 1.0. This build is from November 2001.

    http://archive.eclipse.org/eclipse/downloads/drops/R-1.0-200111070001/index.php

    For the record, it has code completion and integrated debugging. I do remember back in 2004 thinking IntelliJ IDEA's refactoring support was far better, so I suppose that was roughly the 3.0 timeframe. I guess I could track the JUnit plugin history and see which version of Eclipse started including this, but I think I've already made my point. I've got nothing against Mono, but geeze, what a load of BS...

  10. Re:No mention of X-platform by SpinyNorman · · Score: 4, Informative

    Think of network sockets, file access, threads, and a bunch of other things that quite frankly are annoying to do in C or C++.

    Not if you use Qt which has all of those and more in addition to the GUI stuff.

    Qt is a cross-platform library, not just a GUI library.

    Qt-based apps run on Linux, Windows, Mac, Solaris, Symbian S60 ...

    What are you using for the GUI in Mono? Windows Forms? You could have the full power of Qt via Qyoto...

  11. Re:Good by Cyberax · · Score: 5, Informative

    Nope.

    C# right now has the following features that are absent in Java:
    1) LINQ !!!!
    2) Delegates.
    3) Anonymous types and type inference.
    4) Reified generics.
    5) Support for dynamic methods.

    C# 1.0 was just a carbon copy of Java. C# 3, not so much.

  12. Re:Good by EvanED · · Score: 5, Informative

    C# is VB with C syntax. VB is Microsoft's bastardized version of Java.

    JDK 1.0: Jan 1996
    VB 1.0: May 1991

    VB was at 4.0 by the time Java was released.

    If by "VB" you mean VB.Net, I would say it's the reverse: C# is Microsoft's "bastardized version" of Java (though mostly better IMO), and VB.Net is C# with VB syntax.

  13. Client Profile is 28 MB by benwaggoner · · Score: 4, Informative

    200+ is for all the developer goo.

    The Client Profile for .NET 3.5 SP1, which is all that's needed to install a .NET app on a machine that doesn't have .NET 3, is 28 MiB.

    http://msdn.microsoft.com/en-us/library/cc656912.aspx

    And Silverlight is less than 5 MiB if the app can run entirely in the Silverlight sandbox.

    Mono is 75 MiB on Windows, 56 MiB on Mac, . Moonlight is (really?) 941 KiB.

    1. Re:Client Profile is 28 MB by rdnetto · · Score: 3, Informative

      200+ is for all the developer goo.

      Not quite true. The client profile cuts out a lot of useful functionality (e.g. LINQ), to the point where you might as well target .NET 2.0 instead.

      That said, the total size needed for an online installation of 3.5 SP1 on Vista is ~50 MB (since it comes preinstalled with 3.0), and mono is less than 20 MB.
      The full 200 MB is only required for WinXP systems that don't have any version of the framework installed at all.

      --
      Most human behaviour can be explained in terms of identity.
  14. Re:No mention of X-platform by miguel · · Score: 4, Informative

    Both the JVM and the CIL engines can be used to run any programming language you want. They are both turing complete systems, so there is not really anything that will prevent you from targeting any language to run on top of either one of them.

    The difference is that the JVM was designed for Java, and Java only.

    The CLI originally ran a variation of C++ (they internally called it SMC, or "Smack") and later they created C# and retargeted VB to run on top of it.

    But even before this went public, they launched an effort called "Project 7". The goal of this group was to port 7 proprietary languages and 7 research/open source languages to the CIL engine and learn from the exercise what changes were required to make the implementation more efficient. A large number of changes went directly into .NET 1.0, and they allowed the CIL to be a more efficient runtime for running C, C++, Eiffel, Fortran and Cobol than the JVM could. Direct memory manipulation, arbitrary vtable layouts, tail call optimizations all went into .NET 1.0

    With .NET 2.0 a new round of languages was tried. The research on ILX and OCaml (mostly using F#) was introduced into the virtual machine, making generic types first-class citizens in the VM, not just entities that were emulated (as they remain to this day in Java). The feedback from Eiffel lead to the introduction of covariance and contravariance in the virtual machine, another feature missing from Java.

    The work from Jim Hugunning on IronPython also drove the adoption of new low-level APIs that assisted the runtime in better supporting dynamic languages, all of these features appeared in .NET 2.0 and 3.5.

    So certainly, you can target anything into anything else, at the end of the day, everything is running on top of some CPU. The difference is that with .NET you have to jump through less hoops, and the runtime is richer for language developers.

    So in Java you can certainly emulate pointers and malloc for building a C compiler. The emulation will tkae the form of "Allocate big array, and emulate pointer operations there". Possible, but not very efficient.

    Generics is another area that helped languages like C# get generics that actually make sense, and do not require a PhD to understand. This is an important difference: in Java generics are emulated, in C# they are native to the environment.

    That being said, if you like Java, by all means, keep using Java.

  15. Re:look at the numbers by jipn4 · · Score: 3, Informative

    So care to enlighten me which other 8 applications get removed if you remove Mono?

    Here are a bunch of them: Tomboy, Banshee, F-Spot, Gnome Do, Beagle, Blam, Muine, Tangerine, Hipo, gTwitter, Last Exit, Graphmonkey, Giver, Drapes, Cowbell, Bless, gBrainy, autopano-sift.