Slashdot Mirror


Sun Opens JDesktop Integration Components

Jahf writes "Sun has released the JDIC / JDesktop Integration Components API via the LGPL. The idea is to create a Java API that allows Java applications to better integrate with a modern desktop. It allows apps to embed a web browser component, access/launch desktop applications and associate filetypes. Documentation and demos are available and there is an incubator project (SaverBeans Screensaver) under way. Sun has been a proponent of developing desktop apps in Java, including a number of open source Java apps in the Java Desktop System and developing new ones for it as well (Java System Updater), and this appears to be a step towards making that goal a bit easier. I'm sure that every release of Java Desktop System (disclaimer: yes, I work on it) will continue to get the 'it has nothing to do with Java!' trolling since Sun is using GNOME as a desktop foundation (imagine what people would say if Sun created a 3rd environment in Java!) But those willing to step back and look at all facets (JDIC, Java Desktop System, Looking Glass previews, etc), hopefully others will see that Sun is getting more serious about making Java a platform for desktop developers."

50 of 200 comments (clear)

  1. LGPL! by HiThere · · Score: 4, Interesting

    That's a much better license than I was expecting. Of course, I don't know just what is being covered. It's important to know that before giving Sun too much credit. (Still, they haven't been slow about being viscious in public, so no reason for them to be subtle now.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  2. In other news... by happyfrogcow · · Score: 4, Funny

    a Sun spokesperson says, "The future of JDesktop Integration Components is uncertain. We have no plans to make JDesktop Integration Components open source in the near future."

  3. That's good news by gustgr · · Score: 4, Interesting

    This can help the GCJ project to build their free CLASSPATH faster.

    Soon [I hope] this free Java compiler/interpreter will be ready to replace the "closed" Sun's Java.

  4. Good step forward, but... by teutonic_leech · · Score: 4, Insightful

    ... shouldn't they have done this 4 or 5 years ago? Why now? We could all run Java based browsers and applications if those guys would have put their thinking caps on half a decade ago. Just my personal opinion - as usual, I could be wrong ;-)

    1. Re:Good step forward, but... by Pieroxy · · Score: 4, Interesting

      I agree completely. They had their perfect cross-platform platform back then. They could have done so much, back when there was no real competition in that area (read desktop apps, such as browser, office, etc...), that every move they make now just look odd at best.

    2. Re:Good step forward, but... by 0racle · · Score: 3, Interesting

      Five years ago the main GUI for Java apps was the AWT, which just didn't sit well with a lot of serious developers. Swing was in its infancy, was dog slow at the best of times and didn't play well with threads. If they had tried to do this then, or anytime before Swing became a lot more usable, then it would have died before anyone noticed. They probably could have done it a little sooner, but its possible that because they now ship Gnome instead of CDE they're rethinking some of they ways the deploy a GUI desktop, or are making it easier to create apps with Java across all installations for desktop oriented tasks so that more programmers realize what can be done with Java.

      --
      "I use a Mac because I'm just better than you are."
    3. Re:Good step forward, but... by EndlessNameless · · Score: 2, Informative

      [/obligatory Java GUI speed rant]

      I could see (and agree with) the point about noticeablely slow app response times in 1998.

      But now Joe Schmoe can get a 2.0+ GHz CPU with 256-512 MB of RAM with nearly 3 GB/s of usable memory bandwidth. Unless there are some really serious performance problems with a particular runtime environment, there is no reason for a Java app to run noticeably slower than an precompiled machine binary app in the language of your choice (barring serious number crunchers, of course... we're talking desktop apps here).

      Processing capabilities have increased so much since the early 1990s that the overhead incurred by Java is negligible for newer systems. I think the biggest problem stemming from this initiative if it actually goes anywhere will be making sure that average users have a sufficiently up to date JRE.

      Hell, my machine is slower than the latest and greatest speed demons, and I have no trouble with Java apps running slowly or consuming enough RAM/CPU/IO to make anything run slowly (except maybe when Azureus eats all of my bandwidth :) download cap implemented in 2.1.0.0 though).

      --

      ---
      According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
    4. Re:Good step forward, but... by Xaria · · Score: 3, Informative

      Java is not necessarily slow. Badly coded Java can be, but Java itself tends to be quite fast. I know companies that are writing essential services with 5 9s reliability in Java because it's fast enough and a lot easier to maintain.

      Benchmarks here:
      http://www.idiom.com/~zilla/Computer/javaCb enchmar k.html

  5. Trolling? JDS = GNOME = Mono = .NET on Linux by Anonymous Coward · · Score: 2, Interesting

    I'm sure that every release of Java Desktop System (disclaimer: yes, I work on it) will continue to get the 'it has nothing to do with Java!' trolling since Sun is using GNOME as a desktop foundation (imagine what people would say if Sun created a 3rd environment in Java!)


    neverind the trolling you'll get because GNOME is being implented in .Net/Mono instead of Java.... :)

    That's right I say:
    JDS = GNOME = Mono = .NET on Linux

    1. Re:Trolling? JDS = GNOME = Mono = .NET on Linux by I+confirm+I'm+not+a · · Score: 2, Informative

      That's right I say:
      JDS = GNOME = Mono = .NET on Linux

      Almost:
      (JDS = GNOME) != (Mono = .net on multiple platforms)

      GNOME is written in C (C++?), Mono is an open implementation of .net that runs on multiple platforms (including GNOME, KDE, Solaris, Windows, etc, etc) One's a language, the other's a technology (virtual machine, languageS, etc)

      ...and, to be honest, JDS is like most distros: it's not just the Window Manager. But hey! Why let "facts" get in the way of a good troll!

      --
      This is where the serious fun begins.
    2. Re:Trolling? JDS = GNOME = Mono = .NET on Linux by Decaff · · Score: 2, Interesting

      Mono is an open implementation of .net

      Key fact:

      Mono is an open implementation of a subset of .Net, not supported by Microsoft, the creator of .Net.

  6. Still an abusive friend by Anonymous Coward · · Score: 4, Interesting

    Java -- liked it, thought it was the future, then it ran slow on the desktop so I stopped looking at it. I heard it's great on the server side, though. Then processors got faster and memory got cheaper so I thought hey, let's do Java on the desktop again!

    Enter the debate of AWT, Swing, JFC, and all these other widget libraries. I tried the free Forte for Java and JBuilder to make me cutesy GUIs. I compiled and ran it on a Win98 box, transferred it over to a Linux box, and it worked spiffy except for a few font complaints. I had issues creating a jar file, though, and eventually got sidetracked away from the language altogether.

    In the end, Java seems like an abusive friend -- I keep going back, and it keeps giving me pain. Haven't gotten around to running Eclipse and trying again. Not sure if it's safe to give this 'relationship' another shot.

    1. Re:Still an abusive friend by Pieroxy · · Score: 4, Insightful

      I had issues creating a jar file

      You realize that this is like saying "I has issues creating a .o file with gcc", right? If you can't get a jar file, you didn't go very far in your investigations.

      Haven't gotten around to running Eclipse and trying again

      Last time I tried, it was really simple: Run the installer, double click on the .cmd (or .sh on unix I guess). If you can't get that working, then I guess Java is not for you.

    2. Re:Still an abusive friend by minniger · · Score: 3, Informative

      Take a few min and read

      man java

      and

      man jar

      if you have the main-class set correctly in the manifest you can do:

      java -jar yourjar.jar

      if not then just do

      java -cp yourjar.jar org.my.Main

      where org.my.Main is the main class of your app.

      I'll go out on a limb here and suggest that any non-trivial platform you want to use is going to take some time to learn. The JSDK has a TON of docs that come with it. Put some effort into it and read them. Esply the part on the jar tool.

    3. Re:Still an abusive friend by WinterSolstice · · Score: 2, Informative

      Sounds like some fairly basic issues. Not hard to do a google search on. Of course, it should just be pinned on Java, right?

      Java is about as intuitive to learn as MSVC... while the core language is simple, making a nifty little GUI work is not. It's easy to make a "hello world" jar that runs from the command line, but making an actual graphical applet that runs that way is quite a bit different.

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
  7. My impressions by finkployd · · Score: 3, Interesting

    Looking glass is way cool, I am itching and burning to get my hands on a copy of that (and perhaps some ointment).

    Java Desktop is gnome with a new theme. Seriously they didn't even do as good a job as Redhat with Bluecurve in pretending that it was anything more than that. I suppose the real benefit is the legitimacy that it lends Linux on the desktop to the PHBs of the world, but technically it appears to be nothing to get excited about.

    But the demos I've seen for looking glass....damn. It looks like Apple's Expose on steroids.

    Finkployd

    1. Re:My impressions by happyfrogcow · · Score: 3, Funny

      But the demos I've seen for looking glass....damn. It looks like Apple's Expose on steroids.

      yes it does.

      -Instead of a nice pretty background, you get a pinkish, zit-covered background.

      -Way more bulk than any prgram needs... quickly turns to bloat if you stop running it.

      -Violent mood swings lead to the termination of all the puny shell scripts.

      -To pass a performace test it will try to load foreign components, specifically, C code.

  8. Java footprint too large for ubiquitous usage by jbr439 · · Score: 4, Insightful

    Java's memory footprint is currently too large to allow numerous java programs of a moderate complexity (and size) to be running simultaneously on the desktop. Until Sun gets VM sharing going, we will not see Java attain a strong desktop presence. And, in the meantime, Microsoft will be cleaning Java's clock with .NET.

    I work in Java and would love to see Sun devote the effort required to make Java *truly* desktop ready. However, I fear that that is not a priority for Sun, and instead we'll see .NET/C# rule the desktop. Hope Sun proves me wrong.

    1. Re:Java footprint too large for ubiquitous usage by Decaff · · Score: 4, Insightful

      Java's memory footprint is currently too large to allow numerous java programs of a moderate complexity (and size) to be running simultaneously on the desktop.

      By default the 1.4 JVM allows a default maximum (note 'maximum' of 64MB per application, but there is no reason why an app needs to use anything near that. The full Swing GUI demo (a pretty complex app with memory-hogging features) from Java 1.4 runs comfortably in 32MB.
      New machines are purchased with around 512MB of memory. That is enough to run more than 10 copies of this app.

      If you use something like SWT; a portable GUI library with native code bindings you can run Java apps GUI with memory requirements a lot smaller (Swing is a memory pig). You can run many more GUI apps. If you don't require a GUI, Java apps can require memory requirements of the order of single figures of megabytes, including the VM for each app.

      How many Java apps do you want to run - 10, 20, 30, 40?

      Microsoft will be cleaning Java's clock with .NET.

      Why? For now .NET is simply an alternative desktop development environment. Microsoft have a very low presence in the mid-range and high-end server market. Unless a full-featured (not just Mono) enterprise-level .Net is released to the Unix market .Net will have very little impact on the server side, which is where Java has a dominant and growing presence.

      If Java starts to grow on the desktop as well, .Net is in trouble.

  9. Fully supported by RIAA by FerretFrottage · · Score: 3, Funny

    Dammit, I have coders block on my real project, but I can see how the RIAA may make use of java on the desktop. I hope everyone will now see the danger of java on the desktop and its integration

    try {
    toDownloadMusic();
    }
    catch (GrandmaAnd12YrdOldViolators you) {
    fineAndMakeYouAppearInCommerical();
    }
    finally {
    try {
    payMusicians();
    }
    catch(MoneyNotFoundException haha) { //ignore the musicians
    }
    }

    private void payMusicians() throws MoneyNotFoundException
    {
    if(true) {
    throw new MoneyNotFoundException("Sorry, get all of it because we like it that way");
    }
    }

    --
    "Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
  10. Name mistake by jared_hanson · · Score: 4, Insightful

    The biggest problem in naming it the Java Desktop System is that you are making your product lines vague and ambiguous. Didn't you learn anything from watching the whole Microsoft .NET hilarity as that ensued.

    Why not name it the Linux Desktop System, thereby keeping naming distinct between OS and development technologies? Sure, it's good to tie them together, but you need some focus and clarity among the things you are trying to push.

    Now, somewhat more contraverial, is you also need to recognize the contributions of the many people who's code you are selling. It would seem a responsible thing for a member of the community to acknowledge their participation by helping promote the name (Linux, GNOME, whatever). I'm not trying to flame Sun, because they've done some nice things with ATK and OO.o, etc. However, as a Linux supporter, why should I go with Sun over IBM or Red Hat when both of those put forth more effort to evangalize open source?

    --
    -- Fighting mediocrity one bad post at a time.
  11. Re:Sun actually GPL'ing something?!!? by theguywhosaid · · Score: 3, Informative

    OpenOffice.org
    deep down, Sun loves us

  12. Misinformed by vlad_petric · · Score: 3, Informative
    Classpath itself is "already there". Classpath is slowly being merged into libgcj.

    OTOH GCJ is far from replacing Sun's java (at least in terms of speed). To compile java properly you have to do some funky runtime optimizations (which sometimes even require un-optimizations!), something that the gcc infrastructure doesn't really allow. That's why you get considerably better running speeds with Sun's or IBM's JITs (although you do get better startup speeds with gcj)

    --

    The Raven

  13. Your wish shall be granted. :-) by lokedhs · · Score: 5, Informative
    Java's memory footprint is currently too large to allow numerous java programs of a moderate complexity (and size) to be running simultaneously on the desktop. Until Sun gets VM sharing going, we will not see Java attain a strong desktop presence.
    I presume you mean something like this?
    1. Re:Your wish shall be granted. :-) by jbr439 · · Score: 2, Interesting

      That's a step in the right direction, but it does not go far enough. As the blurb says, only 5 to 6 MB gets shared. I am running JDK 1.5 beta2 and to be honest, I haven't noticed much (if any) savings (this is on Linux 2.6.5, don't know about windows). I currenly have 3 Java progrmas running using 511MB, 288MB, and 276MB (the first one is eclipse) according to both gtop and ksysguard. They are easily the top 3 memory pigs of the 150 processes currently running on my desktop. It is possible that gtop and ksysguard are not telling the total truth, but I do know for a fact that the java programs are the ones with which I get the most bang for the buck when I have to start killing processes to free up memory.

      I suspect that to make Java truly viable on the desktop it would be necessary to have true VM sharing. In this scenario, starting a Java program would result in it being executed in an already running VM. The VM would be capable of running multiple programs simultaneously while still providing the safety of the sandbox. And, of course, there would always be at most only one copy (or part thereof) of a given class in the VM, regardless of how many applications are making use of it.

      I don't know how feasible this really is, but Java will not take off on the desktop without something like it.

    2. Re:Your wish shall be granted. :-) by FatherOfONe · · Score: 2, Interesting

      Is what you propose going to be in .NET. If so then I would want to avoid it at all cost. Just imagine if one of those classes has a bug, and it crashes the VM. Now Microsoft wouldn't develop any buggy classes would they?

      Sun or anyone for that matter has to be very very careful on how they do this. IYour example "Eclipes", isn't a good true world test. How much memory does visual studio take up? IDE's have always been hogs. On some systems Outlook takes over 300MB to load. Getting the initial VM load off the system AND sharing some classes will be huge for most apps. Specifically things like a Java calculator, notepad, ping program, or other small programs.

      Lastly, I will agree that C# and .Net will "clean Java's clock" when it runs well, and is supported on all the platforms Java runs well on today. That should be about the time hell freezes over.

      --
      The more I learn about science, the more my faith in God increases.
    3. Re:Your wish shall be granted. :-) by Trejkaz · · Score: 2, Interesting

      Actually I thought he was talking about something like this.

      The thing which was added in 1.5 improves startup time, but each JVM you run still takes the same amount of space, unless they say otherwise on a different web page. JShell, on the other hand, solves the memory issue. (I wonder why this couldn't be worked into a core feature.)

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  14. Another Desktop API? by razmaspaz · · Score: 2, Insightful

    For a company that claims it doesn't want ot see java splintered by open source Sun sure is trying to make things complicated. First they have awt, then swing, then IBM jumps in with SWT, ok fine IBM evolves the Java Desktop and it looks pretty good. See eclipse But now Sun releases another API for the desktop that, while different in purpose, is not compatible with SWT. Great. not to mention the fact that it uses GNOME (a.k.a. .NET-Just wait). How does this help make Java a more unified platform?

    At first I was an oponnent of OSS Java, but now I'm not so sure. I am thinking anything is better than Java in the hands of Sun. Will someone please give Java to Apple.

    --
    I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
  15. Startup time by ecloud · · Score: 4, Insightful

    Now if they could make it so you don't have to start up a separate VM for every application...because it takes too much memory AND too much time.

    They've needed a process model for a long time. That's still the critical piece needed to make a "Java OS" a reality. (AFAIK it still is missing...)

    Of course there is the copout that the interpreter ends up in shared memory anyway. But what about loaded classes? Are they shared between apps? I think not.

    Of course, applications can be written to become threads in an existing VM rather than intended to start up on their own, but that generally isn't done. This way Sun can ignore security issues between apps within the sandbox by saying well, just start up a new sandbox for every application, and there is no way they can step on each other. Moore's law has had many cycles now since Java came out, and the cost of even one VM is still not negligible, let alone one per application.

    Then there is the fact that Swing applications always look so unique, so volatile and unreliable, due to the fact that they paint slower, and you can sometimes see unpainted gray areas, at least temporarily. They make a bad impression, like old cars going down the road perpetually in primer, the "restoration" incomplete for years on end, making you want to ask "when are you ever going to use real paint!" They should instead work on fleshing out AWT to include the missing widgets, like trees (just implement their own native versions on the few OS's whose GUI toolkits don't have them), and screw pluggable look-n-feel. That should be a toolkit feature for the whole OS, not just for Swing applications. This approach is largely responsible for Swing apps looking and feeling so crappy.

    1. Re:Startup time by khuber · · Score: 3, Informative
      The client VM in JDK 1.5 shares system classes. There's a file that is just a memory dump of the internal class data structures, classes.jsa. All client VMs mmap that file.

      http://java.sun.com/j2se/1.5.0/docs/guide/vm/class -data-sharing.html

    2. Re:Startup time by raduf · · Score: 2, Informative


      I'm using Java 1.5 for several months now, and besides the new language feature goodies it also has shared memory between applications.

      Now I can't say how much better swing has gotten since 1.4 because a dont' remember how good it used to be ;) but in 1.5 it's pretty good. No reason why I'd hesitate to do any UI in java anymore. It's way better than in 1.2 or 1.3, that's for sure.

  16. Re:Sun actually GPL'ing something?!!? by I+confirm+I'm+not+a · · Score: 2, Interesting

    ...and netbeans, though the license was the Sun Public License (like the Mozilla license), rather than the GPL.

    ...though I'm more an eclipse kinda guy, myself.

    --
    This is where the serious fun begins.
  17. ,NET footprint same OR LARGER than java by GCruick · · Score: 5, Interesting

    In our projects we have found that the .NET winforms foot print is minium 11mb, but often is at least 20-30mb. So please stop spreading FUD

  18. What the hell can I even write in the subject line by Tarantolato · · Score: 3, Insightful

    I'm going to follow an increasing trend on Slashdot these days and come right out and admit I haven't read TFA.

    I'm also going to follow an age-old trend of mankind and blame the victim. Really, Sun; with all of the incomprehensible noise that's been coming out of official and semi-official channels, who can blame me? The Kremlin during Brezhnev's dotage was more on-message than you these days. Clearly you were asking for it.

    But anyways, if this doesn't include a less-restrictive license on the JRE such that it could go into Fedora, Debian, free-as-in-beer SuSE and other non-commercial distros, who gives a fuck? I don't even mean GPL - even a patches-only Minix-style source license; hell, even just free binary redistribution without selling your firstborn to Scott McNealy would do it.

    Yes, yes, I know; those aren't enterprise Linux. But they are what enterprise Linux guys run at home.

    If Sun really wants Java to be the platform of the future, they've got to make it possible to install as part of a platform, rather than an afterthought added in after you've already got kernel, services, gui, and browser application running.

  19. Not just Linux by _damnit_ · · Score: 4, Informative

    Because it will not always be Linux underneath. Running the JDS just means you have a common set of apps, ui, libraries and java. It could soon be Solaris x86 underneath or a sparc version running on Sunrays (which I still think are cool).

    --


    _damnit_

    It's my job to freeze you. -- Logan's Run
  20. wx4j: Native widgets via wxWidgets by Anonymous Coward · · Score: 2, Informative
    You can get native widgets in Java via wx4j.

    Heck, you can even compile the whole thing natively.

  21. All for Java, but it still needs time... by SirPrize · · Score: 5, Interesting

    I've been developing in Java for close to 7-8 years now, and am a great advocate of Java - for those tasks that fit it. I think Java on the server-side is a very powerful thing, but that it just wasn't ready for the desktop up to and including v1.4. Try running 10 copies of Notepad - and then try running 10 Notepad-equivalents in Java, and see the difference. Having said that, v1.5 bringing virtual machine sharing should have a big impact on this, but I have not yet had the opportunity to evaluate how much of a difference this makes on the footprint. I recently had to demo an old application that we developed back in '98 for Java 1.1/1.2, on both Windows and Linux using Sun's 1.4 virtual machine. I was appalled to see that the application, which had very good performance on Windows, was unfortunately having quite dramatic performance issues when run on Linux (Tests were done on a dual-boot machine). Java on the desktop - yes, great. But up until 1.5, it wasn't the time. Maybe things will change now.

  22. Re:Always The Outcast by Decaff · · Score: 4, Informative

    Had Java used native widgets, it might fit in better.

    Java can use native widgets easily: IBM's SWT toolkit does just that.

    Had Java used widgets that didn't look like a throwback to Motif it might have been slightly better.

    Then don't use these widgets. Use any of hundreds of Swing look and feels, or use versions of SWT that use GTK, or Windows, or Aqua.

    Instead Java UIs tend to be a usability nightmare.

    There is nothing intrinsic about a Java UI that is a usability problem. With any Java GUI you can design your own buttons, add your own accelerators, menus, colours, tooltips. I think you are confusing the bad design of some particular applications with what is potentially possible using a GUI toolkit. Its like saying that GTK is bad in general because you have seen some badly designed GTK apps.

    Even Eclipse, which is far and away the best app I've seen in Java has nowhere near the visual polish as its GNOME, KDE, Aqua, or Win32 equivalents.

    This does not make sense: Eclipse uses GTK, aqua and Win32. It uses those native widgets! Eclipse is a native GUI program.

  23. Re:Java worms soon to come. by Decaff · · Score: 2, Informative

    How long before we start seeing Java worms? It's only a matter of time. How will we blame Microsoft for them? They'll be cross platform worms.

    Nonsensical FUD.

    Java has security manager features that have been tested and refined over a decade. Java was designed from the core to protect against such problems - every memory access and every class loaded is validated.

    The only redeeming feature is that with the performance that Java provides, propogation of such worms will likely be a bit slower than the usual Windows type.

    More FUD based on no evidence. Java has not been slow for years.

  24. Re:Where is the security? by M.+Baranczak · · Score: 2, Interesting

    Very good question.

    Launching an executable from Java requires either access to a native library, or the Runtime.exec() method. By default, web applets can't do either, so they probably couldn't use this functionality at all. (Which is how it should be.) But I can't verify this without looking at the internal workings of the library.

    Which brings me to my question: Where's the source code?? The download page only shows binary packages. Did I miss something?

  25. Sun is feeling the heat........ by Coppertone · · Score: 2, Interesting

    I am quite happy to see so many innovation lately in the market in order to make Java to be more desktop friendy - I am a Eclipse fan and I think Sun is trying to dampen down the momentum being built up in the Eclipse RCP (Rich Client Platform http://dev.eclipse.org/viewcvs/index.cgi/platform- ui-home/rcp-proposal/rich_client_platform_faciliti es.html?rev=HEAD) camp.

    Anyway I am not particularly worry about splitting the community - the best will wins in the long run - look at GNOME and KDE - there has been so much innovation coming out of them. As long as the source is there, it will all be good!

  26. Re:What the hell can I even write in the subject l by Decaff · · Score: 2, Interesting

    Can someone please explain something to me, as I feel I am being stupid.

    When some Linux developers are so keen and eager to download all kinds of software, do they complain so much about downloading a free Java development environment from Sun? Its free to download, free to use, and you can freely distribute the run-time with your apps.

    I remember when, years ago, Linux people did not like to have pre-installed systems, and preferred to have the freedom to set things up for themselves. Have things really got so bad that Linux developers insist on having everything pre-installed?

    Is there some major lack of internet connections and/or CD-writers for 'enterprise Linux guys', so that they can't download the Java development kit at work and take it home? I mean, it only has to be done once....

  27. Re:Always The Outcast by Trejkaz · · Score: 2, Insightful

    I took an interest in Java for desktop work a few years ago, but quickly realized that Java on the desktop is even worse than Java applets were. (And at the time they were both incredibly atrocious.)

    So we already know where this is coming from. Someone who saw how bad it was in the past and hasn't kept up with the improvements: "Perl was pretty crap in version 1.0, therefore Perl still sucks today."

    Even with the increases in processor power, storage, and memory, Java is still atrocious, even compared to interpreted languages like Perl or Python.

    We know this is a lie, because Java outbenched Python in benchmarks last year (it almost outbenched C, and would have if it weren't for the atrocious trigonometric performance.)

    Even the simplest applications leave even powerful systems swapping like mad. Java consumes memory like the unholy offspring of Rush Limbaugh and Courtney Love would consume drugs at a pharmacy warehouse. Java brings in a large memory footprint that makes it completely unsuitable for many applications.

    It brings about 8MB on top of the base application size. I don't know about you, but I have 512MB RAM in my system.

    Of course by "it", I mean the Sun JVM. The Sun JVM is one of half a dozen that I know of, and some of those half a dozen are specifically written to conserve memory. Therefore bitching about Sun JVM's memory usage is akin to bitching about glibc's size wastage on a device where you should be using dietlibc.

    And don't get me started about Swing and the other Java UI classes. The last thing we need is another UI toolkit. Had Java used native widgets, it might fit in better.

    (... well it did in AWT, the problem was more that it didn't look modern enough...)

    Had Java used widgets that didn't look like a throwback to Motif it might have been slightly better.

    "The default GTK theme sucks, therefore GTK on the whole sucks."

    Instead Java UIs tend to be a usability nightmare. Even Eclipse, which is far and away the best app I've seen in Java has nowhere near the visual polish as its GNOME, KDE, Aqua, or Win32 equivalents.

    ... not that anyone has ever really seen an "equivalent" to Eclipse. I don't like Eclipse much myself (would use IDEA if I could afford it), but I've never seen any other application even competing in the same space. KDevelop looks like it might put up a fight, but it sure as hell doesn't at present, and is far from what I would call "polished."

    In fact the main problem with Eclipse is that it's based on the shittiest GUI toolkit in existence: SWT. If it had been based on Swing like IDEA is, it would probably run smoother, look better, and generally be easier to use.

    The fact is that if Java is to succeed in the desktop it needs to be made much faster,

    ... I'd love to see how it could get much faster, since it's already faster than C in many areas. Hey, perhaps C should get much faster too...

    ...memory footprint needs to be reduced,...

    ... again, property of the VM, not Java...

    ... and it needs to get a consistant and usable set of Human Interface Guidelines.

    Yeah, because that really made GTK and Qt apps so consistent. The only desktop environment with a set of HIG that anyone gives a fuck about is OSX. Every other platform has them, and even Java has them, but the developers have to care! And of course, you can't force developers to care.

    Unfortunately for Sun, I tend to think that the Java developers would be better suited to inventing a time machine and traveling back to 1996 when such improvements may have made a difference.

    Well I would just go back with a copy of J2SE 1.5, to save all the waiting time for that. :-)

    Java has a nice niche as an enterprise-level web applications language, but as a desktop programming language Java isn't neither well

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  28. Re:interesting by vmircea · · Score: 2, Insightful

    Excuse me for saying that, sometimes C/C++ can be faster, and some times Java can be faster. It really depends on the application, and also the JDK. Sometimes C++ is faster and sometimes Java is faster, from my own benchmarks, and from others I have seen. There seems to be a lot of contradiction.

  29. Re:Java worms soon to come. by harikiri · · Score: 3, Insightful

    The problem is, that I suspect many others (like myself) collectively groan when they see the trademark Swing look-and-feel, and think - this program's gonna run like a dog.

    --
    Man watching 6 MSCE's around a sun box, looks alot like the opening scene's of 2001:space odyssey...
  30. Re:Java worms soon to come. by jrduncans · · Score: 2, Interesting

    Well, then hopefully the new default Swing Look and Feel of 1.5 betas will still be around for 1.5 final, and the bad memories will go away.

  31. Re:What the hell can I even write in the subject l by Decaff · · Score: 2, Insightful

    I have to download and install things like Swing even if I don't want them.

    Oh come on. This is just silly. If I download GCC, I get huge amounts of things I don't want, like cross-compiling for ARM processors. Where is the option to disable these?

    Nothing else in my system works that way so I can't understand why Java does.

    There is a very simple and easy to understand reason why Java does this. Java is a standard set of libraries and functions. Java includes things like Swing because that is part of what other developer's Java programs expect to be on your machine.

    What is the point of installing a system called 'Java' if you can't download java programs and run them?

  32. Re:process model by Will+Sargent · · Score: 2, Informative

    "process model for a long time"

    It's called isolates, and it's supposed to be in Java 1.6: http://www.bitser.net/isolate-interest/

    There's a proof of concept in KaffeOS.

  33. Re:What the hell can I even write in the subject l by Tarantolato · · Score: 2, Interesting

    Java is currently a very good platform for server-side solutions.

    It is not currently an ideal platform for desktop-side solutions. There are a number of reasons for this. One of them, and the most easily remedied of them, is that the current licensing scheme places restrictions on the distribution of binary JRE's.

    It may be that Sun is content with the status quo; after all, there's more and safer money on the server. In which case greater ubiquity for the JRE would be of no concern to them.

    But: releasing JDIC or whatever it is under the LGPL suggests that they are indeed interested in propagating desktop-side Java. So it would seem logical to get as many Java VM's out there as easily as possible; which would mean slightly less restrictive language about binary distribution. (Notice that I am not speaking here of open source.)

    But then again: tight integration of a Linux desktop with a Java VM is one of the selling points of the JDS, so from the perspective of that division, it would not make sense to make Java VM's more easily distributable.

    In short, I don't have the faintest idea of where Sun is going. And I suspect that they don't either. You cannot have both ubiquity and control, but Sun's business model is premised upon having both.

  34. LGPL for pieces doesn't matter by dekeji · · Score: 3, Interesting

    Sun has simply figured out that it doesn't matter if they make some parts of the platform open source as long as they still control core portions of the platform.

    And Sun does: not only is there no complete open source implementation of crucial components like Swing (although the SWT-Swing effort may be changing that), even if people should manage to make a credible and complete open source Java 2 implementation, Sun's licensing restrictions on the Java specifications and their Java-related patents would probably let them shut down or control any such implementation should it become a threat to their dominance.