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."
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.
RedMonk analyst Stephen O'Grady, the guy being quoted in the article, is a Microsoft shill. And the whole article is filled with FUD.
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...
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 ?
Nothing to see here. Move on.
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.
It rained here this morning, that means it must have rained all over the world.
Java is dying. Python is good so is C#. I love attributes, LINQ, Master Pages, etc.
I'm not an MS fan, but C# is just so nice.
For the record I'm writing this on my debian sid laptop using Iceweasel.
Programming is fun. Did you know that rabbits aren't rodents? Storm clouds are the ones they call cumulonimbus. I forgot to bring lunch today so I ate my hat. In "Transformers: Masterforce" they showed news clippings in which the Destrons were referred to as "Decepticons", that seemed like a nice nod to the Transformers we knew in America... I'm going to write an Emacs clone that uses Brainfuck for its scripting.
Bow-ties are cool.
>> Think of network sockets, file access, threads, and a bunch of other things that quite frankly are annoying to do in C or C++.
You're just using the wrong C++ libraries.
Using Qt I can do all the things you mentioned and just about everything else in the C# and Java class libraries. Cross platform, without the performance and resource penalty of a virtual machine. Also the final product will appear more native on more platforms than C# or Java.
Also because of Qt's design, I barely have to bother with memory management in my GUI apps. So far I'm averaging one delete statement per 1000 lines of code. Everything else is cleaned up automatically. If I thought a bit harder about my design I could probably get rid of most of those deletes as well.
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).
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.
"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...
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.
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.
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. Similarly, I can program a Qt4 application with Qt Jambi (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 has a ton of bindings).
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 (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#, 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.
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 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.