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."
Order by: Score:
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 UTC 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 Score: 5

RE: Only Two Choices?
by pantheraleo on Wed 7th Mar 2007 23:53 UTC 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 Score: 5

RE[2]: Only Two Choices?
by kaiwai on Thu 8th Mar 2007 01:26 UTC 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 Score: 5

RE[3]: Only Two Choices?
by g2devi on Thu 8th Mar 2007 20:55 UTC in reply to "RE[2]: Only Two Choices?"
g2devi Member since:
2005-07-09

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

Actually not quite correct. Everyone recognizes that WINE and Winelib are temporary (imperfect) solutions, not permanent ones, so the effect of a patent trap is less because few people rely too heavily on WINE. If worse comes to worse and the trap is sprung, you can always use VMWare/Xen/KVM/QEMU.

When Corel ported Wordperfect to Winelib, people balked, so I wouldn't say there isn't a single bit of protest for WINE.

The key difference between WINE/Winelib and Winforms/ASP.NET/ADO.NET is that the later is billed as a permanent solution to writing portable apps that can be developed on Windows first while the former is not.

Edited 2007-03-08 20:57

Reply Score: 5

RE[4]: Only Two Choices?
by kaiwai on Thu 8th Mar 2007 21:12 UTC in reply to "RE[3]: Only Two Choices?"
kaiwai Member since:
2005-07-06

Although I'd like to see Wine as a temporary solution, the reality is anything but that.

When you have lazy software companies like Adobe not getting off their ass porting their software to Linux, knowing full well that that there is a massive demand, both by Windows and MacOS X users looking at migrating, Wine unfortunately by the nature of laziness of software companies, will become a perminant fixture on the Linux desktop.

Now, I'm not trying to scare people, but it does open up a big can of worms, and worse still, due to the crap portable nature of Wine - the fact that its severly broken on any platform outside Linux - try running it on FreeBSD or Solaris for example, you'll always end up getting locked into a single operating system - hence my preference for an opensource replacement; atleast then I can move and take the application with me, if I move from Linux to FreeBSD, as long as the application as been ported, I can continue on running the same one - with wine, its the roll of the dice as to whether something that might have run under wine on Linux runs under wine on FreeBSD or Solaris.

Reply Score: 3

RE[2]: Only Two Choices?
by ma_d on Thu 8th Mar 2007 01:29 UTC 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 Score: 5

RE[3]: Only Two Choices?
by Mystilleef on Thu 8th Mar 2007 04:45 UTC in reply to "RE[2]: Only Two Choices?"
Mystilleef 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.
>

How do we define complex software? How does static typing make developing complex software easier?

http://pygtk.org/applications.html

On that page you'll find a list of applications ranging for UML editors, auditor editors, video editors, audio streamers, to full blown games all written in Python. Python is excellent for written any kind of software regardless of complexity. The whole "dynamically typed languages is not good for writing 'complex' software" is a silly myth.

Reply Score: 4

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

Static type checking makes developing complex software easier because it establishes statically (compiler) checked contracts at all of your interfaces.

On a local level it makes software a bit more clear by defining what types of inputs and what type of output a function has. With dynamic type checking you can receive any type of object into your function and pass it down the line until it gets to a point where the duck typing (this is runtime now, and it's usually duck typing as it is in python) causes an error (it can't find some attribute on that object that it expected).

Static type checking forces you to think these things through before you can even compile your program. Some people can do entirely without it and many people substitute extensive unit tests (which do a lot more than check type issues, which is why they're used in static type checked languages as well). But the errors still leak through and you end up doing a lot of work to figure out at what point you're really sending an invalid object into the mix.

To state that static type checking doesn't aid in writing software is to call dozens of prominent language designers wrong... I doubt even Guido would argue that static type checking isn't helpful.
In fact, I do believe Guido agrees with me ;) .
http://www.artima.com/weblogs/viewpost.jsp?thread=86641

There's actually a tool for doing some static type checking in Python: http://pychecker.sourceforge.net/

Static type checking is much more difficult in a language like Python, which is why so many modern statically typed languages add syntax to aid in the enforcing. The difficulty of the check, coupled with Python's "run from source code" workflow, is likely why it's not in the compiler itself.

Reply Score: 3

RE[5]: Only Two Choices?
by Mystilleef on Thu 8th Mar 2007 21:34 UTC in reply to "RE[4]: Only Two Choices?"
Mystilleef Member since:
2005-06-29

Static type checking is overrated. And does almost nothing to alleviate software complexity or reduce bugs in typical software programs. When was the last time a type error brought a project to a hault? In my experience writing programs with both statically and dynamically typed languages, type errors have been the least of my concerns. And I only realized that after writing a medium scale project in a dynamically typed languages.

What static type checking does is give impressionable developers a false sense of security. The reality is that disasterous bugs in software are only found via testing. Unit automated testing, regression testing, user testing and manual testing are the scientifically proven ways to ferret out bugs in software, not fanatically checking data types whether or not it makes sense. Type errors are cheap to discover and fix in about every language I know. Python, in particular, points you to exact function and line a possible type error may have occurred, albeit during testing.

The errors most developers have nightmares over are the ones related to design, semantics, threading (race condition, dead locks, etc), inadequate understanding of the problem space or inexperience, bugs in third party libraries, poor or lack of documentation among many others. I have yet to a see a developers grow gray hair over type errors.

Static typing is something smart compilers should manage for programs. In fact, some smart compilers already do that. Haskell's compiler has an impressive inference engine that many statically typed languages should emulate. The single significant advantage of static typing is optimization and performance tuning. Errors with respect to types are almost always insignificant and cheap to discover. A programmer's greatest challenge should be design, not fighting around needlessly with compiler errors or language semantics.

Reply Score: 1

RE[6]: Only Two Choices?
by RandomGuy on Fri 9th Mar 2007 10:29 UTC in reply to "RE[5]: Only Two Choices?"
RandomGuy Member since:
2006-07-30

I feel that both, static and dynamic typing, can be a pain if they're forced on you. That's a problem that I encountered in C++ for example:

I'm writing some sort of function and don't yet know what sort of input it's going to take but I need some sort of temp variable. Problem: I need to declare the variable AND it's type at the same time - all squeezed into one tiny statement. Yes, I know there are templates but they're just a pain in the a**!

On the other hand, sometimes you WANT to give type information. As a comment, to increase performance and, last but not least, for polymorphism types are imho essential.
But they should be dynamic so that you could e.g. first use something as a vector with vector addition and multiplication and then use it as a list like this:
my a, b
a=(1, 2, 3)
b=(-1, 1, 0)
(a, b) are vectors
a+=b // a is now (0, 3, 3)
a/=3 // a is now (0, 1, 1)
(a, b) are lists
a+=b // a is now (0, 1, 1, -1, 1, 0)

That'd be sweet!

Reply Score: 1

RE[7]: Only Two Choices?
by ma_d on Sun 11th Mar 2007 00:31 UTC in reply to "RE[6]: Only Two Choices?"
ma_d Member since:
2005-06-29

Some statically typed languages are introducing inferred types which you might find interesting (although I think you'd need to be dilligent in replacing their use once you're done experimenting). C# is an example, I believe in 3.0 the "var" keyword now means to use an inferred type.

Reply Score: 2

RE[6]: Only Two Choices?
by ma_d on Sun 11th Mar 2007 00:36 UTC in reply to "RE[5]: Only Two Choices?"
ma_d Member since:
2005-06-29

Static type checking is a minor general form of testing. By giving it up you're simply adding one more test onto your unit test requirements... I see no reason to rewrite this over and over when general algorithms have been _mathematically proven_.

You admit you're going to test the typing anyway so why not just have the compiler do it?

As I pointed out before, Python has a similar tool: PyChecker. You might try reading posts before you spout off self-righteously as if we told you your favorite language was bad, which I don't think anyone has.
Python is one of my favorite languages, I use it quite often. And not just on tiny problems.

Reply Score: 2

RE[7]: Only Two Choices?
by Mystilleef on Sun 11th Mar 2007 00:54 UTC in reply to "RE[6]: Only Two Choices?"
Mystilleef Member since:
2005-06-29

Your claim that dynamically typed languages is not good for "complex" projects/problems is bogus. I could care less if Python is your most or least favored language.

Reply Score: 1

RE[3]: Only Two Choices?
by Stubbs on Thu 8th Mar 2007 14:51 UTC in reply to "RE[2]: Only Two Choices?"
Stubbs Member since:
2007-03-08

As Ma_d already pointed out python is strongly typed. One point I would make is that a combination of unit testing and pyDoc gets rid of many of the "risks" that a non statically typed language may introduce.

Also python now has the option of using Windows Forms or Swing Via IronPython or Jython respectively

Reply Score: 1

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

Java is heavy and uses much RAM.

Reply Score: 5

RE[2]: Only Two Choices?
by kap1 on Thu 8th Mar 2007 00:02 UTC 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 Score: 5

RE: Only Two Choices?
by unavowed on Thu 8th Mar 2007 00:31 UTC 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 Score: 2

RE[2]: Only Two Choices?
by Doc Pain on Thu 8th Mar 2007 00:45 UTC 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 Score: 2

RE[2]: Only Two Choices?
by ma_d on Thu 8th Mar 2007 01:31 UTC 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 Score: 2

RE: Only Two Choices?
by unoengborg on Thu 8th Mar 2007 04:30 UTC 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 Score: 2

JVM needs to talk to the VMM
by msundman on Wed 7th Mar 2007 23:01 UTC
msundman
Member since:
2005-07-06

There still needs to be better communication between the JVM and the VMM. Now when the JVM starts doing a full sweep GC it starts accessing a lot of pages that might be swapped out to disk. This thrashing often causes delays of several seconds, which isn't acceptable in a normal desktop application where the reaction-within-0.1-seconds UI rule holds.
(In fact, I've seen IDEA do a GC for one hour, but I guess that's another story.)

Reply Score: 3

RE: JVM needs to talk to the VMM
by dsmogor on Thu 8th Mar 2007 11:08 UTC in reply to "JVM needs to talk to the VMM"
dsmogor Member since:
2005-09-01

There should be a way to dynamically communicate amount of free system memory to VM so that swapping heap out can be completely avoided.
VMM should be able to ask VM for garbage collection before resorting to swapping.
Besides, VM should be able to "borrow" free memory for caches implemented using weak references. When in need VMM would ask VM to give it back.
More dynamic interaction could be implemented like kernel asking VM to temporarily pin down references to data in some pages before swapping them out so that GC can work without making them dirty.
This would make -Xmx redundant.
These interactions are not really specific to java VM. Any garbage collected system could benefit from such user space interface to VMM.

Reply Score: 2

Ehhh?
by fithisux on Wed 7th Mar 2007 23:18 UTC
fithisux
Member since:
2006-01-22

"Although the .NET vs. Java war is basically over for control of the Windows desktop"

Have you heard about imageJ / jlGui / Jdistro (not developed anymore sighh!!!) and a bunch of useful apps. There is Harmony / BlueTooth APIs and you can wrap many native things in java. And you have good mingw+java cooperation. C# is crap. And there is no Project Looking Glass for it. I must admit Visual Hash and Paint dot.net are useful, but couldn't they be written in Java?

The war has never started because MS and Slave Companies are forced to use C#. They will also use D#,E#,F#,G# and H# if MS orders it. But open source developers is the battlefield, and freshmeat/sourceforge give an indication.

Java 1.6 + Scriping interfaces is just a dream for a Windows developer. I wish hardware was also crossplatform like Java.

Reply Score: 1

RE: Ehhh?
by jayson.knight on Wed 7th Mar 2007 23:31 UTC in reply to "Ehhh?"
jayson.knight Member since:
2005-07-06

You do realize that 90+% of the software written for the desktop takes place in businesses and not in the consumer realm, right? And in almost all of those cases, desktop software is written using a MS provided framework/language.

Reply Score: 5

RE[2]: Ehhh?
by pantheraleo on Wed 7th Mar 2007 23:43 UTC in reply to "RE: Ehhh?"
pantheraleo Member since:
2007-03-07

> You do realize that 90+% of the software written
> for the desktop takes place in businesses and not
> in the consumer realm, right?

Yes I do.

> And in almost all of those cases, desktop software
> is written using a MS provided framework/language.

That is where you are wrong. A survey conducted by Evans Data Corporation found that Java + Swing is actually the most popular toolkit at least in North America. (http://www.psynixis.com/blog/2005/10/19/java-swing-is-dominant-gui-...)

The reason people don't see this is exactly the reason you give. Because most of the applications that make Java and Swing the most popular GUI platform are internal business applications, so the general public never sees these Swing applications.

Reply Score: 5

RE[2]: Ehhh?
by redbarchetta on Thu 8th Mar 2007 21:18 UTC in reply to "RE: Ehhh?"
redbarchetta Member since:
2005-11-14

That is complete bunk..where did you get this??? I have been working in Enterprise IT for 12 years and just about everything is written in Java. I would say you are backwards.. most consumer applications I see are written in C++, VB, or .NET, but most business applications are written in C++ or Java. I can't think of a single application I have used at work since the inception of .NET that is actually written in a .NET language.

Reply Score: 1

RE: Ehhh?
by diegocg on Thu 8th Mar 2007 01:03 UTC in reply to "Ehhh?"
diegocg Member since:
2005-07-08

C# is a nice language, get over it. I'm not saying "better" or "worse" than java, it's just a great language, and people is going to use it. And not just because Microsoft forces them, but because -again- C# is a great language. And mono is open source, just like java (not GPL, but open source)

Reply Score: 5

RE[2]: Ehhh?
by pantheraleo on Thu 8th Mar 2007 01:14 UTC in reply to "RE: Ehhh?"
pantheraleo Member since:
2007-03-07

> C# is a nice language, get over it.

I'm not saying it's not a nice language. It is. But that doesn't change the fact that mono has serious problems which it is unlikely to ever overcome.

> And mono is open source, just like java (not GPL,
> but open source)

Yeah, it is open source. But like I said, because the class libraries use the MIT license, there is a software patent trap, since any company that makes improvements to the class libraries, or modifications, can patent their changes. With Java, and the GPL, you can't do that--especially not with version 3 of the GPL which Java will adopt once it becomes finalized. So in the end, for open source, Java is a safer choice. Again, there are no software patent traps with Java like there are with mono.

Reply Score: 2

RE[3]: Ehhh?
by Lobotomik on Thu 8th Mar 2007 07:18 UTC in reply to "RE[2]: Ehhh?"
Lobotomik Member since:
2006-01-03

Potential MIT software patent trap? Then the same happens in X and in BSD-licensed libraries, of which there are many (isn't TCP/IP?), and the BSD kernels ...

What do you mean "especially not with version 3"? Is there, or is there not a risk with GPL2? Because if there is one -- because there IS one -- all GPL2 code, which includes the Linux kernel, GTK+, Gnome, Qt, KDE and most open source is also in danger. Java, to start with.

The problem of potential software patent trap in MIT-licensed Mono is pure bullshit: software patents are as much of a liability for everything else. You cannot stop using code for fear of software patents, unless you revert to pen and paper (and even then ...)

Reply Score: 4

RE[3]: Ehhh?
by dylansmrjones on Thu 8th Mar 2007 14:27 UTC in reply to "RE[2]: Ehhh?"
dylansmrjones Member since:
2005-10-02

It's an USA-only problem. The rest of the world (especially Asia) will just keep on enhancing software, leaving USA in the dust when it comes to IT.

Claiming there are or will be no patent traps in Java is silly, since it is entirely possible for Sun to unknowningly implement functionality patented by somebody else. There will always - no matter the license - be a patent trap, if patents are a possibility.

Reply Score: 1

RE[4]: Ehhh?
by Savior on Thu 8th Mar 2007 16:47 UTC in reply to "RE[3]: Ehhh?"
Savior Member since:
2006-09-02

We all know what he meant by "patent trap". The problem is not accidentally implementing a patented functionality -- that can happen with anyone. The problem is that Mono follows .NET, so MS can use its .NET-related patent portfolio anytime.

It's different with java, as it will use GPLv3.

Edit: and software patents are not be a USA-only problem while there is a constant threat of them being introduced to Europe.

Edited 2007-03-08 16:52

Reply Score: 1

RE[5]: Ehhh?
by dylansmrjones on Thu 8th Mar 2007 18:13 UTC in reply to "RE[4]: Ehhh?"
dylansmrjones Member since:
2005-10-02

And none of the patents are valid in Europe ;)

They get granted alright but they are not valid in Europe. However patents granted in Europe are valid in USA ;)

Reply Score: 1

RE: Ehhh?
by ronaldst on Thu 8th Mar 2007 17:10 UTC in reply to "Ehhh?"
ronaldst Member since:
2005-06-29

The war has never started because MS and Slave Companies are forced to use C#. They will also use D#,E#,F#,G# and H# if MS orders it. But open source developers is the battlefield, and freshmeat/sourceforge give an indication.

There are no such thing as "slave companies." Java had it's chance for it's place in desktop apps and Sun blew that it. All those years of encountering Java applets them made the average user dislike Java. And reinforce the notion that Java is slow as molasse. Don't go blaming another for Sun's grotesque incompetence.

And about MS and what people program in... Visual BASIC caught on like wildfire because it was/is the best out there. It still is unmatched. MS took an unknown product and turned it into a tour de force. Most VB's competitors (CA-Realize, IBM Visual Age for BASIC) gave up. Delphi is MIA. For languages/compilers, no one outdoes MS. They're still the best.

Reply Score: 0

Hmmm
by kaiwai on Thu 8th Mar 2007 01:20 UTC
kaiwai
Member since:
2005-07-06

*shakes head* Sun just doesn't get it - they keep pushing swing knowing full well the suckage factor that goes with using an interpreted GUI - the speed at which Swing applications are at, you might as well use GTK + Perl for all its worth.

GTK is now the GUI kit of choice on *NIX's; phone manufacturer's are now swooning around GTK and Linux for their future phones - so what is the point of Swing when the better choice would simply to move to SWT and be done with it?

Sure, you don't have perfect 'write once, run everywhere' but better to have something that actually has a decent level of integration with the operating system in regards to the GUI than trying to emulate all the operating systems in a half assed manner.

As for the 'example' with the calculator, the difference was pretty obvious - massive gaps between the border and widgets, lacking of inherieting the font settings etc.

As for his comparison between C# and Java, its plain stupid, it would be like me claiming that because there are more VB developers than Java ones, it some how makes VB a superior platform?

If Sun want to start making Java the language of choice for future Linux (or *NIX in general) development, then they need to stop pushing the dogma of 'write once, piss everyone off in the process" and instead realise that when something sucks, drop it, and god forbid, if IBM does actually make a damn good framework like Eclipse, then embrace it!

Heck, why doesn't Sun drop Netbeans, port the good stuff to Eclipse and work out an arrangement with IBM to bring Notes 8.0 to OpenSolaris? Its about being pragmatic which unfortunately Sun doesn't have a very good habit of doing - and when they do make that decision, its normally because on the bones of their ass - recent example of that is their final caving in to reviving Solaris x86 in face of the reality that SPARC royally sucks on anything less than an 8 way machine.

Reply Score: 3

RE: Hmmm
by pantheraleo on Thu 8th Mar 2007 01:51 UTC in reply to "Hmmm"
pantheraleo Member since:
2007-03-07

> They keep pushing swing knowing full well the
> suckage factor that goes with using an interpreted
> GUI - the speed at which Swing applications are at,
> you might as well use GTK + Perl for all its worth.

You haven't used Swing lately have you? And you are dragging up and old argument that has not been true for several years now. Java does something called JIT, which compiles byte code down to native code based on intelligent runtime analysis. Swing is no slower these days that any other toolkit.

> phone manufacturer's are now swooning around GTK
> and Linux for their future phones

They are? Last time I checked, I can count on one hand the number of phones that run Linux. And I can't even think of one that uses GTK.

> Sure, you don't have perfect 'write once,
> run everywhere' but better to have something
> that actually has a decent level of integration
> with the operating system in regards to the GUI
> than trying to emulate all the operating systems
> in a half assed manner.

First of all, GTK is not even close to perfect write once run anywhere. In fact, it is basically a unix only toolkit. The Windows port of GTK is a joke that is for the most part, unmaintained. Serious bugs don't even get looked at for over a year, etc. And when it comes to Mac, GTK is non-existent unless you want to run X.

> As for the 'example' with the calculator,
> the difference was pretty obvious - massive
> gaps between the border and widgets, lacking
> of inherieting the font settings etc

All of which could be fixed with a little bit of tweaking. The reason the font was different is not because Swing didn't inherit the system font, but because the GNOME calculator does not use the system font. The GNOME calculator is using a custom font and custom font style, something Swing is fully capable of doing as well.

> it would be like me claiming that because there
> are more VB developers than Java ones

Except there aren't more VB developers than Java developers. Java is the most popular language in the world. And VB is actually experiencing a sharp decline in popularity--both of these statistics from an Evans Data survey. (http://cld.blog-city.com/evans_survey__visual_basic_and_vbnet_in_st...)

> then they need to stop pushing the dogma of
> 'write once, piss everyone off in the process"
> and instead realise that when something sucks,
> drop it, and god forbid, if IBM does actually
> make a damn good framework like Eclipse, then
> embrace it!

Swing actually does a better job of looking native than SWT does these days. Even an IBM DeveloperWorks article admits that. And besides, SWT is not the ideal answer either. Because when bugs show up in SWT, you have to fix them on every platform that SWT runs on. And no, SWT is not any faster than Swing.

> Heck, why doesn't Sun drop Netbeans

Because in many ways, Netbeans has surpassed Eclipse. And again, even an article on IBM Developerworks admits this.

> Its about being pragmatic which unfortunately
> Sun doesn't have a very good habit of doing

That's been true in the past. But ever since Jonathan Schwartz took the helm at Sun, he has been turning it on it's head. Jonathan Schwartz is a strong believer in open source. OpenSolaris will be relicensed under GPLv3 as well. And they revived Solaris x86 because A: Customers wanted it big time. And B: They recognized that Sparc is dead, just like Alpha is dead, and PowerPC is basically dead now as well (with the exception of embedded systems and gaming consoles).

You might want to give Sun another change now that Jonathan Schwartz is at the helm. Even Richard Stallman did. In fact, I quote directly from Richard Stallman: "Richard Stallman: "I think Sun has, well with this contribution, have contributed more than any other company to the free software community, in the form of software. And it shows leadership - it's an example I hope others will follow."

Here's the link the video where he says this, in case you want to watch it for yourself: http://sun.feedroom.com/?skin=oneclip&fr_story=FEEDROOM166554&rf=bm

Edited 2007-03-08 01:54

Reply Score: 5

RE[2]: Hmmm
by kaiwai on Thu 8th Mar 2007 04:10 UTC in reply to "RE: Hmmm"
kaiwai Member since:
2005-07-06

You haven't used Swing lately have you? And you are dragging up and old argument that has not been true for several years now. Java does something called JIT, which compiles byte code down to native code based on intelligent runtime analysis. Swing is no slower these days that any other toolkit.

Yes, I know about JIT, its nothing new - but Swing is still slow, still lacking snappiness and still overly complex to create applications with.

Try assigning some widgets to a form, double clicking, assigning code and compiling - you can't do that with Java; thats how bloody painful Java is in its current form. Little or none have been to make Java a RAD tool, its still overly complex and slow.

They are? Last time I checked, I can count on one hand the number of phones that run Linux. And I can't even think of one that uses GTK.

Obviously you *DIDN'T* read what I posted - what is it with OSNEWS.COM people not actualy *READING* what people write? I said *FUTURE PHONES!* you know, phones that *MIGHT* be released in the future *SINCE* the development of a Linux industry development group for phones.

First of all, GTK is not even close to perfect write once run anywhere. In fact, it is basically a unix only toolkit. The Windows port of GTK is a joke that is for the most part, unmaintained. Serious bugs don't even get looked at for over a year, etc. And when it comes to Mac, GTK is non-existent unless you want to run X.

Then what is wrong with having GTK-SWT, Win32-SWT and Carbon-SWT - better that than the ugly mess that is swing and the crap performance that comes with it.

As for 'not any faster' - I've used Azeurus and Limewire; use them yourself and come back and claim which one is more 'teh snappy'.

You might want to give Sun another change now that Jonathan Schwartz is at the helm.

I'll give them 2 years; like I said last year, I'll give them to the end of 2008 to turn Solaris around; if it is still the same ugly mess along with Java, then I'll be better off hoping for mono to improve along with FreeBSD.

Like I said previously, when you have software developed by part time coders with better hardware support than Solaris, and development tools developed by enthusiasts which is easier to code with and perform better than Java, one really has to ask what the hell are they doing at Sun.

Reply Score: 4

RE[3]: Hmmm
by binarycrusader on Thu 8th Mar 2007 07:29 UTC in reply to "RE[2]: Hmmm"
binarycrusader Member since:
2005-07-06

I'll give them 2 years; like I said last year, I'll give them to the end of 2008 to turn Solaris around; if it is still the same ugly mess along with Java, then I'll be better off hoping for mono to improve along with FreeBSD.

As usual, you persist in making unprovable claims about Solaris such as "ugly mess." If you were willing to list specific, valid, verifiable, and undeniable issues that can prove that Solaris is an "ugly mess" that are based on fact and not on anecdotal evidence (such as why your wireless or specific laptop doesn't work), I might believe you.

Reply Score: 3

RE[4]: Hmmm
by kaiwai on Thu 8th Mar 2007 09:03 UTC in reply to "RE[3]: Hmmm"
kaiwai Member since:
2005-07-06

As usual, you persist in making unprovable claims about Solaris such as "ugly mess." If you were willing to list specific, valid, verifiable, and undeniable issues that can prove that Solaris is an "ugly mess" that are based on fact and not on anecdotal evidence (such as why your wireless or specific laptop doesn't work), I might believe you.

Latest stable version of Solaris (Solaris 10 11/06) and my complaints so far - numbered so you can answer to each one of them:

1) Intel 3945 a/b/g support - NDIS does not support it as there is a known issue with it; promises are of plenty in regards to when its going to arrive.

The alternative is waiting for the OpenBSD driver to be ported - it has alread been/currently ported to NetBSD and FreeBSD, with a couple of revisions so far to address WPA support and so forth.

Where is Sun on this? This is one of the biggest selling wireless chipsets on the market - and yes, there are IT people out there who do want to run Solaris on their x86 laptop, and you know, these people might also wish to show off the capabilities of Solaris to their clients.

2) Audio card is not supported; OpenSound is a drama of pain and missery; I can't hear sound from audio files as they keep skipping around when playing them, no audio comes from cds being played.

3) Ancient version of GNOME is included; not just "oh, its one release behind", hell, I could put up with that, I don't expect the bleeding edge, but when a user wants to download CODEC support for mp3 play back, one shouldn't need to have to download the whole damn toolchain and muddle through only to find that none of it compiles - which goes onto my forth point.

4) How come I can go ./configure on my Fedora box, and I don't have constant conflicts between the GNU version and one included with Solaris - sorry, there is no way to specify that I want the GNU version rather than the Sun one to be used when compiling.

Paths not being setup correctly right from the beginning, I shouldn't need to setup weird and obscure paths; if I have installed my development tools in the standard location, I expect to be able to drop down to bash and go 'make' or 'cc' or 'c++' and find that everything just works - I can do that on Linux or FreeBSD, why can't I do it on Solaris?

Want me to expand more? Maybe I should put up an elaborate 'whinge and bitch' section on my blog to point out all the failings of Solaris? this is actually an honest question, would you like that, so then you can address those deficiences.

Reply Score: 2

RE[5]: Hmmm
by c816 on Thu 8th Mar 2007 09:40 UTC in reply to "RE[4]: Hmmm"
c816 Member since:
2007-03-01

Latest stable version of Solaris (Solaris 10 11/06) and my complaints so far - numbered so you can answer to each one of them:

I can create a much longer numbered list for Linux. I recently installed it after using Solaris. With the exception of not supporting my sound card, I had fewer issues getting Solaris installed than Linux (I was genuinely surprised). My system isn't anything fancy, just a home assembled set of stock components, so it is a bit amusing that Solaris was easier to install.

If you wan't to run Solaris on your desktop, use Solaris Express (think of it in the same way as the relationship between Fedora and Red Hat Enterprise Linux). The express edition comes with proper NVidia drivers, unlike most linux distros. Perhaps that's why you find Swing slow?

Edited 2007-03-08 09:44

Reply Score: 1

RE[5]: Hmmm
by dsmogor on Fri 9th Mar 2007 16:01 UTC in reply to "RE[4]: Hmmm"
dsmogor Member since:
2005-09-01

Actually I routinely use Java apps on linux and for about 3 years swing has most redraw issues resolved (at least when using default theme).
In numerous cases I have actually noticed it beating gtk when using similar widgets with scrolling text area being the most glaring example (try comparing large text in jedit to gedit).
If only somebody wrote a working QT backend for SWT...
I know this is more of a testament of gtk architectural problems that swing snappyness but still having reasonably snappy toolkit with so rich architecture, fully drawn by jit vm is a monumental achievement.
I can only fear how decision to use gtk to draw its widgets will affect performance. Hopefully this can be turned off by default.

Reply Score: 1

RE[5]: Hmmm
by binarycrusader on Mon 12th Mar 2007 12:11 UTC in reply to "RE[4]: Hmmm"
binarycrusader Member since:
2005-07-06


1) Intel 3945 a/b/g support


Which as I pointed out before, is anecdotal. The support of one piece of hardware cannot in any way prove solaris is an "ugly mess." It means nothing in the grand scheme of things.

2) Audio card is not supported;

Which again means nothing about Solaris as a platform. The SoundBlaster X-Fi isn't supported on Linux either, I fail to see the relavance of this to "ugly mess."

3) Ancient version of GNOME is included;

Which again is irrelevant to "ugly mess" as a platform. Remember that Sun has a business commitment to their customers to binary compatibility, documentation, etc. which all place certain constraints and limitations on versions of software included. Sun has been upgrading and working on integrating the latest versions of GNOME in their internal development versions. However, they are not yet ready to be integrated into Solaris 10.

4) How come I can go ./configure on my Fedora box, and I don't have constant conflicts between the GNU version and one included with Solaris - sorry, there is no way to specify that I want the GNU version rather than the Sun one to be used when compiling.

Here I know you don't know what is actually happening. There are no conflicts between Solaris and GNU versions of utilities since anywhere there is a conflict the GNU versions are prefixed with a 'g' in their name.

And actually, there is a way to specify which version you want. It's called using path properly, or using the correct ./configure options. There is also little reason to use the GNU versions with ./configure since it properly support a true UNIX environment. I have compiled many open source programs on Solaris without using any GNU tools at all.

There are many ways for you to setup a completely GNU based build environment if you so choose.

Paths not being setup correctly right from the beginning

Paths are setup exactly as they are supposed to be setup at the beginning. Therefore they are setup correctly. Paths are supposed to be set by the user based on the work they are performing and the type of environment they want to use. Therefore it is your responsibility to configure them as appropriate for your needs.

Users that want to compile and build their own tools are expected to select the appropriate environment using the path. This meets with UNIX and POSIX standards as well as Solaris backwards compatibility and other requirements.


Want me to expand more?


Yes, since so far everything you've had is a matter of personal preference, something that is not a problem or bug, or something that is merely anecdotal evidence. Nothing you said has in any factual way made me believe that Solaris is an "ugly mess." In fact, you have only proven that you don't understand the UNIX platform. Linux is NOT UNIX, and therefore does not provide a true UNIX development environment; nor is it fully POSIX compliant, unlike Solaris.

Reply Score: 2

RE[3]: Hmmm
by Matzon on Thu 8th Mar 2007 09:19 UTC in reply to "RE[2]: Hmmm"
Matzon Member since:
2005-07-06

"Try assigning some widgets to a form, double clicking, assigning code and compiling - you can't do that with Java; thats how bloody painful Java is in its current form. Little or none have been to make Java a RAD tool, its still overly complex and slow. "

what the hell does this have to do with Java as a language or platform?
However all of this is possible in matisse.

Reply Score: 1

RE[4]: Hmmm
by kaiwai on Thu 8th Mar 2007 10:04 UTC in reply to "RE[3]: Hmmm"
kaiwai Member since:
2005-07-06

what the hell does this have to do with Java as a language or platform?
However all of this is possible in matisse.


Again, you seem to suffer from osnews-a-litus - the affliction of replying to posts with out actually reading the bloody thing.

I said that Java as a language was complex and over engineered - and gave an example of how its gotten to the point that you can't do something as basic as assigning code to widgets.

Reply Score: 3

RE[5]: Hmmm
by c816 on Thu 8th Mar 2007 10:06 UTC in reply to "RE[4]: Hmmm"
c816 Member since:
2007-03-01

I said that Java as a language was complex and over engineered - and gave an example of how its gotten to the point that you can't do something as basic as assigning code to widgets.

Except for the obvious that your claims are bogus. Kids in programming 101 can put together an app in Java. Perhaps you need to get some training ;)

Reply Score: 2

RE[3]: Hmmm
by c816 on Thu 8th Mar 2007 09:32 UTC in reply to "RE[2]: Hmmm"
c816 Member since:
2007-03-01

Yes, I know about JIT, its nothing new - but Swing is still slow, still lacking snappiness and still overly complex to create applications with.

It sounds like kaiwai needs to upgrade his 486!

I have had no problems running swing on any recent hardware. It you are finding it slow then you either have an old machine without much RAM, an old JDK, or very inefficient display drivers.

If you "know" about JIT why do you still keep talking about "interpreted GUI"?

Try assigning some widgets to a form, double clicking, assigning code and compiling - you can't do that with Java; thats how bloody painful Java is in its current form. Little or none have been to make Java a RAD tool, its still overly complex and slow.

We've had that feature in Netbeans since version 5.0 (over a year ago). Perhaps if you weren't so obsessed with Eclipse...

Reply Score: 1

RE[4]: Hmmm
by kaiwai on Thu 8th Mar 2007 10:11 UTC in reply to "RE[3]: Hmmm"
kaiwai Member since:
2005-07-06

And like a large number of people on osnews.com, you never read the post or the follow up posts relating to what I write.

Here is a tip; read, think, think, think, and think again THEN think about what you're to write, write it, read it, then think think think, then post.

JIT still results in the delay between excution and the result - the result is a sluggish gui no matter how the problems are coded around.

As for "Netbeans since version 5.0" I doubt it, I've used 5.0 and its just as bad as previous versions; I can't stand Eclipse but atleast there is something being yielded out of it in the way of a decent collaboration tool vs. the out of date rubbish bundled with Solaris.

Reply Score: 1

RE[5]: Hmmm
by c816 on Thu 8th Mar 2007 10:18 UTC in reply to "RE[4]: Hmmm"
c816 Member since:
2007-03-01

And here is a tip for kaiwai : Please engage brain before typing a reply.

JIT still results in the delay between excution and the result - the result is a sluggish gui no matter how the problems are coded around.

JIT occurs at startup, not everytime you click on a control. .NET, Mono, and Java all use JIT.

I doubt it, I've used 5.0 and its just as bad as previous versions
I find your claims hard to believe. Anyone who can use VB 6 can put together a GUI with netbeans 5.0.

Reply Score: 1

RE: Hmmm
by binarycrusader on Thu 8th Mar 2007 07:20 UTC in reply to "Hmmm"
binarycrusader Member since:
2005-07-06

*shakes head* Sun just doesn't get it - they keep pushing swing knowing full well the suckage factor that goes with using an interpreted GUI - the speed at which Swing applications are at, you might as well use GTK + Perl for all its worth.

Just because Swing doesn't meet your purposes does not mean that it doesn't meet Sun or other people's purposes.

I think Sun "gets it" just fine.

As far as SWT? That has its own fair share of criticisms which I won't bother covering since many other people have already more than adequately stated what its problems are.

Heck, why doesn't Sun drop Netbeans, port the good stuff to Eclipse and work out an arrangement with IBM to bring Notes 8.0 to OpenSolaris?

Maybe because there are a lot of people using NetBeans that really like it, like *their* customers? You do realise that the usage of NetBeans has *grown* significantly the past few years, right?

Why would they drop a product that is very popular, has a growing community, and that their customers want? That makes no sense.

...recent example of that is their final caving in to reviving Solaris x86 in face of the reality that SPARC royally sucks on anything less than an 8 way machine.

"caving in" ? I fail to see how a decision that made *years* ago now can be defined as a "recent example", nor do I see how you qualify it as caving in.

You also seem to be severly outdated in your performance analysis of Solaris and Sparc if you believe that Solaris "SPARC royally sucks on anything less than an 8 way machine."

The right tools for the right job.

I think Sun's significant turn around not only in image, but in hardware and otherwise proves that they're doing better than you claim.

Reply Score: 3

RE[2]: Hmmm
by kaiwai on Thu 8th Mar 2007 09:52 UTC in reply to "RE: Hmmm"
kaiwai Member since:
2005-07-06

You also seem to be severly outdated in your performance analysis of Solaris and Sparc if you believe that Solaris "SPARC royally sucks on anything less than an 8 way machine."

Look at the Specint and specfp benchmarks of SPARC vs. AMD64/Intel Core 2, and compare prices; x86 still give the best bang for the buck, especially when it comes to workstations.

http://shop.sun.com/is-bin/INTERSHOP.enfinity/WFS/Sun_NorthAmerica-...

$2895 for a low end, single core UltraSPARC IIIi workstation that gets its ass handed to it on a platter by a lower priced Opteron machine being sold by Sun? please. Price performance wise, UltraSPARC always come out worse.

Maybe if they shaved $1500 off the price, it would be in the realms of being realistic in regards to price/performance, but the amount demanded is simply unrealistic - wake up Sun, the days of expensive UNIX stations are long gone.

Compare the servers, an Opteron 4 way dual core machine to a similarly configured UltraSPARC machine - the x86 like the workstation will always outperform - the only saving grace for UltraSPARC is the fact can scale, but when you performance sucks that badly, you need all the scaling you can get your hands onto.

Reply Score: 3

RE: Hmmm
by c816 on Thu 8th Mar 2007 09:02 UTC in reply to "Hmmm"
c816 Member since:
2007-03-01

"*shakes head* Sun just doesn't get it - they keep pushing swing knowing full well the suckage factor that goes with using an interpreted GUI - the speed at which Swing applications are at, you might as well use GTK + Perl for all its worth. "

Interpreted GUI??? Java has used a JIT compiler since the late 90's. It beats Microsoft's CLR 2 (used by .NET 3.0). Mono has the worst JIT compiler around.
Look at the benchmarks. Java smokes Mono into the ground:

http://www.shudo.net/jit/perf/

For the record Swing painting has had hardware acceleration since JDK 1.4 released in early 2002. Swing on JDK 6 for Linux has a very efficient OpenGL drawing pipeline.

Please refrain from making comments about something you clearly know very little about.

Edited 2007-03-08 09:05

Reply Score: 3

RE[2]: Hmmm
by dsmogor on Fri 9th Mar 2007 16:03 UTC in reply to "RE: Hmmm"
dsmogor Member since:
2005-09-01

These benchmars are at least 1.5 year old. As all VMs are doing a constant optimization overhauls, they are meaningless today.

Reply Score: 1

RE: Hmmm
by c816 on Thu 8th Mar 2007 09:16 UTC in reply to "Hmmm"
c816 Member since:
2007-03-01

Heck, why doesn't Sun drop Netbeans, port the good stuff to Eclipse

Are you high??

*Groan*. Eclipse is a pain, it doesn't provide half the features of Netbeans, unless you go shopping for endless commercial, proprietary plugins.

Eclipse is surviving on its reputation from 2001, when Netbeans used to suck. Since the release of Eclipse, Netbeans has improved dramatically, it has now surpassed Eclipse in terms of features and usability. The dramatic rise of Netbeans (triple digit annual growth in user numbers) should give you a hint about its popularity! I don't want to use Eclipse, I don't like Eclipse, and in 2007 it's primitive compared to Netbeans.

Reply Score: 1

Not a comendable analysis
by lazywally on Thu 8th Mar 2007 01:30 UTC
lazywally
Member since:
2005-07-06

With the open sourcing of Java under the GPL, Sun has removed that final barrier to entry, since all of the performance, or "it doesn't look native" arguments are no longer valid.

How does a switch to GPL invalidate performance issues?

And this "Mono lagging behind MS .NET" logic doesnt make sense to me either. Just write for Mono an be assured that your code runs on Mono and .NET.

Slightly biased . . .

Reply Score: 4

RE: Not a comendable analysis
by ma_d on Thu 8th Mar 2007 01:34 UTC in reply to "Not a comendable analysis"
ma_d Member since:
2005-06-29

He didn't say that. He said that it was solved and that licensing was the last barrier to entry, they're independent of each other.

Mono is going to lag behind MS .Net. I'll be surprised if they ever get to the point where they've implemented 99% of what MS has and the 1% they're missing isn't something crucial to a huge number of people.
Assuming Microsoft stays with .Net at the pace they have for the last 6 years.

Reply Score: 2

RE[2]: Not a comendable analysis
by lazywally on Thu 8th Mar 2007 01:40 UTC in reply to "RE: Not a comendable analysis"
lazywally Member since:
2005-07-06

He didn't say that. He said that it was solved and that licensing was the last barrier to entry, they're independent of each other.

Thanks for clearing that.

Though I wonder if the performance issues are really invalid. Imagine a window manager, session manager, and all other components of the desktop written in Java. :-)

Mono is going to lag behind MS .Net. I'll be surprised if they ever get to the point where they've implemented 99% of what MS has and the 1% they're missing isn't something crucial to a huge number of people.
Assuming Microsoft stays with .Net at the pace they have for the last 6 years.


Mono is always going to lag behind .NET but thats not going to be a problem. Lets look at the situation now. Write code for .NET 1.1 and theres no need to care that MS .NET is at 3.0 and Mono is at 2.0.

Reply Score: 2

pantheraleo Member since:
2007-03-07

> Though I wonder if the performance issues are
> really invalid. Imagine a window manager,

There actually are a few window managers written in Java. And really, there are no performance issues with them at all. Again, keep in mind Java does intelligent runtime analysis and looks for areas of code that are too slow, and then compiles those down to native code.

Remember that a typical computer program spends 95% of its time running 5% of its code. So the deal is optimize that 5%, and don't worry much about the rest of it.

Reply Score: 2

RE[3]: Not a comendable analysis
by ma_d on Thu 8th Mar 2007 02:08 UTC in reply to "RE[2]: Not a comendable analysis"
ma_d Member since:
2005-06-29

Like project looking glass?

Reply Score: 2

pantheraleo Member since:
2007-03-07

Here are a couple more traditional window managers written in Java than project looking glass. They aren't full blown desktop environments, and most of them are in early stages. But they are examples:

JD4X: http://jdx.sourceforge.net/
Jesktop: http://www.jesktop.org/

Reply Score: 1

RE[2]: Not a comendable analysis
by miguel on Thu 8th Mar 2007 02:01 UTC in reply to "RE: Not a comendable analysis"
miguel Member since:
2005-07-27

Hello,

As it turns out, you do not need to implement 100% of Microsoft.NET to port a lot of applications. We found out with Moma (google our web site) we will be able in the next three months to bring 700 applications to Linux that have been reported to us through Moma (this is without making any changes to the apps).

From the remaining half of the applications (based on the sample of 1,700 or so results that have been submitted), its roughly 1/3rd split over less than 10 changes, between 10 and 40 changes, and more than 20 changes (by changes I mean, P/Invokes that will have to be redone).

So one sixth of the .NET applications today wont ever be ported, another sixth will require a strong commitment to port, another sixth trivial changes and the other half would port with trivial changes to Mono.

The numbers are estimates from memory from the results that I collected for my FOSDEM presentation.

Miguel.

Reply Score: 4

pantheraleo Member since:
2007-03-07

> So one sixth of the .NET applications today wont
> ever be ported, another sixth will require a
> strong commitment to port, another sixth
> trivial changes and the other half would port
> with trivial changes to Mono.

The only problem with this, is a lot of those applications that will require "trivial" changes, will be closed source. Expect a lot of the software written for .NET to be closed source. So you won't be able to port it even it would only require trivial changes. Don't count on MS Office.NET running on mono any time soon.

Reply Score: 2

RE[4]: Not a comendable analysis
by ma_d on Thu 8th Mar 2007 02:13 UTC in reply to "RE[3]: Not a comendable analysis"
ma_d Member since:
2005-06-29

I wouldn't count on MS Office.Net anytime soon.

Reply Score: 2

RE[3]: Not a comendable analysis
by ma_d on Thu 8th Mar 2007 02:11 UTC in reply to "RE[2]: Not a comendable analysis"
ma_d Member since:
2005-06-29

Yea that's great and I'm not arguing against it. I'm just pointing out that Microsoft has a head start on features anytime they want to have one and they've got a lot more resources than Novell.
And right now Mono is finishing up 2.0 compatibility while Microsoft is rolling out 3.0, correct?

It does seem that Mono will forever be a step behind. Which is fine.

Reply Score: 3

Just my opinion but...
by MikeekiM on Thu 8th Mar 2007 01:52 UTC
MikeekiM
Member since:
2005-11-16

Mono is a copy of a copy.

Java is where the action is in Computer Science.

Microsoft is dead last in implementation.
Examples:
- CheckedExceptions? -- Dot Net still waiting for that Spec sharp.
- Unix File permissions -- Windows has none, the Windows trolls TALK about ACL's but NEVER Impliment them, Even with the ORACLE install the Oracle Windows team let EVERYBODY Walk All Over the Oracle Data area.
In OS X, Linux and Solaris you create an Oracle User and Group and NOBODY can touch the Oracle data areas.

- OS X ( su ) temp root user privilege -- Windows? We can Turn It OFF, and Windows Geeks are RECOMMENDING turning it off.

- Visual Studio 2005, STILL can't mix C# and VB in the same project!!!

Here's the real "Innovation" in C#
Java throws an InvalidIOException
C# throws an IOException.
C# was designed for and by THE GUYS WHO WON'T LEARN TO TYPE.
I think it's a hiring requirement, if you know how to type you can't get a job in the Microsoft Language Department.

Java has getter and setter methods, C# has properties, again, quicker to type, but getter and setter methods SORT TOGETHER yielding day to day Better Productivity! Java was designed by professionals ( who can type ).

But, the real fun is running Solaris 64bit and Java on a Mac with VMware Fusion. Actually WinXP-64bit runs nicely as well.

Reply Score: 2

RE: Just my opinion but...
by ma_d on Thu 8th Mar 2007 02:17 UTC in reply to "Just my opinion but..."
ma_d Member since:
2005-06-29

You can sort based on more than alphabetical order...

I do believe one of the features on the list for the next version of Java is syntax for quick access to getters and setters a la properties ;) .

Java also has an IOException: http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html

Reply Score: 3

The problem with that Evans survey
by miguel on Thu 8th Mar 2007 01:54 UTC
miguel
Member since:
2005-07-27

The results from that particular Evans survey seem bogus, the same results placed "Avalon" at two digit usage in the Spring of 2005 (???).

The report has other anomalies, for instance Windows.Forms does not appear on the table of GUI toolkits used (where Swing comes ahead) but GTK+ shows up in the list. Probably the question was "GUI toolkit s for cross platform development".

In the actual cumulative table the results for Swing are not very good (page 195), and the results are pretty consistent.

Miguel.

Reply Score: 2

So Java is ahead....
by atpires on Thu 8th Mar 2007 03:11 UTC
atpires
Member since:
2007-03-08

Yeah Mono is crap, look all this crap software...

http://beagle-project.org/Main_Page

http://banshee-project.org/index.php/Main_Page

http://f-spot.org/Main_Page

http://www.gnome.org/projects/tomboy/

Java is cool! We have.. Ahn.. Limewire? Azureus? Eclipse? Netbeans?

Reply Score: 2

RE: So Java is ahead....
by pantheraleo on Thu 8th Mar 2007 03:16 UTC in reply to "So Java is ahead...."
pantheraleo Member since:
2007-03-07

> Java is cool! We have.. Ahn.. Limewire?
> Azureus? Eclipse? Netbeans?

I would add the desktop version (not the online version) of ThinkFree Office to that list, which in my mind, is a shining example of a truly excellent desktop Java application. It's responsive, fast, and looks great.

http://product.thinkfree.com/desktop/ if you want to check it out. It's not open source or free. But they do have a free evaluation version that is fully functional.

Anyway, I probably won't be following this thread anymore. I have a lot of other stuff to do... Like writing desktop software... In Java ;)

Edited 2007-03-08 03:19

Reply Score: 3

RE: So Java is ahead....
by c816 on Thu 8th Mar 2007 09:25 UTC in reply to "So Java is ahead...."
c816 Member since:
2007-03-01

Java apps we have:

-JEdit
-JDiskReport
-Netbeans
-Eclipse
-Limewire
-Azureus
-Maple

What does mono have... Ah... beagle? banshee? fspot? tomboy? each of these apps could be written by a competent Java programmer in a weekend.

Reply Score: 1

RE[2]: So Java is ahead....
by atpires on Thu 8th Mar 2007 12:22 UTC in reply to "RE: So Java is ahead...."
atpires Member since:
2007-03-08

So... Why they haven't?

Java is too much talk, to little action.

How many years it's been there? Where are the "killer" apps? Mono is new, and there it is, a lot of cool and useful apps and for LINUX. Isn't that kind of software that linux needs to convince the average Joe to switch ( or at least try it) ?

Reply Score: 2

RE[3]: So Java is ahead....
by c816 on Thu 8th Mar 2007 13:15 UTC in reply to "RE[2]: So Java is ahead...."
c816 Member since:
2007-03-01

So... Why they haven't?

JAlbum: Java photo album app(looks a lot better than FSpot)
http://jalbum.net/skins/
Has been downloaded over 2 million times!

As for the others, I've never used Tomboy or beagle and I've never heard of banshee.

Reply Score: 1

RE[2]: So Java is ahead....
by wrah on Thu 8th Mar 2007 14:08 UTC in reply to "RE: So Java is ahead...."
wrah Member since:
2006-09-29

You missed a bunch =)

Here are a few that come to mind off the top of my head:

Visual Thesaurus
http://www.visualthesaurus.com/

Very cool application. Looks good too.

DbVisualizer
http://www.dbvis.com/

My favorite SQL editor hands down.

Oxygen XML Editor
http://www.oxygenxml.com/

IMHO the best XML editor out there.

Reply Score: 1

Java on Desktop? NO!!!
by ThunderBug on Thu 8th Mar 2007 04:02 UTC
ThunderBug
Member since:
2006-03-05

Lots of reasons, and not to start a fire, but... Java on slower platforms is a mistake. Not everybody has a game machine. ...and Java is not the language the hype suggests. It gets pluses for GC and string overrun protection, but a lot of minuses in the arcane department. It is too heavyweight. The world is ready to move past C/C++/Java for desktop app development. Sorry if I offend, but that's how I see it. (No, I'm not MS. I'm a Python bigot. ;-)

Reply Score: 3

RE: Java on Desktop? NO!!!
by Lobotomik on Thu 8th Mar 2007 07:43 UTC in reply to "Java on Desktop? NO!!!"
Lobotomik Member since:
2006-01-03

I totally agree! The biggest changes in computing and in Linux usage are smartphones and, especially, the OLPC 100 computer. MILLIONS of users are going to be using hardware which is very low on resources, running Linux and GTK+.

OLPC users will use the platform to get reading and writing skills, as well as to learn programming. Java, and especially Swing, suck badly on this platform!

As for smartphones, the numbers might be higher, but the ratio of programmers will be a lot lower. In any case, a horrendous platform too for Java/Swing (and don't mention Java ME, because it is a joke that is useless for anything but the simplest games).

Reply Score: 1

RE[2]: Java on Desktop? NO!!!
by sard on Thu 8th Mar 2007 12:23 UTC in reply to "RE: Java on Desktop? NO!!!"
sard Member since:
2005-11-16

Opera Mini.

Reply Score: 1

They're the same!
by draethus on Thu 8th Mar 2007 08:09 UTC
draethus
Member since:
2006-08-02

People seem to believe Java and C# are worlds apart, they're NOT. Look at IKVM and Jacil, they can recompile Java bytecode into .NET CIL, and vice versa, you don't even need the source code.

There probably won't be a clear winner, and we may even see them working together in the future.

Reply Score: 1

i find it ridiculous
by hohlraum on Thu 8th Mar 2007 13:46 UTC
hohlraum
Member since:
2005-12-13

that the same people who wouldn't support KDE because of QT are perfectly willing to ignore the patent issues with .NET. I'm not a KDE troll either, I've been using gnome 40hrs a week since the first release.

Reply Score: 4

Java
by Andre4s on Thu 8th Mar 2007 15:47 UTC
Andre4s
Member since:
2006-02-10

Java might not be a great desktop language but it has lot's of other areas where it really shines. At the company I work we use Java a lot on main frame computers, AS400 computers, web stuff.

and no .. I'm not a Java person. SQL Server developer.

Reply Score: 1

netbeans
by MaritimeSource on Thu 8th Mar 2007 17:21 UTC
MaritimeSource
Member since:
2005-11-10

Wow, being a hard core eclipse developer for so long, I finally decided to try netbeans, to see just how easy it is to build a swing app.

I am very impressed! Netbeans is very zippy (better the Eclipse), and there Design view puts me in mind of visual basic, in that it's really simple to put a form together, and get it lined up nicely.

For my next intRAnet application, I'll definitely be using NetBeans with Swing!

Reply Score: 1

Desktop Application
by chaosvoyager on Thu 8th Mar 2007 17:46 UTC
chaosvoyager
Member since:
2005-07-06

Even now, the tools and languages we have available for creating desktop applications are extremely poor. Adobe and Microsoft are on the right track with Flex and WPF respectively, but where are the equivalents in open source? I've been waiting for an open and scriptable SVG browser for years now, and Firefox still hasn't delivered.

While these tools are great for telling a computer what to do when all the variables are known, they still for the most part fail to address HOW a user interacts with a computer. For Linux to win on the desktop in any way at all it needs to be more like the Wii, and less like the Playstation 3.

And to take the desktop now, Linux also needs to be able to handle interaction beyond the mouse, such as ink, touch, and voice, which are becoming increasingly important and patent encumbered. Yet without a unified API in some form (say part of the Java standard), Linux will not be able to compete with commercial solutions (or at least not as an open source product).

Reply Score: 1

I want to use Java
by djst on Thu 8th Mar 2007 18:14 UTC
djst
Member since:
2005-08-07

I want to use Java. To be honest, I regret that I chose C# as the language for our internal business application one year ago. However, I made the decision based on the following then valid points:

* Visual Studio. It may have bugs (I've found more of them lately), but it's absolutely lovely to work in. Especially UI development is extremely straightforward and easy.

* Swing. Although NetBeans have made it much easier to create UI quickly, there were many quirks the last time I evaluated it. For example, the AbsoluteLayout that I wanted to use in order to overlap some controls was making the application crash occasionally.

* Previous experiences with Visual Basic. Having developed software in VB6 for several years, the transition to C# was not hard.

* Uncertainty. I simply didn't have time to make the necessary research to verify that OPC communication, database communication (including existing Access 2003 .mdb-files), and XML serialization were going to be as simple and straightforward as it is in .NET.

The last point still holds true. I simply know too little about the available classes in Java to estimate whether or not using Java would mean more implementation work. But one thing is true: I really appreciate all that Sun is doing right now and I will take a closer look at Java again.

Reply Score: 3

Just my opinion but...
by thompson4822 on Thu 8th Mar 2007 18:24 UTC
thompson4822
Member since:
2006-07-16

>>
Java is where the action is in Computer Science.
<<

Great claim! Now, let's see how you back that up...

>>
Microsoft is dead last in implementation.
Examples:
- CheckedExceptions? -- Dot Net still waiting for that Spec sharp.
<<

Checked exceptions are, in my experience, of questionable value. Not only do they result in more typing overhead, but programmers are more likely to want to distill them down to something common denominator, like Exception. All too often I see that Java programmers, wanting to avoid a throws clause, will try and seek ways to get around it altogether, defeating its supposed purpose.

>>
- Unix File permissions -- Windows has none, the Windows trolls TALK about ACL's but NEVER Impliment them, Even with the ORACLE install the Oracle Windows team let EVERYBODY Walk All Over the Oracle Data area.
In OS X, Linux and Solaris you create an Oracle User and Group and NOBODY can touch the Oracle data areas.

- OS X ( su ) temp root user privilege -- Windows? We can Turn It OFF, and Windows Geeks are RECOMMENDING turning it off.
<<

We seem to have jumped the rails. What does the file system have to do with either Mono or Java? You lost me here. If you are using Mono under any of these systems, it is not like it is going to allow you to magically work around the file system's conventions and priviledges.

>>
- Visual Studio 2005, STILL can't mix C# and VB in the same project!!!
<<

Haven't tried it. I know that with Mono though, I can certainly mix code from all sorts of different languages. Want your C# class to inherit from a Java class? No worries. Want Nemerle and Boo and IronPython objects all working in concert? To the best of my knowledge, there is no problem, provided you have the assemblies for these languages. I do not use Windows so I cannot speak for VS5.

>>
Here's the real "Innovation" in C#
Java throws an InvalidIOException
C# throws an IOException.
C# was designed for and by THE GUYS WHO WON'T LEARN TO TYPE.
<<

So you feel that InvalidIOException conveys more inherent meaning than IOException? Well chalk one up for you. Personally, I think we'd all do a bit better if we could have a ReallyUnfortunateInputOutputPerturbanceException, but that's just me being snarky.

>>
I think it's a hiring requirement, if you know how to type you can't get a job in the Microsoft Language Department.
<<

No, that's a general statement about programmers. Most people who program are under tight deadlines and take as many shortcuts as humanly possible. Why spell something out when you could abrv ur msg dwn?

I in no way support this practice, it is something I abhor, just like the use (abuse) of hungarian notation. Whoever the Hungarian was that came up with that ought to be taken to the woodshed.

In working with both Java and .Net APIs, I have never once said to myself 'gee, those Microsoft/Mono guys were obviously desperate for a shortcut with that one'.

That said, my overall feeling with Java and especially the J2EE stack is that there is a philosophy of 'why do in 5 classes what you could do in 30'. Whereas the .Net APIs seem compelling because they are so straight forward, Java seems to love the baroque. I can handle this in my classical music selection, not so much so when I have to program a solution to something.

>>
Java has getter and setter methods, C# has properties, again, quicker to type, but getter and setter methods SORT TOGETHER yielding day to day Better Productivity!
<<

Better Productivity?

Is this some sort of hideous joke?

Over the years I have had to live with this Better Productivity of which you speak when writing Java. For some reason, it has turned into one of the aspects of the language that I hate the most. But it would be unfair to proclaim it either great (your view) or as sucking chunks from a sewage pipe (my view) without comparing and contrasting code:

setSomeValue(getSomeObject().someMethod(getParameter()))

vs

someValue = someObject.someMethod(parameter)

The key difference is not merely one of saving some typing. If I have to confront both of these expressions, it is much harder to parse what the first is trying to do than the second. Since nothing is gained by the first over the second *except* more typing (and therefore greater chance of syntax error) how you figure that getter/setter style accessors are more productive is beyond me.

As far as 'sorting together', what are you going on about? Accessors (getter and setter) are two sides of a single property in a language like C#. In Java, they are two distinct functions. Please explain yourself.

>>
Java was designed by professionals ( who can type ).
<<

As illustrated in the comparison above, there is nothing inherently professional about adding all sorts of typing overhead. It just obscures what you are trying to say. The impact on development, maintenance, refactoring, etc. would lead me to believe that the approaches you are so eager to champion are the antithesis of professional language design.

>>
But, the real fun is running Solaris 64bit and Java on a Mac with VMware Fusion. Actually WinXP-64bit
<<

Stunning conclusion or worthless factoid? I'm afraid I can't tell.

Here are some things for you to ponder when it comes to Java -vs- Mono/.Net:
- Opening Java will prove a wonderful thing for Mono. The IKVM project, which allows Java byte code to be run by Mono has always been hindered by Java not being fully open. Now that this barrier is gone, I can have the best of *both* worlds while working in any (or many) of the broad range of languages supported by Mono/.Net. This is a win-win situation all around.
- Java as a language is playing catch up with .Net. This is no idle boast. Before .Net came onto the scene Java was slow to add anything. Now they are in a reactionary state trying to add the language extensions that are already making .Net users much more productive. That should tell you a thing or two about the alleged 'design professionals' behind the Java language.
- XML support and web services are so much easier in Mono/.Net than in Java that it is not even funny.
- Assemblies have no real analog in Java. Jar files are nice, but where is the versioning? Developers have to resort to things like osgi in order to be able to develop reasonable plug-in systems for instance.

There are many other features that you should look into about Mono/.Net before proclaiming how Java is so much better. The fact of the matter is that I can be much more productive today in Mono than I was ever able to using Java.

Reply Score: 4

RE: Desktop Application
by thompson4822 on Thu 8th Mar 2007 18:42 UTC
thompson4822
Member since:
2006-07-16

>>
For Linux to win on the desktop in any way at all it needs to be more like the Wii, and less like the Playstation 3.
<<

So if I read your analogy right, Linux on the desktop doesn't need to be at all cutting edge, it just needs to be cute and offer nunchucks?

Maybe you should think about giving Zelda a break for a while.

Reply Score: 2

RE[2]: Desktop Application
by MaritimeSource on Thu 8th Mar 2007 18:55 UTC in reply to "RE: Desktop Application"
MaritimeSource Member since:
2005-11-10

I'm pretty sure what he meant by the Wii analogy is that the Wii has been successful because of its simplicity and intuitiveness. It managed to take gaming to a place where no other gaming console has gone before:

1. Most Women
2. Seniors
3. Basically all non-gamers

After watching my Mother in Law and my 70 yr old father play Bowling (when neither has ever played a game console before), I have witnessed this first hand.

So Linux has to be dumbed down for mass consumer acceptance.

Reply Score: 2

Java and Linux - like milk and cookies
by JeffS on Thu 8th Mar 2007 18:58 UTC
JeffS
Member since:
2005-07-12

I've always thought that Java and Linux should go together like cookies and milk. The only barrier, up until recently, was Java licensing, and OSS devs being reluctant to accept the old Java licensing. Now that Java is going GPL, there are no problems.

And I think that both Java/Swing (with Netbeans, Matisse and NetBeans platform) and Eclipse/SWT/Eclipse RCP present truly awesome alternatives for desktop development. Then there is also the forthcoming QT Jambi, which looks very very promising (QT is an awesome toolkit, and combining it with Java should be great). And, of course, Java-Gnome is being re-written from scratch, hopefully to greatly improve Java/GTK bindings.

And it seems that both Swing and SWT are gaining traction very rapidly, particularly in the corporate apps, but also in commercial apps and open source apps.

Developers, and ISVs, and corporations, are wanting to move more and more to cross platform solutions, to avoid vendor lock-in, and to be able to leverage more of their IT investments together.

And as both Swing (with Matisse and NetBeans platform) and SWT (and Eclipse RCP) continue to improve, their offerings just keep becoming more and more attractive.

As for NetBeans vs Eclipse, I think they're both great. However, for ease of development and overall bundled features, I think NetBeans has leap-frogged ahead of Eclipse.

As for Mono - it's very nice. I like the GTK# bindings, and it's being used for some good Gnome apps. Mono is also serving a purpose of .Net to J2EE migration, in the form of Grasshopper from Mainsoft. It's also serving a purpose of some MS only shops taking a serious look at Linux because they can now port their apps.

In short, I think the MS/.Net/C#/Win32 stranglehold on desktop development is gradually dying, being replaced by great Java alternatives. And I also think Linux desktop devs will increasingly use Java, due it's constant improvements, and GPL licensing.

Reply Score: 2

Who said the war was over?
by redbarchetta on Thu 8th Mar 2007 21:13 UTC
redbarchetta
Member since:
2005-11-14

Almost every application we use at work is written in Java, either Swing or SWT. And these are third party applications not just things we write here... in fact I don't think we use a single application written in .NET... and this is a huge government contract with multiple venders... so what is this about Java having lost the battle for the Windows desktop???

Reply Score: 1

RE: Who said the war was over?
by kaiwai on Thu 8th Mar 2007 21:42 UTC in reply to "Who said the war was over?"
kaiwai Member since:
2005-07-06

I think the assumptions is based on the fact that .NET will be available on all Windows platforms, and .NET framework will eventually be the framework of choice for Windows applications.

The assumption is rather optimistic given how long it took for the original win16 to win32 migration - add to that, what are the benefits; if they want multi-platform, there is Java - so how can Microsoft justify re-writes of applications (or atleast partial) given the next to no tangiable improvement.

Reply Score: 2

RE[2]: Who said the war was over?
by Lambda on Fri 9th Mar 2007 02:19 UTC in reply to "RE: Who said the war was over?"
Lambda Member since:
2006-07-28

I think the assumptions is based on the fact that .NET will be available on all Windows platforms, and .NET framework will eventually be the framework of choice for Windows applications.

Yeah, that's why .NET is/will be the platform for the vast majority of windows programming.

The assumption is rather optimistic given how long it took for the original win16 to win32 migration

It wasn't that long. Everybody wanted to get away from win16 as soon as possible.

add to that, what are the benefits; if they want multi-platform, there is Java

Most windows developers don't care about multiplatform.

so how can Microsoft justify re-writes of applications (or atleast partial) given the next to no tangiable improvement

They don't re-write unless there is a good enough benefit. Visual Studio is a perfect example. Gradually, parts of it are rewritten in managed code.

Reply Score: 2

Could've been a contender, but too late now
by Lambda on Thu 8th Mar 2007 21:29 UTC
Lambda
Member since:
2006-07-28

Sun has always had two big problems with regards to their promotion of Java. One is that they never seemed to grasp that to some people the JVM and libraries are more important than Java (the language). The second thing is that they've always continued to pimp Swing as the ultimate answer to the GUI.

Sun employees contribute to Gnome, but have they ever even sponsored anyone to work on Java-Gnome bindings? Not that I recall, but correct me if I'm wrong. But Sun never seemed to grok that nobody wants Swing next to the native GUI. I suspect some at Sun have realized it, but political forces within the company have always supressed it in order to pimp Swing. Hell, for years Sun didn't even care about the desktop. They found their niche on the server, and was happy with that.

Sun also never realized that people (especially in the open source desktop world) are interested in other languages on top of the JVM. It's always been about Java (the language), instead of Java (the platform). .NET/Mono has always been better in that regard.

So years ago Sun could have open sourced Java and Mono would have had no traction. Years ago, Sun could have realized that people don't want Swing on their desktops. Years ago Sun could have sponsored alternative languages for the JVM.

It's too late at this point. Open sourcing Java isn't enough to gain traction at this point.

Reply Score: 2

Does Java exist on the desktop?
by sharyanto on Sat 10th Mar 2007 01:10 UTC
sharyanto
Member since:
2005-07-14

As far as I'm concerned, Java does not exist on the desktop now. Of the hundreds of applications I've used over the years on the "Linux desktop", there has only been 1 Java app: dimsum (a chinese language tool). Oh and there was ArgoUML which I've played with a bit in the past. And my impression of ALL java programs (desktop and otherwise) are not good, they always use up at least 150-300MB of RAM and have long startup times even for the simplest apps. Even Perl/Python/Ruby apps are much better in those two aspects.

Reply Score: 1

Kokopelli Member since:
2005-07-06

It is a debate as to whether the memory requirements and cpu utilization is worth it. I can understand these objections to a degree, though I feel that Java is viable on the desktop. But I do object to your characterization of Java's memory usage. Java memory usage is higher than a C application, but not THAT high.

Let's take some examples of fairly heavy apps:

1) Eclipse with the following plugins WTP, TPTP, MYLAR, LDAP, Quantum DB, Subversive SVN, SpringIDE, CDT, and AspectJ. I do not know the exact size of the projects but I have the entirety of JXTA in my current workspace and I assure you that is a significant amount of code. Memory usage: 126MB. (With a lot of editors and extended use it sometimes grows to about 200-250 MB, but 126 MB is my usage right now as I am winding down my day.)

2) JBoss 4.05 running 4 moderate sized applications: 148MB

3) Netbeans: only the SVN plugin and 3 smallish projects (~15K lines of code): 178 MB

And a lighter app:

4) jxplorer: A fairly simple LDAP GUI: 33 MB


With the exception of jxplorer none of these apps are what could be termed "light weight" but only one exceeded what you termed the least amount of RAM that a Java app uses. That is blind dismissal of the platform for reasons that just plain are not valid.

The machines I use are fairly powerful (1.6 GHz CoreDuo Laptop, a 1.4 GHz Pentium D, and an E6400 Core2Duo desktop) but I do not have much problems with startup time. The only application that I note taking a long time to load is Amarok. (likely due to my use of XFCE4 instead of KDE.)

I grant that I do not use Java too much on the "Desktop" except for Eclipse. This is simply because the Java applications have not been the ones that filled my needs. On a low memory machine (under 256 MB) I would probably hesitate to use a java GUI application, but not a cli one.

Reply Score: 1

ma_d Member since:
2005-06-29

On a low memory machine (under 256 MB) I would probably hesitate to use a java GUI application, but not a cli one.
I'd be curious if that's limited to Swing or if it includes SWT as well? It appears to me that SWT applications eat about 20MB minimally (rought estimate, probably varies quite a bit on different platforms) which is actually fairly competitive with C# application sizes.

Reply Score: 2

Kokopelli Member since:
2005-07-06

I would tend to limit use of a java based GUI in 256 MB of RAM regardless of whether it used SWT, Swing, or AWT. While SWT might be a little better on memory consumption I do not find the difference between the three that significant. I would put c# (except CF) in the same boat.

I like Java and use it quite a bit, but memory constrained environments are not the forte of desktop Java.

Reply Score: 1

Coral Snake
Member since:
2005-07-07

My guess is that this open sourcing of Java is a part of a Troll Tech/QT style double licensing program with the GPL for F/OSS Java development and a separate payment based license for closed source Java development.

GTK with its LESSER or LIBRARY GPL licensing allows for free closed source development under certain conditions
and would therefore be incompatible with such a licensing program. I think this is why Sun is not considering GTK for the Java/Linux GUI platform but is sticking with Swing which is theres and can be put under the double licensing program with the rest of Java.

Reply Score: 1