Linked by Thom Holwerda on Wed 7th Mar 2007 22:27 UTC
Java "Although the .NET vs. Java war is basically over for control of the Windows desktop, where .NET is sure to become the managed language of choice for new Windows desktop applications, there is a new battle brewing. That battle is for the Linux desktop. Now that Java has been open sourced under the GPL, even the most strict of the 'free software only' distributions can start bundling it and integrating it into their Linux distributions out of the box."
Thread beginning with comment 219418
To read all comments associated with this story, please click here.
Only Two Choices?
by ma_d on Wed 7th Mar 2007 22:58 UTC
ma_d
Member since:
2005-06-29

Python/Gtk seems like a pretty strong choice given that there are quite a few applications using it (Gajim for example).

I'd actually be more strongly tempted by C# and Gtk than Java and Swing or Java and SWT. SWT is pretty nice, but I still prefer Gtk and simple Gtk bindings (it's sort of home field for me, and I know I'm not losing drawing primitives because they're not available cross platform). I don't consider Swing a viable toolkit: D&D on Linux issues, Mac issues with dual monitors, too clunky in general, the object decomposition seems like it was done by an OO purist, it seems unlikely to take advantage of gpu drawing anytime soon, etc...

My feeling is that today, on Linux, Mono may be the strongest choice. Especially given the Gnome bindings for it (I've heard they're quite complete?).

Reply Score: 5

RE: Only Two Choices?
by czubin on Wed 7th Mar 2007 23:06 in reply to "Only Two Choices?"
czubin Member since:
2005-12-31

Perhaps Qt Jambi (as QT on java) will make java more tempting for me.

But Gtk# with C# on linux is truly a nice option.

Reply Parent Score: 5

RE: Only Two Choices?
by pantheraleo on Wed 7th Mar 2007 23:53 in reply to "Only Two Choices?"
pantheraleo Member since:
2007-03-07

> Python/Gtk seems like a pretty strong choice

I wouldn't consider Python to be a strong choice for a full blown desktop application due to its lack of strong typing and such.

> Mac issues with dual monitors

What issues? I run Swing apps on my PowerMac G5 with dual monitors, and I have no issues at all.

> it seems unlikely to take advantage of gpu
> drawing anytime soon

Java has been using the GPU for 3D since Java 5, and in Java 6, which has been out for awhile now, it also uses it for 2D drawing.

(http://weblogs.java.net/blog/chet/archive/2005/05/graphics_accele.h...)

> My feeling is that today, on Linux, Mono may be
> the strongest choice. Especially given the
> Gnome bindings for it (I've heard they're quite
> complete?).

I see several problems with Mono on Linux, which are pointed out in the article. Compared to Java, it is very immature, it does not have nearly the amount of open source library support that Java does, and it is doomed to always lag behind the official .NET implementation. That and because of the fact that Mono's class libraries use the MIT license, there are potential software patent traps. (http://www.newsforge.com/article.pl?sid=02/02/19/1651244)

Since Java is GPL, and Sun has made clear that Java will adopt GPLv3 once it becomes finalized, there are no patent traps for Java.

Edited 2007-03-08 00:00

Reply Parent Score: 5

RE[2]: Only Two Choices?
by kaiwai on Thu 8th Mar 2007 01:26 in reply to "RE: Only Two Choices?"
kaiwai Member since:
2005-07-06

That and because of the fact that Mono's class libraries use the MIT license, there are potential software patent traps.

Not entirely true; the core classes along with GTK#, Cairo# and friends are ok - the problem with occur with the .NET compatibility like Winforms.

Then again, its no more troubling than Wine, which probably treads on a number of patents and yet, there isn't a single bit of protest.

Microsoft know that ultimately Mono will always be playing catch up; the VM of mono alone is immature and no where near the capabilities of Microsofts own .NET or Sun's Java VM - and given that the development is done by only one company, Novell, and a cheapskate organisation at that (unwilling to spend money when required) Microsoft know that its always going to nothing more than a novelty.

Reply Parent Score: 5

RE[2]: Only Two Choices?
by ma_d on Thu 8th Mar 2007 01:29 in reply to "RE: Only Two Choices?"
ma_d Member since:
2005-06-29

Python is strongly typed, it's not statically typed. And I agree, I also believe it poses a problem when developing complex software. However, a lot of desktop software doesn't appear to be entirely complex in the way that static typing helps but in other ways where rapid changes help (user interactions are complicated because of users, not the nature of the calculations or data so an easily modified code base is more helpful than a statically typed one).

Obviously mileage will vary from programmer to programmer and problem to problem.

It is good to hear that Swing will be moving forward and making use of that extra hardware for drawing where possible, that's encouraging news. As I tried to communicate before, I didn't have the feeling that Swing was moving forward (other than trying to act more native). Maybe my feeling is wrong.

Start an app with only one display connected. Connect the display. Move the app to the second display. Try to use a combo box. The combo box should fail to display a menu (it does here).
Also, menu's don't do the proper animation after selecting (really minor).
I'm sure I'll find more as time goes on though, I'm new to Mac.


If you've watched Microsoft's take over of application software you should note one thing: It's not about what you can do, it's about what you can promise to do and if you can make people believe you'll get there. In a sense, it's about momentum (or at least perceived momentum) and not about assets.
Java is more mature, that's for sure and that's a great asset. Mono is new and shiny and partially due to its newness and partially due to its openness (not just the source, but the developers talking openly) it appears to have a lot of momentum.


Patent traps are probably going to hurt Mono as well. But I believe that's actually a much smaller group of developers than the group who doesn't think a lot about it; and I'm only talking about Linux application developers (the ones we're concerned with).

Reply Parent Score: 5

RE: Only Two Choices?
by Liquidator on Wed 7th Mar 2007 23:56 in reply to "Only Two Choices?"
Liquidator Member since:
2007-03-04

Java is heavy and uses much RAM.

Reply Parent Score: 5

RE[2]: Only Two Choices?
by kap1 on Thu 8th Mar 2007 00:02 in reply to "RE: Only Two Choices?"
kap1 Member since:
2006-05-12

for small apps it might be a bit heavy but larger apps its about the same as its native counter parts.

Edited 2007-03-08 00:03

Reply Parent Score: 5

RE: Only Two Choices?
by unavowed on Thu 8th Mar 2007 00:31 in reply to "Only Two Choices?"
unavowed Member since:
2006-03-23

I share the sentiment about the GTK bindings. Sadly, even though there used to be decent ones at http://java-gnome.sourceforge.net/, lately the new maintainers have started a rewrite which seems very closely coupled to GNOME. Might be worth informing them that really a lot of people would like to use Java and GTK but not GNOME...

Reply Parent Score: 2

RE[2]: Only Two Choices?
by Doc Pain on Thu 8th Mar 2007 00:45 in reply to "RE: Only Two Choices?"
Doc Pain Member since:
2006-10-08

"I share the sentiment about the GTK bindings. [...] lately the new maintainers have started a rewrite which seems very closely coupled to GNOME. Might be worth informing them that really a lot of people would like to use Java and GTK but not GNOME..."

Yes, Gtk is fine, especially with C. Java offers a lot of higher level functionalities than C does, and Gtk is a viable and fast toolkit. So I hope there will be an improvement that does not rely strictly on Gnome, but will be more generic.

Reply Parent Score: 2

RE[2]: Only Two Choices?
by ma_d on Thu 8th Mar 2007 01:31 in reply to "RE: Only Two Choices?"
ma_d Member since:
2005-06-29

That's probably true. A lot of people do choose Gtk because of how nicely it can be integrated into a non-Gnome desktop.

Reply Parent Score: 2

RE: Only Two Choices?
by unoengborg on Thu 8th Mar 2007 04:30 in reply to "Only Two Choices?"
unoengborg Member since:
2005-07-06

Python/Gtk seems like a pretty strong choice given that there are quite a few applications using it (Gajim for example).

The problem is that Python is a bit slow compared to java and C#. As for java and Gtk bindings I would prefer if the Gtk swing look&feel was improved so that java apps didn't stick out like a sore thumb rather than focus on Gtk bindings.

The java swing class libraries are very well designed, and there are probably a lot more developers that know how to use swing than ones that know Gtk, as java is used as first programming language in many universities round the world.

Why not make a swing Gnome and KDE look&feel as well, that way we could have apps that looked resonably good on both Gnome and KDE.

The only downside I see with Java is that it currently is a bit hungry for RAM.

Reply Parent Score: 2