Linked by Andy Roberts on Thu 19th May 2005 19:33 UTC
Java Java Swing comes with "pluggable look-and-feel technology", which essentially boils down to the fact that interfaces can be "skinned" (although this is simplifying a tad) and is therefore, extremely flexible. By default, Java ships with a cross-platform look-and-feel (LAF), which means your apps can look consistent across all platforms, or LAFs that mimic the look of a specific platform, say Windows, for example. However, one of the chief complaints of Java desktop applications is its "look". It basically stems from two issues:
Permalink for comment
To read all comments associated with this story, please click here.
RE: Archangel
by deepspace on Fri 20th May 2005 12:16 UTC

Yes... it is!
Before you can run a Java app, you have to fire up the virtual machine.


Who cares about startup? If I run a programme all day long, I can wait that extra second.

Then it's got to compile the thing as it goes. That means Java is, and will remain, slower than properly compiled languages.

True, but ones it is compiled, it will run at full speed.

And it's further crippled by it's constant bounds checking etc - which can be a lifesaver sometimes, true, but often is painful. Read John Carmack's comments on programming Java if you don't believe me.

If you want very fast buffers, use java.nio.* stuff. You'll always find something to wine about. Make it look like a bad thing... That's easy: Grabage collector, balbalbalbal..

Care to name any of these mysterious core tasks, or provide links?

Sure, this one for instance: http://www.kano.net/javabench/data . There are more of those out there. Also ones that say the opposite. Java is especially fast at handling object, and does the trick better dan C++ in most cases. Of course there are othere fronts, where java is simply not as fast, but java is gaining on all fronts with every new release.

Um yes? One thing Java is not is efficient.
C is efficient. You have to worry about array bounds and pointers and that sort of thing, but it is efficient because it doesn't do things it doesn't have to. Whereas Java tries to do things for you, so it'll check if you're out of bounds of an array even if you know damn well you're never going to be.


That's true. C doesn't do anything... What's efficient about that?

And then there's the VM thing - Java is compiling as it goes, which imposes more overhead than if it's all done ahead of time.

True, but that actually makes it more efficient. I know, it's confusing, but "efficency" is not all about speed:

- Java software runs on multiple platform without having to recompile or port one single line of code.
- There is lot's of stuff a programmer doesn't have to worry about. Call me laisy, but you can consentrate on the important stuff now.
- There are coultless free, very well documented api's available for all kinds of fun stuff. So often no need to so something youself. Sure there are also lots of C and C++ api's out there. But good documentation is often missing.
- (I find that) programming in java is much easyer, faster, and pleasent that in for instance C++ or C. Of course, you are free to disagree.

So no, it is NOT efficient.

So, it all depends on what you call efficient...

So, no java is not slow at all. Also, it might not be the fasted language ( I never said that), but it was neaver meant to be.