News for hackers. Stuff that matters.
Re:This is what happens when you let Java people write apps ... by fleitz on Friday April 09, 2010 @04:07AM (#1252183)
Java is really great for server apps, but I've yet to see a desktop app that is reasonably performant. Ok, Eclipse is not horrible, but it takes about 2 GB of RAM. I don't know what it is about the SDK or language, or people who write software for it, but it seems impossible to produce a reasonably performant java desktop app.
Re:This is what happens when you let Java people write apps ... by bad_user on Friday April 09, 2010 @04:19AM (#1252203)
It hasn't been my experience, especially since the JVM's parameters need to be tweaked for it to accept that much memory ... the heap size is limited by default because the JVM doesn't release free memory to the operating system.

In practice the JVM does quite well on memory usage, its only flaw being that it doesn't release memory back. If your Eclipse instance ends up using 2 GB that's because it does lots of stuff and needs 2 GB of memory.

Either way, Eclipse is comparable in memory usage with Visual Studio, which has most of its components written in C++.

The only problem with using Java for desktop apps is with native integration with the OS ... Java GUI toolkits suck badly, except one which isn't really popular ... Qt Jambi.

But in the case of Android, this discussion is not really relevant ... they use their own VM that has different optimization goals (so any comparison to the JVM is apples vs oranges), and every component you use is native to Android.

Re:This is what happens when you let Java people write apps ... by brazzy on Friday April 09, 2010 @09:01AM (#1252554)
the JVM doesn't release free memory to the operating system.

Not true. The Sun/Oracle JVM at least most definitely releases free memory. It's just rather reluctant to do so - but that, too, can be tweaked via the -XX:MinHeapFreeRatio and -XX:MaxHeapFreeRatio parameters

Re:This is what happens when you let Java people write apps ... by axod on Friday April 09, 2010 @04:19AM (#1252202)
We're talking apples vs oranges here.

I'm with you - Java doesn't excel particularly on conventional PC desktop apps. But that's a world away from mobile apps.

The vast majority of run-of-the-mill phones run Java J2ME apps very well.

For example:

http://www.jamster.com/fw/goto/games

The top games are pretty high quality. But the rant against Java fails to mention the billions of J2ME games downloaded... convenient.

Re:This is what happens when you let Java people write apps ... by matrix on Friday April 09, 2010 @08:26AM (#1252468)
It's quite possible to create responsive Java desktop apps. It's just that it takes an experienced Swing developer who has learned all the hard lessons about building that type of app.

That said, yes, many Java developers write bad code, but so do developers who write in other languages. Java just gets a higher profile because unfortunately the Java community has a tradition of writing libraries and APIs that sacrifice usability for flexibility (that's the kindest way I can put it, anyway).

Slightly off-topic: Am I the only one who feels that Eclipse is the IDE equivalent of a hair shirt? I find its UI sluggish, its insistence on imposing its ideas about project management on you irritating, and to be generally overcomplicated. To me, NetBeans, former versions of IntelliJ, and VS are much nicer products (mind you, half the time I still just use an text editor though).

Re:This is what happens when you let Java people write apps ... by brazzy on Friday April 09, 2010 @09:03AM (#1252556)
Regarding IDEs, after using eclipse for years, I recently tried Netbeans and found its UI sluggish, its ideas about project management on you irritating, and its configurability sorely lacking...
Re:This is what happens when you let Java people write apps ... by joe24pack on Friday April 09, 2010 @09:49AM (#1252665)
In my experience when working with Java the old Borland JBuilder worked well and was reasonably responsive, Eclipse was a pig no matter how I tweaked it, Netbeans kept me happy.
Re:This is what happens when you let Java people write apps ... by cmars232 on Saturday April 10, 2010 @03:34PM (#1255555)
IDEs are a special case, and not necessarily representative of the platform -- they're trading memory for speed on purpose. Cross-referencing and API lookups have to be fast, memory footprint is far less important.

Something like the Eclipse RCP mail app demo could provide a more representative baseline memory footprint of the platform (http://www.eclipse.org/articles/Article-RCP-3/tutorial3.html). The Eclipse platform can be quite compact without the IDE features, JDT & online help indexing, etc.

Re:This is what happens when you let Java people write apps ... by jcromartie on Friday April 09, 2010 @08:05AM (#1252422)
Java performance just isn't straightforward. Startup time alone really taints the perception of an app before you get to working with it. Another sore spot is resource loading. Once the JVM is all warmed up it's generally humming along at a great pace, computationally speaking.

Check out Processing for a nimble Java app.

Re:This is what happens when you let Java people write apps ... by crosvenir on Friday April 09, 2010 @09:45AM (#1252650)
I'd like to know what you think about my desktop Java apps, fleitz. Do note that the apps are not fully functional, but that's my shortcomings, not Java's:

http://www.assembla.com/wiki/show/jtuils