Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
User Journal

Journal eno2001's Journal: PROGRAMMING: Please Tell Me More About Java on the Desktop 2

OK... Here is what I know (or at least think I know) about Java:

1. It's supposed to be write once, run everywhere which is a good thing.
2. It's also OOP which is arguably a good or bad thing depending on your POV
3. It was released in 1995 (twelve years ago) and was a "hog" (on the desktop) then because of RAM and CPU requirements. Only within the past year or two has it become viable for desktop applications in the opinion of many a desktop user.
4. Java applications that suck are usually the fault of the developer and not Java itself.
5. The last time I checked, there was no Java native printing interface since each OS that could run Java has it's own very unique approach to printing.
6. This part I really don't know much about, but I've noticed that many Java apps seem to ignore the local host UI's toolkit in preference for the Java UI toolkit (which is pretty lame IMNSHO). I'm not sure if this is a limitation of Java, a developer who doesn't know what they're doing, an inherent quality of the write-once run everywhere nature, or a combination of all of the above.

My personal experiences with Java apps have been rather frustrating (NOTE: I'm not meaning to insult anyone with my comments, just posting my experiences):

-A Java app to manage the music on my Rio Karma. I needed to use it since I run Linux and there is no application to natively manage the Karma. I abandoned this application as soon as I discovered lkarmafs. Yes... I'd rather deal with a CLI to manage my Karma than a broken and unreliable GUI app.
-The Java interface from hell in my opinion is Cisco's latest and greatest ASDM (Java Firewall Management tool). I think it's version 6. It's a bloody mess in my opinion. I won't even go into all of it because I'd need a whole JE just for that. One simple example is that they have a section where they display a table view of information. There are column headers. But you click on them to sort by that information, and nothing happens. OK. No surprise there as this was the case in the past. However, in another section of the same app, there is another table view, also with column headers. You click on them and... they work. But they work in a pretty strange way. Instead of the customary arrow pointing up or down to indicate the sort direction or no icon for unsorted, you just get (1) (2) (3) or a blank. Very VERY bizarre, inconsistent and annoying. Is this a Java toolkit issue or dodgy coding from Cisco land?
-Sun/iPlanet's Java based administration interface for LDAP and their Enterprise Messaging Server did not like X very much. I have memories of trying to use my workstation's X server to access the application from the iPlanet server in the computer room (that is headless) and taking literally five to ten minutes to expand a tree. Eventually I wound up having to run an Xvnc server on the iPlanet box after which the Java app worked fine. So Java doesn't seem to always like being exported via X protocol.
-I had a very similar experience with the Oracle installer on another headless Digital Unix box. Once we moved to HP-UX and the version of Java for the installer was a little newer, I didn't have that problem. So that leads me to suspect that older versions of Java didn't like the X protocol.
-Of course you can also insert nearly all Java applets from the web that seem to eventually lock up browser on just about any platform.
-Since Java seems to be in constant development, there are large inconsistencies between which apps will run with which versions of Java. Leading to the ultimate annoyance of being tied to very specific versions of Java for specific apps. Eventually you wind up with many of those apps being on the same box and so you wind up with multiple versions of Java on the same box. If you're in Unix land, many times you wind up with applications that are bundled with their own Java buried deep in your system.

I'm not meaning for this to be a rant against Java. What I'm hoping is that knowledgeable people here on Slashdot can inform me as to why they chose to go with Java for their language and whether or not it really can be made to work well. I'm also specifically thinking Java on the desktop, not the server. I can see how it might be better suited to back-end work since servers tend to have the resources needed. The only question being, can it be done with efficient memory and CPU utilization?

This discussion has been archived. No new comments can be posted.

PROGRAMMING: Please Tell Me More About Java on the Desktop

Comments Filter:
  • Answers (Score:3, Insightful)

    by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Monday October 15, 2007 @05:54PM (#20988391) Homepage

    It's supposed to be write once, run everywhere which is a good thing.
    Usually, there are still a few little bit that must be changed (path separators, etc)

    It's also OOP which is arguably a good or bad thing depending on your POV
    Why would that be bad?

    It was released in 1995 (twelve years ago) and was a "hog" (on the desktop) then because of RAM and CPU requirements. Only within the past year or two has it become viable for desktop applications in the opinion of many a desktop user.
    It's been usable for far more than "a year or two". Between computer upgrade and SERIOUS improvements in the JVM, Java is very nice at this point.

    Java applications that suck are usually the fault of the developer and not Java itself
    Developer's fault. Note that this may include using Java when it is the wrong tool for the job.

    The last time I checked, there was no Java native printing interface since each OS that could run Java has it's own very unique approach to printing
    Nope. There is one. I've written for it. It is part of Swing. It's a pain, but it's not really different from what I remember looking at Win32 printing was like. I don't know if there are better ways to print since the Win32 API. I don't write printing code generally.

    This part I really don't know much about, but I've noticed that many Java apps seem to ignore the local host UI's toolkit in preference for the Java UI toolkit (which is pretty lame IMNSHO). I'm not sure if this is a limitation of Java, a developer who doesn't know what they're doing, an inherent quality of the write-once run everywhere nature, or a combination of all of the above.
    It's a one or two line little thing to change the toolkit. I agree that the default toolkit looks hideous. But that's trivial to change, so it is just lazy developers. The Windows skin looks very very close to Windows. The OS X skin looks very very close to OS X.

    Java is quite nice. We use it at my work. It's not perfect for everything, but in many situations it's excellent. We use it for server-side stuff although I've done client side stuff. There are some nice programs in Java. Azerus is Java. YourSQL (a Mac MySQL manager) is written in Java. It was done so well, that I didn't even know it was Java until I went trying to diagnose a JDBC problem in my code, tried to see how they did it, and discovered it was open source and Java. I really couldn't tell. Now it was written to be Mac like, not multi-platform, but it is a great example. I've seen other good programs.

    Java is like anything else. There are horrid C and C++ programs, as well as other things. People just pick on Java because it is easy.

  • Comment removed based on user account deletion

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...