Forgot your password?
typodupeerror
Java Microsoft Programming Linux

Mono Outpaces Java In Linux Desktop Development 598

Posted by timothy
from the statistical-manipulation-more-popular-than-ever dept.
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."
This discussion has been archived. No new comments can be posted.

Mono Outpaces Java In Linux Desktop Development

Comments Filter:
  • by Jugalator (259273) on Thursday July 09, 2009 @05:47PM (#28642899) Journal

    but recent changes could strengthen Java's hand, SD Times is reporting

    OK, I've glanced over the article twice now, and can't see anywhere where they bring up what could be strengthening Java's position in the future?

    I'm assuming it's updates to Eclipse, but they never state it explicitly, just that some Linux distros have weaker IDE support compared to MonoDevelop? *shrug*

    • by rdean400 (322321) on Thursday July 09, 2009 @06:46PM (#28643699)

      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).

      • by owlstead (636356) on Thursday July 09, 2009 @09:25PM (#28645107)

        If it says that it doesn't understand anything about developing and we might as well regard the entire article as trash. The one difference between Eclipse is the AST which enables model-oriented programming and refactoring. This has been in there since 2.0 at least (which is when I started to use Eclipse). Of course it already had debugging abilities build in (duh). Java (with its relatively small set of keywords and complexity) and Eclipse make for a very fine development environment, imho paling MS VS. MS still does not seem to understand that adding features is not always progress.

      • by TheNarrator (200498) on Friday July 10, 2009 @12:28AM (#28645961)
        Yeah after I read that enormous whopper of a lie, followed by the other lie that no other languages were developed by sun for the JVM, I pretty much figured this guy is just a Microsoft shill [wikipedia.org] and has no interest in actually providing any useful information.. Best way to spot a sock puppet or shill by the way is when they receive a counter argument they either ignore it or repeat their initial argument over again. Since they are getting paid and you are not they will repeat this behavior until you get bored and leave the conversation paving the way for them to preach to the naive without any counter-argument.
  • by itomato (91092) on Thursday July 09, 2009 @05:52PM (#28642963)

    This is like saying touch-enabled applications have made great gains in iPhone application share.

    Or that there are more MFC apps than Java equivalents for Windows productivity.

    Heh? Someone bought tickets to the spin train.

  • Microsoft shill (Score:5, Informative)

    by El_Muerte_TDS (592157) <elmuerte AT drunksnipers DOT com> on Thursday July 09, 2009 @05:57PM (#28643029) Homepage

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

  • by bogaboga (793279) on Thursday July 09, 2009 @06:01PM (#28643083)

    ...Packaging has also been a detriment to Java on Linux, said O'Grady...

    To this, [Linux] zealots will defend the status quo saying choice is working for Linux as if there are no draw backs.

    This same problem is being reflected on the choice of desktop environments. No wonder after a decade of "Linux on the desktop", we in the Linux world still command a very small percentage of active users of desktop Linux. Some say we are irrelevant. It's sad.

    • Re: (Score:3, Insightful)

      by jipn4 (1367823)

      To this, [Linux] zealots will defend the status quo saying choice is working for Linux as if there are no draw backs.

      The problem with Java packaging on Linux has been Sun and their insane requirements, not Linux.

      we in the Linux world still command a very small percentage of active users of desktop Linux

      And you know this... how? As far as I can tell, there are probably as many Linux desktop users as there are OS X users. Is OS X irrelevant, too?

  • by sprins (717461) on Thursday July 09, 2009 @06:02PM (#28643091)
    Oh give me a break. For server-side development Java is still king in the performance and feaure department. Perhaps Mono/.NET/MS it catching on, but that's only due to comprehensive copycatting of Java technology.

    Although I agree we shouldn't underestimate MS copycatting...
  • by Anonymous Coward on Thursday July 09, 2009 @06:12PM (#28643217)

    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 ?

    • by hattig (47930) on Thursday July 09, 2009 @06:29PM (#28643471) Journal

      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.

      • by PsychicX (866028) on Thursday July 09, 2009 @07:05PM (#28643935)
        He's talking about Eclipse 3.1 because the article has nothing to do with what the title says. It's not about Mono vs Java, even though the author thinks it is. He spends most of his time basically talking about how Debian is garbage (which seems obvious to me but reasonable people can disagree). In fact the article seems to imply that Debian IS Linux, which is broken on several levels.
    • Re: (Score:3, Insightful)

      by ElMiguel (117685)

      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.

      In fact, Eclipse's code completion, integrated debugging and especially refactoring capabilities are stellar. Can Visual Studio do "extract to local variable" and "extract to method"?

    • Re: (Score:3, Funny)

      Do I get a volume discount if I want five of them ?

      Only if they are all the same article.

    • by mctk (840035) on Thursday July 09, 2009 @07:02PM (#28643897) Homepage
      No, no, no. You misunderstand. You know all of those half-finished hobby projects you have laying around? MonoDevelop actually gets them done! It's incredible! My productivity is through the roof!
  • Can an informed authority tell me whether Mono or Microsoft's .NET can stream data over the internet? Very useful in Forex Trading. This [netdania.com] is what I mean.

    • Well of course it can. It has support for sockets and anything else you would need to stream things.

  • I think the problem is that while Java is cross-platform, it's apps have always been treated like second-class citizens on Windows and Mac platforms. They behaved different, had a very different UI for most of its' life, had a slow big runtime for the dial-up days that every app seemed to have a different version of the VM to run and took forever to load or update.

    For that reason, I think a lot of developers have avoided it on Windows and since Windows has such a market share, if you're primarily a Window
    • by pak9rabid (1011935) on Thursday July 09, 2009 @06:28PM (#28643463)

      ...and we've had almost no exposure to the GUI packages in Java or C, which have a bit of a learning curve even for the educated.

      Actually, GUI programming in Java via Swing is really quite nice. There's a little bit of a learning curve (not so much if you're already familiar with the GUI event model), but you can pick it up really quick. C on the other hand...I havn't really had any direct experience with creating GUI's in C/C++, but if I had to I'd probably pick up Qt (especially after Nokia LGPL'd it), as from what I hear it's quite a pleasure to work with.

      • Re: (Score:3, Interesting)

        by Shados (741919)

        Swing is nice if you understand GUI programming. What the GP was saying, is that for those who have had very little exposure to GUIs in general, learning a GUI toolkit that requires you to understand event models, widget placement, and the rest of the "theory" of UI, is a bit brutal. Of course, once you grasp the basics, Swings' "everything is really a container when you get down to it, even non-container components" model is quite slick. .NET however has a much smoother learning curve. You can do most basi

    • Re: (Score:2, Troll)

      by jipn4 (1367823)

      I think the problem is that while Java is cross-platform, it's apps have always been treated like second-class citizens on Windows and Mac platforms.

      It's even worse on Linux. Java's cross-platform features are a failure on all platforms.

  • Outpaces? (Score:4, Insightful)

    by popo (107611) on Thursday July 09, 2009 @06:16PM (#28643283) Homepage

    "Outpaces" is one of those sketchy words often used to describe comparative speeds. It is almost a sure sign of a release designed to manipulate public opinion.

    e.g.: If Microsoft is growing at 3% annually, and my small one-man software company is growing at 20% annually -- I can put out a press-release saying that I'm "Outpacing Microsoft". But that doesn't mean I'm creating real competition for Microsoft.

    Disclosure: I haven't RTFA -- I'm just calling b.s. on semantics...

    • by generic.individual (1590219) on Thursday July 09, 2009 @09:35PM (#28645167)
      This is one of those slashdot absurdities that I just can't stand. You are criticizing the story while openly stating you didn't read it. W.T.F.

      If you are going to post a comment, at least have the decency to RTFA first. I would give an example of why you should, and show how your statements are false based on the content of TFA, but I haven't read it yet...
  • by moria (829831) on Thursday July 09, 2009 @06:16PM (#28643291)
    From TFA:

    Eclipse 3.1 lacks features that MonoDevelop has, including code completion, integrated debugging, refactoring, and unit testing capabilities

    Nothing to see here. Move on.

  • I don't think so (Score:3, Insightful)

    by jipn4 (1367823) on Thursday July 09, 2009 @06:20PM (#28643331)

    Mono is becoming popular for Linux development because it does not try to be cross platform. It feels much more natural than Java programming.

  • by Anonymous Coward on Thursday July 09, 2009 @06:49PM (#28643745)

    "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 [eclipse.org]

    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...

  • by H0p313ss (811249) on Thursday July 09, 2009 @07:00PM (#28643873)

    The story also touches on the failure of Linux distros to keep pace with Eclipse.

    What does that even mean? Does anyone ever get their eclipse from the distro?

    Eclipse installation is an unzip... I mean WTF does that mean?

  • by Kihaji (612640) <lemkesr.uwec@edu> on Thursday July 09, 2009 @08:03PM (#28644529)
    Java vs C# is the wrong comparison to be making when it comes to what is "better" to develop on. What should be looked at is the JVM vs CLR. This is where the real power of these two languages, and the others that run on them, comes to light. Languages and libraries can be made, but if the underlying VM doesn't support certain features, no syntax will make up for it. And, in my opinion, the CLR is slightly ahead of Java when it comes to power, mostly because of the support for generics at runtime, whereas the JVM doesn't (Java generics are type erased at compile time).
  • by Jahava (946858) on Thursday July 09, 2009 @08:04PM (#28644535)

    A major fault that I've seen in numerous sub-threads is the idea that a Java user interface equals Swing. It most certainly does not. Swing is merely Java's complete pure-Java (i.e. cross-platform) user interface geared towards providing a unified look-and-feel. In this respect, it does a good job. While there's nothing inherently wrong with it from a toolkit perspective, it is absolutely not appropriate for usage on the Linux desktop.

    Programming for the Linux desktop means more than producing a windowed application; one must integrate their application, both in terms of user interface consistency and application interoperabililty, with a major desktop distribution. Specifically, I'm talking about Linux's "big two" desktop environments, KDE + Qt and GNOME + GTK+. While each of these environments have their preferred languages (C++ and C respectively), many other languages have no issues whatsoever being tightly integrated into them via bindings.

    Java is no exception! In Java, I can program a wonderful GNOME/GTK+ application just fine with java-gnome [sourceforge.net]. Similarly, I can program a Qt4 application with Qt Jambi [gitorious.org] (although I can't seem to find an equivalent KDE4 bindings library) in Java. An application written in either will appear and operate on par with any application written in other languages, either natively (via C or C++) or via another bindings library (Python [python.org] has a ton [sourceforge.net] of [python.org] bindings [pygtk.org]).

    Furthermore, just like GTK+ and Qt have cross-platform capability, so do the bindings, and if the appropriate binding library for a given platform is installed on that platform, the Java application, too, will be able to be cross-platform without modification. This is, of course, the job of the distribution and/or installer software, but operates similar to the Deluge [deluge-torrent.org] (Python) installer for Windows, installing the client port of the toolkit (GTK+, in this case) and the language bindings (PyGTK) alongside the application.

    That's exactly how the Mono desktop applications work: they write their logic in native C# and use GTK+ bindings (GTK# [mono-project.com], in most cases) to integrate with the Linux desktop environment.

    Any Java application written for the Linux desktop that uses Swing over native desktop bindings is foolish. Each has their place, for sure, but on the desktop integration is everything.

    • Re: (Score:3, Interesting)

      but on the desktop integration is everything.

      I hate integration. It means that a single update of a single package can bring the whole thing down. Honestly if i want to play music I don't give a carrots ass if its using the same font as the bloody word pad. I just want to play the friken music... I don't give a flip if it stores the setting in some kde standard place if it has crap playlist editing.... etc...

      Whats the point of looking all nice and integrated if it doesn't bloody work? Which is why the bulk of the apps i use and find productive are

    • Re: (Score:3, Interesting)

      by Late Adopter (1492849)

      Furthermore, just like GTK+ and Qt have cross-platform capability, so do the bindings, and if the appropriate binding library for a given platform is installed on that platform, the Java application, too, will be able to be cross-platform without modification. This is, of course, the job of the distribution and/or installer software

      This is not a trivial step. There will always be advantages to pure Java code, the most obvious being it runs anywhere you have a JVM, and installs and behaves exactly the same way with no platform dependent code.

  • Jeez. (Score:3, Funny)

    by cunamara (937584) on Friday July 10, 2009 @12:24AM (#28645947)
    Who names an application framework after an infectious disease?
  • More popular? (Score:4, Interesting)

    by Alex Belits (437) * on Friday July 10, 2009 @07:53AM (#28647873) Homepage

    That's like saying that hydrochloric acid is more popular as a drink than hydrofluoric acid.

    Both environments are massive messes of overcomplicated languages with even more overcomplicated infrastructure, stuffed with random libraries and lovingly wrapped with overinflated egos of their designers and developers, and wankery of the users who think, it's the second coming of Lisp.

    At this point there are five good choices for developing a new non-game GUI-centric application for Linux (or anything except Windows-only or OSX-only applications):

    1. C++/Qt (KDE and everything useful in it, Opera, QCad, countless commercial applications).
    2. C/GTK (GNOME and everything useful in it, X-Chat, Pidgin).
    3. C++/GTK (OpenOffice.org).
    4. Python/Qt.
    5. Python/GTK.

    This covers everything anyone would want in a GUI-centric application -- the five reasons I have seen for other combinations are:

    1. As attempt to promote some crappy environment or a "my first application in <crappy environment>" project that got out of hand (Tomboy, Banshee).
    2. Out of ignorance (all "enterprise applications" where Java was chosen because it's supposed to be "cross-platform").
    3. A minimal update for some old application that was written before the above five choices became available (the only reason why I still have Motif installed).
    4. The application IS an environment designed specifically for some set of goals (Emacs, Mozilla).
    5. As a wrapper over something someone already written.

"Call immediately. Time is running out. We both need to do something monstrous before we die." -- Message from Ralph Steadman to Hunter Thompson

Working...