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

200 comments

  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. Sun actually GPL'ing something?!!? by Anonymous Coward · · Score: 0

    Oh, this is a suprising nicety.

    Hopefully this goes well and encurouges more like this.

    Good job Sun!

    Here I thought you were going to go the way of SCO and the dodo bird.

    More! We need More!!!

    -Your freind, the average linux user.

    1. Re:Sun actually GPL'ing something?!!? by theguywhosaid · · Score: 3, Informative

      OpenOffice.org
      deep down, Sun loves us

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

  5. 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 uss_valiant · · Score: 1
      ... shouldn't they have done this 4 or 5 years ago? Why now? We could all run Java based browsers [...]
      Yeah, sure. Java browsers. If there is an application that's got to have a fast GUI and a good responsiveness then it's the browser and the email program.
      Or do you know any browser coded in Java having the responsiveness of a Firefox or IE 6?
      [/obligatory Java GUI speed rant]
    3. 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."
    4. 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.
    5. Re:Good step forward, but... by gujo-odori · · Score: 1
      Processing capabilities have increased so much since the early 1990s that the overhead incurred by Java is negligible for newer systems.


      Go use HotJava in a Solaris install, then come back and tell us about how negligible the performance hit is :-)

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

      Last time I tried Espial Escape, it was quite fast. 100% pure Java. Of course, the downside at the time was that it was pretty much compatible with NS4, which is now useless, but I read that things are evolving quite fast on that front...

      http://www.espial.com/

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

    8. Re:Good step forward, but... by sparkz · · Score: 1
      No competition in 2000? Right in the midst of the MS lawsuit (largely due to Sun)?

      I'll have some of what you're smoking!

      --
      Author, Shell Scripting : Expert Re
    9. Re:Good step forward, but... by Pieroxy · · Score: 1

      2000 was already too late, IMO. Although all alternatives to IE, Outlook, and Office weren't really that usable yet (Mozilla was bloated and sluggish, OpenOffice buggy, etc...). Hence my "no real competition"

      That's why. I'm not smoking anything. Maybe I should.

    10. Re:Good step forward, but... by Anonymous Coward · · Score: 1, Insightful

      Just my personal opinion - as usual, I could be wrong ;-)

      There's where you're wrong!! Since it's your opinion, you really can't be wrong. It's an opinion!

    11. Re:Good step forward, but... by teutonic_leech · · Score: 1

      Thanks for pointing out that I was right after all - of course if you're wrong, I might still be right, unless this is your opinion, in that case we're both right ;-)

    12. Re:Good step forward, but... by greenrd · · Score: 1
      HotJava is officially obsolete, and isn't a serious browser. It certainly wasn't programmed with modern techniques, seeing as it was created nearly 10 years ago.

    13. Re:Good step forward, but... by gillbates · · Score: 1

      4 or 5 years ago, the average PC wasn't fast enough to run Java without significant lag times. Even now, Java still feels slow compared to apps written in C++. Had they done this earlier, developers would have rejected Java completely as simply being too slow to be usable.

      --
      The society for a thought-free internet welcomes you.
    14. Re:Good step forward, but... by joeljkp · · Score: 1

      I run jEdit on WinXP with the latest non-beta JRE on a P4-3.06 GHz system w/ 512 RAM, and it's much slower than it should be.

      Could be jEdit's fault, but I associate it (like many would) with the fact that it's Java.

      --
      WeRelate.org - wiki-based genealogy
    15. Re:Good step forward, but... by juhaz · · Score: 1

      Yes, everyone and their mother knows java is fast enough for number crunching and server-side applications that are never restarted and have gigs of memory dedicated for themselves.

      That doesn't necessarily mean it's "fast" enough for desktop were the deal is not how fast it is but how fast it FEELS. Java still has problems in this area, most importantly: startup times are too slow, swing is slow, it's a memory hog.

  6. 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 Anonymous Coward · · Score: 1, Funny

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

      Do this mean that Microsoft will be able to charge Linux users for using Gnome..?

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

    4. Re:Trolling? JDS = GNOME = Mono = .NET on Linux by Anonymous Coward · · Score: 0

      So why do you bring that turd of a fact up? Did you reply to the wrong thread?

  7. Arghhh... brain overload! by jared_hanson · · Score: 1, Interesting

    (imagine what people would say if Sun created a 3rd environment in Java!)

    Man, that was uncalled for. My head is spinning with comments. Must not read Slashdot thread for other's jokes.

    Seriously folks, lets keep this on topic and confine these things to a single thread that is easily ignorable. Replying to this would be a good start.

    --
    -- Fighting mediocrity one bad post at a time.
  8. 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 KenSeymour · · Score: 1

      Maybe his jar file was written to a file called "a.out"

      --
      "We can't solve problems by using the same kind of thinking we used when we created them." -- Albert Einstein
    3. Re:Still an abusive friend by Anonymous Coward · · Score: 0

      Thus the cycle continues -- effort to learn Java depends on its success on the desktop. Success on the desktop depends on effort to learn Java.

      A similar cyclical argument exists for the creation of desktop applications on a certain "alternative" operating system.

      As for the jar file, I ended up creating one but wasn't able to launch it from the command line. Something about explicitly pointing to the main class or whatnot.

    4. Re:Still an abusive friend by Anonymous Coward · · Score: 0

      If you've used tar on unix, jar is very simple:

      jar cvf myJar.jar *.class

      One thing I like about java is that it's so easy to make a Makefile for:

      foo.jar: Foo.class Bar.class Etc.class
      rm -f $@
      jar cf $@ $^

      %.class: %.java
      javac $^


      But this will fail to include subclasses (like Foo$Bar.class), so it actually takes a little bit more scripting than that. Still, the build process is very very simple, and coming from a C background, I can appreciate that..

    5. Re:Still an abusive friend by Pieroxy · · Score: 1

      Thus the cycle continues -- effort to learn Java depends on its success on the desktop. Success on the desktop depends on effort to learn Java
      Hmm, interesting. I don't actually think the effort to learn Java is that big. But of coure I already know it, so I am biaised...

      As for the jar file, I ended up creating one but wasn't able to launch it from the command line. Something about explicitly pointing to the main class or whatnot.
      So a jar file is nothing else but a zip of a bunch of .class files and a few descriptors (sometimes more than that). And yes, since the jar file contains several classes, you need to specify which class is the main class you wish to execute when someone is trying to execute the jar. That's what the descriptors are all about.

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

    7. 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.
    8. Re:Still an abusive friend by Pieroxy · · Score: 1

      while the core language is simple, making a nifty little GUI work is not
      I totally agree with that point of view. It's actually not the fault of the language/libraries at all (IMO) but for the lack of a decent GUI builder. I haven't tried JBuilder & others in a while, but the last time I tried, it was really ugly (As compared to other nice GUI builders for other languages).

      Of course, it is a weaknes of Java to lack such a nice builder.

    9. Re:Still an abusive friend by Anonymous Coward · · Score: 0

      java -jar your jar.jar

      I think many people wanted to say this to George Lucas after Episode I.

    10. Re:Still an abusive friend by khuber · · Score: 1
      Makefiles don't work well with Java for two reasons. One is that javac is slow to invoke repeatedly, and the second more critical one is that javac needs access to all dependencies when it compiles. With C you have independent compilation for a.o b.o. In Java, if a.java references b.java, either b.class or b.java must be there at compile time!

      You're much better off using ant than make. It's faster and more Java-friendly. It will recurse your project directories so you don't have to explicitly list all the class files you wish to generate.

    11. Re:Still an abusive friend by Trejkaz · · Score: 1

      I think what he was talking about was that he didn't have a manifest file with "Main-Class: com.foo.MyMainClass" in it.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    12. Re:Still an abusive friend by Anonymous Coward · · Score: 0

      wow... issues creating a jar file? you must be a tremendous assest to whoever you work for.

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

    2. Re:My impressions by Anonymous Coward · · Score: 1, Informative
      Java Desktop is gnome with a new theme.

      No, it's not. JDS is a Linux distro. It has a number of EMS tools, the J2RE, various non-free plugins (eg, media players), several desktop utilities written in Java, etc.

      People who think JDS is just "GNOME" or "SuSe" haven't used it. It's a unique distro. Definitely has that "we are serious about this in corporate environments" feel.

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

    2. Re:Java footprint too large for ubiquitous usage by Trejkaz · · Score: 1

      If you're so desperate for a shared VM, you could always use JShell, or any number of similar solutions people have implemented, mostly for the purpose of running Java daemons.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    3. Re:Java footprint too large for ubiquitous usage by sbrown123 · · Score: 1


      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.


      True. Version 1.6 of java is suppose to finally solve this issue. There are serious concerns that have to be addressed: namely security and stability. If I have two apps running on the same VM it is possible that they could one could crash both or look into the other ones memory space. Kinda icky. .NET has no solution for this problem. Unless you are talking of compiling to an exe? Another interesting note about .NET is the incompatibilities between the versions. A 1.0 app cannot run on 1.1. Also, you are unable to have two different virtual machines on your box.


      priority for Sun, and instead we'll see .NET/C# rule the desktop. Hope Sun proves me wrong.
      .NET will probably rule the desktop...on Windows! Seriously, .NET will rule Windows XP and Longhorn. Not much of a question there. Its those damn Mac and Linux people who will benefit from a Java desktop I believe. If the Java desktop matures at a level equal or greater than Gnome or KDE we may get a super hybrid Linux desktop that will rule all platforms.

    4. Re:Java footprint too large for ubiquitous usage by Anonymous Coward · · Score: 0
      Decaff wrote: note 'maximum' of 64MB per application, but there is no reason why an app needs to use anything near that

      Like the other post to this parent (which described the memory requirements of a full-color scanned page), I work on a Java app that can easily require more than 64 MB of memory. MegaMek is a game played on a full color a hex-based map. The standard map size is 16 hexes by 17 hexes, and each hex is 84 pixels by 72 pixels (with 4 byte color/alpha depth), for a total of 6,580,224 bytes per map (call it 6.25 MiB). If the players select 4 sheet by 4 sheet map, the game requires 100 MiB of memory for the map alone.

      Yeah, I guess that us poor dumb programmers could be more efficient with our coding, and not draw the entire map sheet in off-screen memory, and just draw what's needed to show the current window of the map to the player, but we're still working on getting all the basic rules implemented, and are putting off performance optimazations like this until later. Similarly, we've recently implemented a zoom function that complicates the process of calculating what has to be drawn somewhat, and adds to the memory requirements (we're rather not scale each image on each draw, and caching the images multiplies our memory requirements).

      The point I'm trying to make is that some problem domains that just don't fit into 64 MiB of memory, and many of those pertain to desktop apps (like games and/or image manipulation programs).

    5. Re:Java footprint too large for ubiquitous usage by jsherring · · Score: 1
      New machines are purchased with around 512MB of memory. That is enough to run more than 10 copies of this app

      Ouch! That's a developers' cardinal sin: to assume everyone has a machine with the same specs as theirs. When deploying an app for 'ubiquitous usage' you have to consider the older machines too, and that can mean less than 64MB.

  11. Java worms soon to come. by Anonymous Coward · · Score: 1, Interesting

    As they add more features and functionality I fully expect them to encounter the same problems that Microsoft has. With tighter desktop integration the risk of bugs and malicious actvity also increases.

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

    1. Re:Java worms soon to come. by molarmass192 · · Score: 1

      Won't happen, know why? The Java security sandbox. In 50 words or less, if you don't launch the app, it has no avenue for propagating itself since a) there's no file I/O available, b) no way of spawning an external process, and c) no pointers so it's impossible to exploit a buffer overflow. The only malicious Java code I've run across in almost 10 years now was in the form of a trojan. Even then, the trojan can't self replicate (see above). Conversely, MS conveniently included memory pointers in .NET, hell, they even added them to VB.NET to make life easier for the script kiddies. Now, you wanna bet there's at least 1 unchecked buffer to exploit in there somewhere?

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    2. 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.

    3. Re:Java worms soon to come. by RatRagout · · Score: 1

      The again Visual Basic had this years ago: "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"

    4. Re:Java worms soon to come. by Bert690 · · Score: 1
      More FUD based on no evidence. Java has not been slow for years.

      Unless you use Swing, which is a critical component for writing desktop apps unless you resort to non-standard libraries.

      Sun, swallow your pride for just a second and deprecate Swing (yes, ALL of it!). Then adopt SWT instead and you'll be doing the community a huge service. It's no surprise that the only usable desktop Java apps I'm aware of use SWT. In addition to Eclipse which most here are probably aware of, take a look at Azureus for example. I'd love to see someone port Azureus to Swing as an exercise to demonstrate just how bad Swing really is in comparison.

    5. Re:Java worms soon to come. by Decaff · · Score: 1

      Unless you use Swing, which is a critical component for writing desktop apps unless you resort to non-standard libraries.

      Why can't slashdotters be up to date?

      SWT is good, but sometimes its useful to have a consistent look and feel across all platforms (saves on user guides, for example).

      Swing isn't slow anymore. It was really dreadful and unusable years ago, but there were major performance enhancements under Java 1.4, and Under 1.5 the native code for your apps is cached on disk. Next time you start, you are running Swing as compiled code.

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

    8. Re:Java worms soon to come. by Decaff · · Score: 1

      I remember the same things being said about C++ in the 1980s.

      You have to keep up-to-date in the IT industry. What was true a couple of years ago is now out-of-date.

    9. Re:Java worms soon to come. by Bert690 · · Score: 1
      Why can't slashdotters be up to date?

      My criticism stems from significant experience developing GUIs with Swing under v1.4, which is the latest non-beta release. And sorry, Swing is still dog slow for anything but trivial GUI stuff (e.g. menus and dialogs).

      Maybe it's "good enough" in 1.5 but I doubt it. The problem is one of poor design choices (e.g. object-creation-happy apis), and all the kludges in the world (e.g. caching compiled native code) are unlikely to change that.

    10. Re:Java worms soon to come. by thakadu · · Score: 1

      I agree with you Decaff. Recently I have been working on a project involving a lot of java dev under 1.4.2 and I was pleasantly surprised at the performance as compared to previous versions (1.1 to 1.3). I am also factoring in faster hardware and find that the difference between Windows and Java apps has closed (at least on XP).

    11. Re:Java worms soon to come. by Anonymous Coward · · Score: 0

      Well I use IDEA every day, and I can tell you that I can see it redrawing menus and forms all of the time.

      I write a lot of JFC code, and any non-trivial usage of Swing requires considerable exercise to abate performance problems.

      Do you know why Swing is so especially slow? Is it because it's written in Java? No. It's because its entire design is inefficient, and the implementation is poor and buggy. JITed or cached native code? Who cares, if the algorithms are bad it could be written in hand-crafted x86 assembly and still be a piece of shit.

    12. Re:Java worms soon to come. by Mindbridge · · Score: 1

      I also have "significant experience" and this is not what I've seen. I guess it depends on how one codes the application, uses models, etc.

  12. 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."
  13. 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.
    1. Re:Name mistake by SocietyoftheFist · · Score: 1

      I think their might be issues with that naming. Linux is a registered trademark and I think Linus might have issues with a naming that implied it was THE Linux Desktop System

    2. Re:Name mistake by Anonymous Coward · · Score: 0
      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).

      Yeah, just like Red Hat acknowledges GNU... oh wait up, they fucking don't.

      You Sun bashers are inconsistent which makes you comical just like your harpy queen on Groklaw.

    3. Re:Name mistake by Anonymous Coward · · Score: 0

      "Harpy Queen"...that's a good name for "PJ", the shrill voice of the fREE sOFTWARE community. Thanks for sharing that little tidbit with us, sharing feels good, doesn't it?

    4. Re:Name mistake by mz2 · · Score: 1

      Because Sun has a strong brand in Java (which certainly does not only consist of a programming language) that it is using in promoting its desktop product, as it should. And Linux in their view is just the platform _for now_ (the additional tools they have built onto their Linux desktop product are built on Java, naturally, e.g. their media player). Which is rather natural for a company that has an own, long-standing and succesful (at least used to be :) flavour of unix available for multiple hardware platforms...They could change the kernel and the simpler ones of us wouldn't even notice (not quite yet on x86, because of the lack of hw driverts).

      Besides, a company using a GPL'd program completely legally in their product is not obliged to be politically correct with the community by their naming conventions. Their contributions to the open source community speak rather clearly for themselves, and they should not be mistaken for a let's-just-be-evil company because of their rather complex policy on Linux and open source.

    5. Re:Name mistake by squiggleslash · · Score: 1
      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).
      It would be somewhat ironic if Sun felt obliged to include Linux in the name for these reasons given the hostility the OSS community has against the acknowledgement of GNU.
      --
      You are not alone. This is not normal. None of this is normal.
    6. Re:Name mistake by Waldmeister · · Score: 1

      As legend has it, once a customer asked his Sun sales rep. "You know, IBM is very busy with Java. Do you do something with Java, too?"

      Maybe Sun's marketing heard this, too, when they thought about a new brand name for their software products. ;-)

  14. Sun's Take by Agret · · Score: 1, Informative

    Is this Sun's take on WHATWG and XAML? I never really liked Java beacuse it runs so slow in the current virtual machines, with the annoucement that it may go open-source, and if it does, we may see better virtual machines and this technology they are developing now could be very good.

    --
    Have you metaroderated recently?
    1. Re:Sun's Take by lokedhs · · Score: 1

      Have you used the latest versions? 1.4.2 or even 1.5? In fact, Swing feels faster than GTK on my current machine. I have not made any benchmarks, but it's just the feeling I get. In any case, to me that is proof enough that Swing has finally become "fast enough".

    2. Re:Sun's Take by gray+peter · · Score: 1

      Who says it's too slow? That may have been true 5 or 6 years ago, but have you tried it lately? 9/10 of the time any sufficiently complex java application will run perfectly fast. It's usually poor programming that makes code run slow, not the VM.

      --
      May no camel spit in your yogurt soup.
    3. Re:Sun's Take by Decaff · · Score: 1

      I never really liked Java beacuse it runs so slow in the current virtual machines.

      It doesn't.

      It hasn't run slow for years, since reasonable JIT/hotspot acceleration arrived in Java 1.3 many years ago.

      To quote from "Performance of Java vs C++" by J.P.Lewis:

      "Java is now nearly equal to C++ on low-level and numeric benchmarks. This should not be surprising: Java is a compiled language (albeit JIT compiled)."

      The paper then goes on to investigate why the myth of Java slow speed persists.

    4. Re:Sun's Take by Trejkaz · · Score: 1

      You're absolutely right, there. The problem is that there are good Swing developers and there are shit Swing developers. It's just that unfortunately, the shit developers, who seem to be unaware of Swing's single-threaded application model, seem to be the majority at the moment, so you get all kinds of applications which pause during rendering because they're performing some other work from the wrong thread.

      But certainly comparing the two competing APIs using an app written with each by the same developer, Swing runs faster than SWT/GTK.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  15. 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

    1. Re:Misinformed by lokedhs · · Score: 1
      Startup times are pretty good with java these days too. Running a hello world (which should consist of pretty much only startup) takes 0.150 seconds on 1.4.2 and 1.116 seconds on 1.5.

      This is on an Athlon XP2400+ machine running Fedora Core 2 (kernel 2.6.5).

      This is obviously a lot slower than a C program (no surprise there) but it's still fast enough to give you an "instantaneous feeling" when running an application.

    2. Re:Misinformed by khuber · · Score: 1
      That's interesting. I would have expected your system to be a bit faster. Maybe I am just cached from repeatedly running this.

      My system (p4 2.53G / 512MB) runs the following program in .05 seconds with 1.5.0-beta2.

      public class Hello {
      public static void main(String[] args) {
      System.out.println("hello");
      }
      }
    3. Re:Misinformed by Anonymous Coward · · Score: 0

      My Athlon tbird 850Mhz runs the same Hello test in 0.035 sec. Your system might not be set up properly. I run java all the time so I might have a few libs in cahce memory. But it still does not explain why you system is slow.

    4. Re:Misinformed by Anonymous Coward · · Score: 0

      My Pentium Pro 200 mhz runs the same Hello test in 0.014 sec. Your system might not be set up properly. I run java all the time, so I might have few libs in cache memory. But it still does not explain why your system is slow.

    5. Re:Misinformed by lokedhs · · Score: 1
      Come to think about it, I'm sure I had those times before. Most likely it changed after upgrading to Fedora 2 (2.6 kernel).

      Are you running 2.4?

    6. Re:Misinformed by khuber · · Score: 1

      Yes I'm still running 2.4, 2.4.22.

    7. Re:Misinformed by SenseiLeNoir · · Score: 1

      Does the new versions of the JRE cache the JIT comiled native classes? that woudl increase speed further. But yeah, i dont think Java is "bad". I know complex applets can be slow at times to startt up due to the security checks.

      --
      Have a nice day!
    8. Re:Misinformed by lokedhs · · Score: 1

      Interesting. Before I upgrade the next Fedora box, I'm going to benchmark this before and after the upgrade.

  16. 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 johnnyb · · Score: 1

      "I suspect that to make Java truly viable on the desktop it would be necessary to have true VM sharing."

      I doubt that's the real problem. I think the bigger problem is just the super-object nature of it causes things to be large, especially since "everything is an object".

    3. Re:Your wish shall be granted. :-) by lokedhs · · Score: 1
      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.
      There could be a lot of shared memory there, you really can't tell wether that happens using only the tools you mentioned.

      IIRC Solaris has a command called pmap which can be used to see this. My Linux box seems to have that command too but it doesn't seem to do anything.

    4. Re:Your wish shall be granted. :-) by Anonymous Coward · · Score: 0

      Other languages which makes use of object-orientation do not exhibit what you suppose is the cause. In systems like scheme and lisp for example, there are no primitives at all.

      All in all, VM sharing is going to be significant. Eclipse development is by and large VM sharing in an artificial manner. The ability to hook apps together and have them communicate as objects as opposed to something more artificial like signals (ala emacs and friends) results in a fantastic system to develop software in. I can only imagine what a real VM sharing system would result in especially if it goes beyond simply sharing class information but discovery of what else is running.

    5. Re:Your wish shall be granted. :-) by AaronGTurner · · Score: 1

      "511MB, 288MB, and 276MB (the first one is eclipse" Sort of explains why eclipse 3 runs like a dog on the 384MB machine on my desk at work. I like it because it is cross-platfrom across Solaris, Linux, Windows (and others). But it is such a memory hog.

    6. 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.
    7. Re:Your wish shall be granted. :-) by Kunta+Kinte · · Score: 1
      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?

      No, I think he meant something more in the lines of Dynamically Loaded Classes as Shared Libraries: An approach to Virtual Engine Scalability. Open called "JVM Sharing", try searching javalobby.com.

      This is first on my wishlist for Java. Sorely needed. BTW, this is a JVM optimization so anyone can add this to they JVM without breaking compatibility.

      --
      Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
    8. Re:Your wish shall be granted. :-) by Decaff · · Score: 1

      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.

      The basic usage of the Java 1.4 VM isn't huge - its around 8 MB.

    9. 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!
    10. Re:Your wish shall be granted. :-) by Trinition · · Score: 1

      ...each JVM you run still takes the same amount of space, unless they say otherwise on a different web page

      Actually, the J2SE 1.5 New Features clearly state that footprint is in fact reduced.

    11. Re:Your wish shall be granted. :-) by hendridm · · Score: 1
      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.

      Microsoft has the resources to make that happen. I can easily imagine people saying such things about Internet Explorer when Netscape was king. I can see it now - reports of it snowing in Redmond in July.

    12. Re:Your wish shall be granted. :-) by Anonymous Coward · · Score: 0

      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.

      The Open Source JDistro does real VM sharing already - by default it runs with it's own 'desktop' window, but can be configured to use the native desktop as well.

      www.jdistro.org if I remember right.

      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.

      Not necessarily - if the VM is using multiple classloaders, several versions off the same class could be loaded and running at the same time.

    13. Re:Your wish shall be granted. :-) by lokedhs · · Score: 1
      Other languages which makes use of object-orientation do not exhibit what you suppose is the cause. In systems like scheme and lisp for example, there are no primitives at all.
      Lisp certainly has primitives. They are more integrated in the system, but they are still primitives.

      They are primitives just like they are in Java. If they weren't, you'd be able to have two variables ponting to the name number, and then change it using (setf). You can't do this.

    14. Re:Your wish shall be granted. :-) by FatherOfONe · · Score: 1

      Yep Internet Explorer runs great, and is compatible with everything on the Mac.

      Oh yeah it runs great on Linux and Solaris also.

      Look at Microosft's past at supporing other operating systems. They will never support anything that will damage their cash cow of Windows and Office + Server.

      --
      The more I learn about science, the more my faith in God increases.
    15. Re:Your wish shall be granted. :-) by FatherOfONe · · Score: 1

      I agree with you for a server app, but if you want a bunch of little desktop apps like,
      calculator
      notepad
      zip program
      image viewer
      network browser
      etc....

      All those open at the same time would be somewhat significant on a desktop machine.

      IMHO both of these will be huge for Java on the desktop. The ability to hook in the OS will be nice and the ability to share some of the VM between apps will also be nice. My only concern is stability.

      --
      The more I learn about science, the more my faith in God increases.
    16. Re:Your wish shall be granted. :-) by Anonymous Coward · · Score: 0

      I can't tell if you're agreeing with me or not, but it has been filed in the "pointless reply" file, also known as the trash.

  17. 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.
    1. Re:Another Desktop API? by aled · · Score: 1

      You are wrong. This is just a library, it's not part of standard libs of the language. So this isn't fragmenting anything. And Sun can't prevent (why would want?) anyone to make their own libraries, as long as they don't change the standard base library, like SWT which works on Java, you choose to use or not. That may do a little fragmentation, but it does run over Java anyway. It's not like J++ which changed the language with propietary reserved words.

      I agree somewhat with the last part: what Sun should do is not open or close, but make a better implementation, which Apple's one seems to show is possible.

      --

      "I think this line is mostly filler"
    2. Re:Another Desktop API? by Decaff · · Score: 1

      I am thinking anything is better than Java in the hands of Sun.

      Why? Sun have kept the core of Java and the bytecode stable while opening up parts of the spec so that other companies have been able to offer a variety of APIs. What is your problem? You don't have to use any of these APIs if you don't want to. You can write as many Swing or SWT apps as you like. You can even combine them into one program. If you have an issue with what Sun has done, you can write your own alternative.

    3. Re:Another Desktop API? by razmaspaz · · Score: 1

      Everything you said is correct. (Sort of). But let's not kid ourselves here. SWT is a deliberate attempt by IBM to fragment the Java community. IBM did not releae SWT out of the goodness of their heart. They did it because they saw an opportunity to profit. IBM wanted a platform to release applications from and Microsoft was not an option. Java was an obvious choice because of WebSphere. Swing was a piece of junk, so they created SWT, fast, pretty and stable(A foriegn concept for java on the desktop). This had the added advantage of not being owned by Sun. IBM can develop apps that do not use any sun tech now. And they do not have a standards body controlling SWT (MS.Net anyone?). So sun sees that Swing is crap. They need an alternative for their desktop developers or they will get left in the dust with Java Desktop. What else can they do but create this JDesktop stuff? What do we have now? SWT/IBM desktop, JDesktop/Sun, Windows J++/MFC Desktop, and then The standard Swing desktop. Java not fragmented? That's 4 different desktops. Not including AWT. You are right you do not have to choose to use either of these API extensions. You can just use Swing. But the minute you wake up and realize your UI'ssuck you will have to pick one or the other for your app. Then you are locked into either the Java desktop or SWT. Neither of which is standards based. FRAGMENTATION!

      --
      I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
    4. Re:Another Desktop API? by Trejkaz · · Score: 1

      The only half-decent SWT implementation is in GTK (I say half decent because it is slow as fuck, and isn't Qt).

      The JDS, which is built on GNOME, which is also built on GTK.

      So SWT apps would not only work, they would style just like any other GTK apps running on that GNOME desktop.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    5. Re:Another Desktop API? by Decaff · · Score: 1

      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

      This is all wrong. Its an API to integrate with system services. Its completely compatible with SWT and Swing: you can use the desktop components under Swing or SWT. So what if it uses GNOME? Do you need Sun to provide everything for you?

      It makes Java a more unified platform by providing a new API that gives portable access to some useful system services.

    6. Re:Another Desktop API? by Decaff · · Score: 1

      SWT/IBM desktop, JDesktop/Sun, Windows J++/MFC Desktop, and then The standard Swing desktop. Java not fragmented? That's 4 different desktops. Not including AWT.

      Firstly, its 3. JDesktop/Sun is not a separate GUI toolkit - it uses Swing. You are confusing 'Desktop' with 'GUI'.

      Its not fragmented, because (1) noone uses J++ anymore, (2) Swing and SWT can now be used together - you don't have to make a choice.

  18. Always The Outcast by WombatControl · · Score: 1, 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.)

    Even with the increases in processor power, storage, and memory, Java is still atrocious, even compared to interpreted languages like Perl or Python. 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.

    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. Had Java used widgets that didn't look like a throwback to Motif it might have been slightly better. 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.

    The fact is that if Java is to succeed in the desktop it needs to be made much faster, memory footprint needs to be reduced, and it needs to get a consistant and usable set of Human Interface Guidelines. 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.

    Java has a nice niche as an enterprise-level web applications language, but as a desktop programming language Java isn't neither well-regarded nor particularly useful. Now that you have other languages like Python (which beats Java for RAD tasks hands down) or .NET (which has the advantage of both Windows.Forms and Gtk# as well as an extensive class library), whatever Sun does to make Java a desktop programming language is probably too little, too late.

    1. Re:Always The Outcast by Anonymous Coward · · Score: 1, Informative

      Native widgets? I dunno, I wanna write a weird word processor and the Swing text system is the only thing I've found with the flexibility I need. Every little piece is out in the open, I can swap out the core storage model which has a minimal interface, and all the rest works on top of it. Swapping all that for the Windows Richtextbox just ain't gonna cut it.

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

    3. 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!
    4. Re:Always The Outcast by Joe+Tie. · · Score: 1

      Then don't use these widgets. Use any of hundreds of Swing look and feels

      Hundreds? Have a link handy? Is there anything like kde-look.org out there for swing look and feels? I havn't looked into Java in a couple of years, but never saw more than a handfull that were more than minor color changes. With the whole .net Vs. Java debate I've been thinking about taking another dive into Java, and a nicer look would go a long way to making that more pleasent for me.

      --
      Everything will be taken away from you.
    5. Re:Always The Outcast by Mant · · Score: 1

      I think a big problem is most people's experience of Java apps is they look horrible and run slowly.

      Maybe you can write fast, nice looking Java apps, but until that becomes more common, users and developers will stay away becuase of the perception of them.

      We use some Java apps at work, and I've yet to use one that start quickly, and doesn't have horrible looking interface.

    6. Re:Always The Outcast by Decaff · · Score: 1

      Here is a start:

      http://www.javootoo.com/

  19. Oh the irony... by DaneelGiskard · · Score: 1

    Java...write once...run ever...on Java Desktop ;-)

    1. Re:Oh the irony... by Trejkaz · · Score: 1

      Well this is probably just a thought, but if the integration API is open, then we can surely implement the API to work on vanilla GNOME and KDE. We would just use the KdeJava and JavaGnome projects to provide whatever tinkering we need to do, right?

      I guess it could be something to play with. I've been missing an officially-supported way to interact with the desktop for a while now... starting from the basics of the system tray icon and working on up.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  20. 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 neurojab · · Score: 1

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

      If you look at WebSphere, you'll notice there's support for "shared libraries", which allow "applications" to use certain sets of classes isolated from other applications.

      The "Java OS", at least from a server perspective, is really an application server.

      I'd agree that this functionality is missing on the desktop, however.

      >They should instead work on fleshing out AWT

      SWT, in my opinion, is the widget toolkit of the future. It integrates with existing GUIs quite nicely... has bindings for Windows, GTK, and Motif.

    3. Re:Startup time by Decaff · · Score: 1, Interesting

      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 have. You can.

      and you can sometimes see unpainted gray areas, at least temporarily. They make a bad impression.

      That has not been the case for years. If you see it, its bad coding by the developer.

      They should instead work on fleshing out AWT to include the missing widgets,

      IBM have done exactly that. Its called SWT.

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

  21. Re:Java-less Servers by PierceLabs · · Score: 1

    Strange considering that there are sooooo many Java server applications out there and more being written every day. Weblogic and Websphere aren't 'developer desk'-names for nothing. Java is far more suited to the server than it is on the desktop at this time.

    Java is getting much better on the desktop (FINALLY), but it is most definitely at its best on the server.

  22. Free T-Shirt Give-away by markroth8 · · Score: 1

    Don't forget about the free Java Desktop T-Shirt giveaway for the first 20 screensavers submitted before JavaOne!

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

  24. Good start! by Anonymous Coward · · Score: 0

    ... and a good news. Java's next?

  25. So what? by Anonymous Coward · · Score: 0

    What is wrong with Windows, OsX, Gnome, Curl, Swing, Macromedia, or one of the many other GUI technologies?

    How many times does the wheel have to be reinvented? It's a whole new way to do the same old thing.

    People can only absorb so much before they stop caring. This is just one more new tech thing to wash over my head.

  26. interesting by vmircea · · Score: 1

    I wouldn't expect Java to make something like this, but hey, it's definitely not a bad idea. I've dealed with java a lot in this past year, learned a good deal about it... Although it is not as fast as C / C++ it is a good deal easier to learn and use, and you can do some things easily with it. And this new developement will make it a better tool, in my opinion.

    1. Re:interesting by Pieroxy · · Score: 1

      Although it is not as fast as C / C++

      It is as fast as C/C++. The two limiting factors are startup time (gotta start the VM, gotta let hotspot spot the hot spots) and memory footprint (GC issue, mostly).

      But for runtime, it is as fast.

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

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

  28. Re: Buitiful desktop Java apps by Anonymous Coward · · Score: 1, Informative

    Java is getting much better on the desktop (FINALLY), but it is most definitely at its best on the server.

    Why? Am using Java on the desktop every day, it's fine. Check out some Java apps screenshots.

  29. Re:Java-less Servers by Anonymous Coward · · Score: 0

    i would say that there are tooooo many java server apps out there. my last employer recently migrated from websphere to weblogic, and they are both bloated and fickle. the only way to scale them is to throw more servers at them. and maintaining their configs is a waking nightmare. and don't even get me started about their db connection pools!

  30. 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
    1. Re:Not just Linux by sparkz · · Score: 1
      s/could/will/g

      For all of the above, in a pretty short timescale, I've heard.

      --
      Author, Shell Scripting : Expert Re
  31. Re:I just by Anonymous Coward · · Score: 0

    Just FYI, openoffice doesn't _need_ a java runtime, it can just make use of a sun one if it finds it - means you can drop javabeans and applets into your Writer documents, for example.

    Yes, that sounds like pointless fluff only a PHB could love, so you are right, it basically is just for businesses.

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

  33. JDS soon to become SDS by linuxislandsucks · · Score: 1

    watch since SUn cannot update the Untied Linux kenrel by itself legally(T WSCO group) they will switch out linux fro Solaris in their next release and call it SDS..

    --
    Don't Tread on OpenSource
    1. Re:JDS soon to become SDS by Anonymous Coward · · Score: 0

      Sun has always said they plan for the JDS to run on Solaris (Sparc & x86) [b]and[/b] Linux.

      It is to provid a unified interface between both of its OS product lines. A Solaris JDS end user can quickly move to Linux-based JDS with out ever knowing.

      This is a good thing, why as Sun will put effort into improving Gnome.

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

    1. Re:All for Java, but it still needs time... by SirPrize · · Score: 1

      Replying to self because I forgot to mention about the entire AWT/Swing/SWT debacle. I don't think Swing was a good idea, because it was introducing another level of inconsistency. The GUI objects in desktop apps should look and behave the same, unless they have very good reason not to. SWT and its native objects are definitely a step in the right direction.

    2. Re:All for Java, but it still needs time... by mlk · · Score: 1
      1.5 VM sharing is not great. Maybe one day we will get a good VM sharing.

      application that we developed back in '98 for Java 1.1/1.2, on both Windows and Linux using Sun's 1.4

      Thats not really a completly far test, after updating is it still as bad.

      Note: I'm not disagreeing with the bulk of you message. Its just you should really use a fair test. I do thing 1.4 is almost-ready for end-users. As I think Azureus shows. (All be it using SWT instead of Swing).
      --
      Wow, I should not post when knackered.
  35. Re:Java-less Servers by gray+peter · · Score: 1

    Bah. That's just silliness. Next thing you're going to tell me that PHP is sooooooo much better. There's a reason there are so many java server apps out there --- they work!

    --
    May no camel spit in your yogurt soup.
  36. I think by sethadam1 · · Score: 1

    I think what the original AC meant was that there was talk not long ago about Gnome version 3 or 4 being written to function within Mono, thereby delivering .NET to the Linux desktop via Gnome, which Sun uses. JDS = GNOME = Mono = .NET on Linux couldn't be more wrong, but I get what the intent was.

  37. Re:I just by jkauzlar · · Score: 1

    Java's major strength comes from server-side application programming (web pages), an area where Java has proven extremely effective (not as a language, necessarily, but as a platform). There's been some improvements on Java GUI applications over the years but their GUI system is still a little clunky and bug-prone. The only good reason to install a JRE is to run Applets, which are clunky webpage embedded GUI apps from before the Flash days. Applets are common on educational websites for demonstrating ideas or offering dynamic calculation/visualization tools. Other than that, they're not being used much either.

  38. I'd be happy if by zangdesign · · Score: 0

    they'd just do something about the speed. Java runs like ass on my 500-mHz iBook. I finally gave up on Java apps looking like ass, because there's nothing I can do about that, but if it would just run faster, I might actually start taking it seriously.

    --
    To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
  39. Read The Friendly Article by M.+Baranczak · · Score: 1

    You completely misunderstood what this library does. It is not a replacement for AWT/Swing/SWT (that is, a GUI widget library). From what I've seen, it's a set of high-level utilities to help a Java app communicate with the native desktop environment. For example, there's one function to open a URL in the user's default application. Also several classes for managing the desktop environment's file type associations. Until now, there's been no platform-independent way to do this in Java. (Though I still don't know just how platform-independent it is... they mention Windows, Linux, and Solaris - nothing about MacOS.)

  40. Where is the security? by StonyUK · · Score: 1, Insightful

    I don't see any documentation about how requests to launch applications will be validated.

    What is to stop a malicious java applet from registering an action that is executed via /bin/sh and then opening a payload script?

    Is JDIC restricted to applets running on the local machine, or could any old web page host an applet that could launch documents for you?

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

    2. Re:Where is the security? by Trejkaz · · Score: 1

      I probably don't understand what your concern is, but wouldn't you just use the same mechanism you use for anything which is Java-based? That is, if the location the jar file came from isn't trusted, you don't let it access protected stuff. If you want it to, add its location to your security policy.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  41. The demoes doesn't work... by Anonymous Coward · · Score: 0

    None of there demoes worked on my computer. I am running Mandrake 10.0 and are using jdk 1.4.2_03.

    The browser demo could not start and the file explorer had no right click menu.

    Too bad I was looking for a browser to include in a java project.

  42. No JVM sharing in 1.5 by Kunta+Kinte · · Score: 1
    I enjoy working with Java too, far better than the alternatives in my opinion.

    I posted this earlier, but I don't believe 1.5 has JVM Sharing, someone correct me if I'm wrong.

    1.5 has a Class Data Sharing startup optimization. That's not quite JVM Sharing, which is described in Dynamically Loaded Classes as Shared Libraries: An approach to Virtual Engine Scalability

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  43. 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!

    1. Re:Sun is feeling the heat........ by Pieroxy · · Score: 1

      look at GNOME and KDE - there has been so much innovation coming out of them

      What kind of innovations are you referring to? Cloning Appl/M$ already existing UI?

  44. Not much worse, really. by Trejkaz · · Score: 1

    That basically isn't much worse than what we have now, where naive users refer to "Mandrake Linux 9.0" as "Linux 9.0" on forums.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
    1. Re:Not much worse, really. by SocietyoftheFist · · Score: 1

      Mandrake isn't calling themselves Linux 9.0.

    2. Re:Not much worse, really. by Trejkaz · · Score: 1

      Did I say they were?...

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    3. Re:Not much worse, really. by SocietyoftheFist · · Score: 1

      ...and I wasn't talking about users, but companies and brand names.

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

  46. Jikes, man, Jikes! by Anonymous Coward · · Score: 0

    Good god, try jikes....

    1. Re:Jikes, man, Jikes! by khuber · · Score: 1

      I've had too much trouble with jikes not working correctly, invalid class format errors and the like, and it also lags javac with regards to features. Otherwise I use the incremental compiler in Eclipse which has worked very well.

  47. better a troll than a mug by x3ro · · Score: 1

    How is it trolling to say "It has nothing to do with Java"? Is it trolling to debunk marketing bullshit now? :S

    --
    [ UNSIGNED NOT NULL ]
  48. Snicker. by Trejkaz · · Score: 1

    I concur. Those capitalist pigs should rename Fedora Core to Fedora GNU/Core, post-haste.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  49. Re:What the hell can I even write in the subject l by N1KO · · Score: 1

    When I want to install a program that uses a language other than Java, I type 'emerge program'. When I try to install a Java program, emerge tells me I have to go to sun's website, download some huge file, install that and then I can install the program I care about.

    Then, as you mentioned, there's the whole freedom to set things up idea. I have to download and install things like Swing even if I don't want them. Nothing else in my system works that way so I can't understand why Java does.

    It just seems they wanted to make things annoying for no particular reason. It isn't that hard to install but it doesn't seem to be worth the effort.

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

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

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

  53. proponents of proprietary platforms by dekeji · · Score: 1

    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)

    Yes, and Microsoft has been a proponent of developing desktop apps in Windows. That's because it is valuable for a company to popularize a platform that they control. Since Sun can't get a lot of commercial developers of desktop software for Java, they do the next best thing--they try to sweet-talk open source developers into using it.

    But that's a bad idea for open source developers. Java is not "platform independent", as Sun likes to pretend, Java is a platform, a platform that is more tightly controlled and owned by Sun than Windows is controlled by Microsoft; you can't even take a look at the specifications for Java without a licensing agreement from Sun. Java does not augment Linux or Windows or OS X, it replaces them with itself--the fact that Linux is open source becomes irrelevant if you develop Java applications for Linux because Java so effectively insulates you from Linux.

    1. Re:proponents of proprietary platforms by pvdl · · Score: 1
      > Java is not "platform independent",

      My Java programs run on Linux, Mac OS X, Solaris, my cell phone, AIX, and that other OS, Win-something. That is what I call "platform independent". What's your definition?

      > you can't even take a look at the specifications
      > for Java without a licensing agreement from Sun.

      Here is the specification for Java
      http://java.sun.com/docs/books/jls/second_ed ition/html/j.title.doc.html

      It has been online, free, and free to implement for at least the last 7 years. No licensing agreement required.

      > Java does not augment Linux or Windows or OS X,
      > it replaces them with itself

      No. Java programs are applications just like other programs. They require the OS to run; they do not replace the OS.

      > the fact that Linux is open source becomes
      > irrelevant if you develop Java applications for
      > Linux because Java so effectively insulates you
      > from Linux.

      This statement is too confused for analysis.
      So you're batting zero-for-4. Not good.

      Java version 1.5 comes out at the end of this month. It's in beta now (freely downloadable) at
      http://java.sun.com .

      It has many features to speed up desktop programs and is well worth a look. Most of the runtime library is shared between all Java VMs and memory-mapped into process address spaces (read: speed). JVM sharing is in advanced development in Sun Labs. Try to look past the FUD of the ignorant.

      Peter
    2. Re:proponents of proprietary platforms by dekeji · · Score: 1

      Here is the specification for Java [link]. It has been online, free, and free to implement for at least the last 7 years. No licensing agreement required.

      Well, great, now move your mouse a little and click on the Copyright link on the very same page you point to. On it, you will see that Sun gives people only a "limited license" to the specification and permits you to implement it only under specific circumstances. The license is also "non-transferable". Furthermore, Sun states that they may have patents on the contents of the specification. That is not a "free" specification, and it is certainly not "freely implementable".

      My Java programs run on Linux, Mac OS X, Solaris, my cell phone, AIX, and that other OS, Win-something. That is what I call "platform independent". What's your definition?

      If I write Java applications, I am dependent on Sun and/or its licensees, just like if I write Windows applications, I am dependent on Microsoft and/or Microsoft's licensees. All of your and Sun's marketing blabber about "platform independence" is just a smokescreen to hide this basic fact: using Java just replaces a dependency on Microsoft with a dependency on Sun.

      Java version 1.5 comes out at the end of this month. [...] It has many features to speed up desktop programs and is well worth a look.

      Well, I don't see what that has to do with the observation that Java is highly proprietary. But since you bring it up, in my opinion, the JDK 1.5 release also shows how far behind Java is technologically.

      Try to look past the FUD of the ignorant.

      People just need to look at Sun's licensing terms: they speak for themselves.

      And you have some gall accusing people of FUD, given the statements that have been coming out of Sun's marketing machinery about open source, Microsoft, Gnome, and Linux.

      What I can't figure out about people like you is whether you actually believe the nonsense you write about Java licensing or whether you are actively trying to deceive people. But after so many years, it really doesn't matter: at this point, neither you nor anybody else at Sun has any excuse anymore for misrepresenting Java's licensing terms, as you keep doing.

    3. Re:proponents of proprietary platforms by pvdl · · Score: 1
      Try reading the document. Here, let me spell it out for you:
      "Sun Microsystems, Inc. (SUN) hereby grants to you a fully paid, nonexclusive, nontransferable, perpetual, worldwide limited license (without the right to sublicense)"

      Now, how much did you pay for that? $0. It is free. Since you are so worried about the license being non-transferable, let me clue you in - that means you can't transfer your license to me on different terms. God! I hate it when you have to correct people who obviously have never dealt with software licenses in their professional life.

      > If I write Java applications, I am dependent
      > on Sun and/or its licensees,, just like if I
      > write Windows applications, I am dependent on
      > Microsoft

      Well, there are a few significant differences between "Sun and its licensees" and Microsoft.
      I will leave you to learn these on your own.
      And cut the nonsense about "blabber" - it's unprofessional and makes you unworthy of attention.
    4. Re:proponents of proprietary platforms by dekeji · · Score: 1
      Now, how much did you pay for that? $0. It is free.

      Why are you changing the subject? I took issue with this claim:
      No licensing agreement required.

      But in order to practice the specification, you do need a licensing agreement, and a licensing agreement that imposes strong and specific conditions on who can implement Java and how they can implement it. It is those restrictions that create problems.

      As for the term "free", you know full well that the term is (and has always been) ambiguous: it can mean "no cost" and it can mean "without restrictions". The main thing that is "free" about the Java specification is that you can read it at no cost, but the standard fails to be "free" in pretty much any other practically useful sense. It is your and Sun's responsibility to be unambiguous and clear when describing the terms under which the Java license can be practiced, but instead it looks like you are deliberately playing on the ambiguity of the term "free" in order to create the false impression that a proprietary standard is one that anybody can implement without restrictions.

      Since you are so worried about the license being non-transferable, let me clue you in - that means you can't transfer your license to me on different terms.

      No, it obviously means that I can't transfer the license at all, not even on the same terms. And that means that, in the future, other people may not be able to get the specification under the same license.

      Furthermore, even if one were willing to accept the numerous restrictions the Java license imposes, the "license" as it is is pretty useless: nobody can sensibly base a major software implementation effort on something as ephemeral as an unsigned statement on some web site somewhere. Among other things, anybody seriously embarking on an implementation of Java would need signed statements from Sun guaranteeing a license to use Sun's numerous patents on Java.

      God! I hate it when you have to correct people who obviously have never dealt with software licenses in their professional life.

      You haven't "corrected" me, you have just given us more of the same marketing BS and misleading language that have come out of Sun for so long.

      And cut the nonsense about "blabber"

      I will, since you have made it clear that your statements about Java licenses are, in fact, calculated and deliberately misleading, rather than merely confused talk.

      Well, there are a few significant differences between "Sun and its licensees" and Microsoft. I will leave you to learn these on your own.

      That would amount to expending effort on discovering which of the two companies is slightly less deceptive, slightly less evil, and slightly less proprietary.

      Why bother? I want to be tied to neither company's proprietary platform. Fortunately, we have other choices, choices that are actually free and non-proprietary in every sense of the words. And, given the sorry state that Java is in technically, those platforms are also technically preferable. At this point, the only thing Java has left going for it is a certain, moderate popularity.
  54. 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.

  55. Integration... by hachete · · Score: 1

    the only integration you need is cut'n'paste - the rest os moonshine. Bah. Grumps.

    (This could either be considered "troll" or "insightful". Ooh. Tight corner, mods.)

    Still, at least they're using something akin to a decent license. I hope to see these things integrated *into the shell* in due course.

    h.

    --
    Patriotism is a virtue of the vicious
  56. Re:What the hell can I even write in the subject l by Anonymous Coward · · Score: 0

    Don't be intentionaly stupid

    Sun java is the worst of both worlds - stupid licensing prevent inclusion in distributions, and there's nothing to "tinker" with - the separate download is locked down via licensing so no one but suns can work at improving it

  57. Re:What the hell can I even write in the subject l by N1KO · · Score: 1

    The point is as an end user I don't care about Java, I only care about the program I want to install and I only want to install its dependencies. Java should integrate into my system and work the way my system works, not the other way around.

  58. Memory matters by gillbates · · Score: 1

    note 'maximum' of 64MB per application, but there is no reason why an app needs to use anything near that

    I used to say the same thing about the 64kB limit when working in assembly. It turns out that while I had no problem fitting the program code in the 64kB limit, my users wanted to work with data which was much larger than that.

    A full page scan of a magazine cover at 300 dpi true color is around 256MB. Since multimedia has been Window's selling point for the past 10 years, I imagine that unless Sun lifts the 64MB limit on app memory, Java will never be known as anything but "The Applet Language"(tm).

    And yes, you can easily work with all of the machine's memory in 32 bit assembly, and even in 16 bit asm. But in 16 bit asm, you had to painstakingly calculate segment and offset addresses if your app was going to work with more than 64k of data - and a lot of programmers didn't like to do this. Because a C compiler would automatically calculate segment and offset addresses, programmers could work with more than 64k of data without having to think about segment addressing problems, and predictably, they abandoned assembler in favor of C.

    --
    The society for a thought-free internet welcomes you.
    1. Re:Memory matters by JimMcCusker · · Score: 1

      Java can easily run with a larger heap maximum. Want to set it to 512 MB? Add -Xmx512m to your Java command line. It's annoying, especially for GUI apps, like you said. I hate it, but it's not a hard limit for Java, just an already running VM. The main reason that value is there is because the current garbage collector needs to know when to start working on collecting garbage. There's an experimental GC that does incremental garbage collection, but it tends to slow the machine down by about 10%.

  59. Re:What the hell can I even write in the subject l by BranMan · · Score: 1


    Because that makes it free as in beer, not free as in freedom. What's to say it can't disappear tomorrow, or get relicensed, or cost money to use? If it is un-free enough that it can't be included in a distro, then it is un-free enough for linux advocates to complain about.

  60. Re:What the hell can I even write in the subject l by Anonymous Coward · · Score: 0

    The point is as an end user I don't care about Java, I only care about the program I want to install and I only want to install its dependencies. Java should integrate into my system and work the way my system works, not the other way around.

    In summary: "I don't want to install Java. It's OK if I have to install extra software components for other programs, but not OK if one of those components is Java."

  61. Re:What the hell can I even write in the subject l by Decaff · · Score: 1

    Don't be intentionaly stupid

    I'm often stupid, but never intentionally.

    As for 'no one but sun improving it'; that's just nonsense. Lots of companies are working on improving the quality of VMs, including HP, IBM and BEA. Features are added to Java by the JCP commitee, not by Sun.

    get a clue - find out the facts before you post.

  62. Re:What the hell can I even write in the subject l by Rick+the+Red · · Score: 1
    After reading this thread, I'm confused. You say the Java development kit for Linux gives the end-user the right to "freely distribute the run-time with your apps." Others complain that they must download the whole Java environment from Sun, it can't come with their favorite distro. So which is it? Is the run-time freely distributable, or not?

    Honestly, folks, if the run-time is freely distributable, then it seems you're comparing the run-time with the development kit. And why wouldn't a distro come with the Java run-time if it's freely re-distributeable (is that a word)?

    And if the Java run-time is not freely re-distributable, then why should anyone code in Java?

    --
    If all this should have a reason, we would be the last to know.
  63. Re:What the hell can I even write in the subject l by Decaff · · Score: 1

    You say the Java development kit for Linux gives the end-user the right to "freely distribute the run-time with your apps." Others complain that they must download the whole Java environment from Sun, it can't come with their favorite distro. So which is it?

    These are not exclusive options. The java runtime is totally freely distributable with your apps.

    The thing is that some distros have particular licences that don't allow things like the java development kit or runtime to be included (for one thing, they are not GPL and they are binary-only).

    Many distros do ship with Java - SuSE and RedHat enterprise for example.

    Is the run-time freely distributable, or not?

    Yes, but it depends what you mean by 'free'. Its not distributable if you decide you are only going to ship open-source software.

    And if the Java run-time is not freely re-distributable, then why should anyone code in Java?

    Because its a good platform for code. This may seem a strange thing to say, but there actually was a software industry before open source!

    Anyway, when you compile using GCC, you are most likely producing Intel or AMD binaries. Intel and AMD chips are not freely distributable, so why compile for them?