Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Java Microsoft Programming Linux

Mono Outpaces Java In Linux Desktop Development 598

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

  • Re:Good (Score:4, Informative)

    by turgid ( 580780 ) on Thursday July 09, 2009 @05:53PM (#28642971) Journal

    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.

  • by Anonymous Coward on Thursday July 09, 2009 @05:55PM (#28643005)

    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.

  • Microsoft shill (Score:5, Informative)

    by El_Muerte_TDS ( 592157 ) 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 Anonymous Coward on Thursday July 09, 2009 @05:59PM (#28643051)

      Please see this [java-source.net].

    Yours In Parentheses,
    Kilgore Trout

  • 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 DragonWriter ( 970822 ) on Thursday July 09, 2009 @06:17PM (#28643299)

    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.

  • by Freetardo Jones ( 1574733 ) on Thursday July 09, 2009 @06:28PM (#28643469)

    The Banshee guys, the Beagle guys, the Blam! guysm the Diva guys, the DotNet BlogEngine guys, the GNOME Do guys, the F-Spot guys, the FusionFall guys, the Graffiti CMS guys, the iFolder 3 guys, the KeePass 2 guys, the Second Life guys, the MonoTorrent guys, the Muine guys, the PHP4Mono guys, the Smuxi guys, the Sky Net guys, the Unity guys and the VistaDB guys. Just to name a few.

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

  • Re:Good (Score:5, Informative)

    by Freetardo Jones ( 1574733 ) on Thursday July 09, 2009 @06:47PM (#28643723)

    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.

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

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

  • 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 SpinyNorman ( 33776 ) on Thursday July 09, 2009 @06:57PM (#28643829)

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

  • 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?

  • Eclipse and SVN (Score:1, Informative)

    by Anonymous Coward on Thursday July 09, 2009 @07:02PM (#28643903)

    To correct your last point, there is even a specific distribution of Eclipse that includes already-integrated SVN.

  • Re:Good (Score:5, Informative)

    by Cyberax ( 705495 ) on Thursday July 09, 2009 @07:12PM (#28644007)

    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.

  • Re:Good (Score:5, Informative)

    by EvanED ( 569694 ) <evaned@NOspAM.gmail.com> on Thursday July 09, 2009 @07:45PM (#28644365)

    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.

  • Re:Microsoft shill (Score:5, Informative)

    by Jah-Wren Ryel ( 80510 ) on Thursday July 09, 2009 @07:49PM (#28644405)

    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), [redmonk.com] Microsoft is a client of Redmonk.

  • by benwaggoner ( 513209 ) <ben.waggoner@mic ... t.com minus poet> on Thursday July 09, 2009 @08:24PM (#28644677) Homepage

    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 [microsoft.com]

    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.

  • by Anonymous Coward on Thursday July 09, 2009 @09:37PM (#28645173)

    In Ubuntu at least, the package managers only installs Eclipse 3.1. You have to manually download and install/configure any newer Eclipse versions. It's really a pain. I don't have a clue why it hasn't been upgraded...

    On the Eclipse side of complaints, wheres text wrapping? Many 'smaller' IDEs have that.

  • by Homburg ( 213427 ) on Thursday July 09, 2009 @10:27PM (#28645517) Homepage

    I believe the version of Eclipse in Debian and Ubuntu is so far behind because the packagers haven't been able to produce a package of newer versions that runs using the GCJ native compiler, and they don't want to ship a version that uses the regular JVM. Why they would rather ship an ancient version of eclipse, than ship a java program that uses the JVM, I do not know.

  • Re:Good (Score:1, Informative)

    by Anonymous Coward on Friday July 10, 2009 @12:32AM (#28645975)

    If you compare VB.Net to VB, you will find that it's more akin to C# with VB syntax- which is why he probably made the comparison.

    Having programmed in quite a bit more programming languages than is healthy (You could count them on your hands and toes and still not get all of them counted...)- and many of those in production settings, I can tell you that it's little different than Java in nature. People claim that there's loads done for you and you can code in a high level. The same can actually be said of Java. Moreover, it can be said that while it's "nice" to code at a high level, this ALWAYS comes at a price.

    Keep in mind that LSE was done up with .Net- the full monte. Unfortunately, LSE, even though it's volume isn't the same as NASDAQ or NYSE, cratered under their nifty new toy and deployed back to a Linux based system that could cut the mustard there.

    C# isn't the greatest thing since sliced bread and I really, really wish people would QUIT trying to make it out to be that. It's nice. It's suitable as a tool for SOME tasks- though it's debatable that it's better than other tools at those same tasks.

  • Re:Good (Score:1, Informative)

    by Anonymous Coward on Friday July 10, 2009 @12:43AM (#28646035)

    .NET is not a language... .NET is an environment that runs on the CLR which can be accessed through several different languages (Managed C++, C#, J# to name a few)...

    Java is a language that runs the JRE on a JVM.

    For better understanding,

    Java is to C# as .NET is to the JRE as the CLR is to the JVM.

    Any questions?

  • by daemonburrito ( 1026186 ) on Friday July 10, 2009 @01:03AM (#28646119) Journal

    There is no patent mess.

    You were saying that before the "Community Promise". Funny, right?

    And yes, the "community promise" doesn't make your statement true. The "Promise" only covers ECMA 334 and 335 (C# language and CLI), as you're well aware.

    Astute readers will point out that Mono contains much more than the ECMA standards, and they will be correct.

    - Miguel [tirania.org]

    Indeed, Mono is officially being split in half. But you already knew that.

  • Re:Good (Score:2, Informative)

    by binary paladin ( 684759 ) <binarypaladin@gm a i l . com> on Friday July 10, 2009 @01:07AM (#28646141)

    I really, really like C# and I gotta say, I'm a big fan of operator overloading, a feature lacking in Java that always manages to piss me off.

    I found my work in .NET to be pleasant and I actually really dig ASP MVC for web development. It's not my favorite, but I'd say it's my favorite statically typed language. I wish people would evaluate .NET beyond the fact that it's a Microsoft creation.

  • by jipn4 ( 1367823 ) on Friday July 10, 2009 @01:31AM (#28646231)

    Fact is: Java and .NET can do pretty much the same things and it mostly comes down to prefference

    C# and the CLR are a superset of Java and some of the extra features are essential to many people: value types, multidimensional arrays, real templates, unsafe modules, better multi-language support, direct calls to C, and excellent bindings to native libraries. And the fact that C# encourages use of platform specific libraries is a big advantage to many.

    So, I think in many cases, it's not preference, it's driven by requirements. I can't imagine doing another big project in Java because on every project, one or another of Java's limitations has ended up causing lots of trouble.

  • Re:Good (Score:3, Informative)

    by melted ( 227442 ) on Friday July 10, 2009 @02:39AM (#28646497) Homepage

    .NET is actually FASTER on Windows than Java. Mono is about 15% slower, which still isn't bad, since it takes up far less RAM than Java in 64 bit mode.

    There are no "macros" or text substitutions in C#. You can inspect IL fairly easily using Reflector.

    LINQ kicks ass for just the functional aspect of it.

    Sorry, dude, you're talking out of your ass.

  • by miguel ( 7116 ) on Friday July 10, 2009 @02:39AM (#28646499) Homepage

    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.

  • by Alioth ( 221270 ) <no@spam> on Friday July 10, 2009 @04:36AM (#28647049) Journal

    From the horse's mouth itself:

    Q: Is this Community Promise legally binding on Microsoft and will it be available in the future to me and to others?
    A: Yes, the CP is legally binding upon Microsoft. The CP is a unilateral promise from Microsoft and in these circumstances unilateral promises may be enforced against the party making such a promise. Because the CP states that the promise is irrevocable, it may not be withdrawn by Microsoft. The CP is, and will be, available to everyone now and in the future for the specifications to which it applies.

    Personally, I'll still be using Java - you're a "second class citizen" developing C# on Linux, always trailing Windows. But you're a first class citizen on Java regardless of what platform you have on your development machine. And I like Netbeans :-)

  • by rdnetto ( 955205 ) on Friday July 10, 2009 @05:32AM (#28647321)

    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.

  • by Late Adopter ( 1492849 ) on Friday July 10, 2009 @10:04AM (#28649145)
    Moonlight only supports Silverlight 1, which is basically enough to generate the dialog box that tells you you need Silverlight 2.
  • by miguel ( 7116 ) on Friday July 10, 2009 @10:11AM (#28649255) Homepage

    Right, "Type Erasure" means that none of the semantic information is preserved in the produced bytecode or metadata.

    This has several problems, for example, the following is invalid in Java:

    class Stack {
            T [] storage;

            Init ()
            {
                  storage = new T [20];
            }
    }

    You might want to read "Generic Gotchas" for Java. There is no such problem with the C# version as they are first class citizens:

    http://www.ibm.com/developerworks/java/library/j-jtp01255.html [ibm.com]

    The implementation is so arcane that it requires documents like this encyclopedic FAQ:

    http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html [angelikalanger.com]

    Or even Sun's Ken Arnold stating that "Generics are a mistake":

    http://weblogs.java.net/blog/arnold/archive/2005/06/generics_consid_1.html [java.net]

    None of this problems happen in C# and .NET.

  • by jipn4 ( 1367823 ) on Friday July 10, 2009 @10:12AM (#28649261)

    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.

I tell them to turn to the study of mathematics, for it is only there that they might escape the lusts of the flesh. -- Thomas Mann, "The Magic Mountain"

Working...