Slashdot Mirror


Sun Says Java Source Already Available

mjdroner writes "In an InfoWorld article, Java CTO James Gosling says that source code for Java has been available for 10 years. Gosling claims Java is close to an open source model, though discounts Sun joining the Eclipse Foundation. He goes on to say that Eclipse's endorsement of the standard widget toolkit destroyed interoperability, saying it's based on the windows API, making it problematic to run on other platforms."

304 comments

  1. Oh yeah? by cosmotron · · Score: 5, Funny

    Then where is it, behind a door that says "Beware of Leopard"?

    --
    Ryan - http://www.thecosmotron.com/
    1. Re:Oh yeah? by Kingrames · · Score: 1

      I could continue the joke from the Hitchhiker's Guide to the Galaxy, but instead, I'll just say this to anyone who read the above:

      Go read the book. :)

      --
      If you can read this, I forgot to post anonymously.
    2. Re:Oh yeah? by yic · · Score: 1

      I don't look for sources recently, but when I was working with java 1.3 version, when you download the JDK from them there is a src.jar in there. Inside is the source files for the Java classes. I remember because I checked in there to look at how they'd implemented something at that time.

    3. Re:Oh yeah? by javaisyourfriend · · Score: 1

      Are you aware that Sun is allowing the Apache Software Foundation to create a 100% open source build of java that complies with the official Sun spec?.

      This is the best of both worlds and gives those who want a "Free Software" VM their own VM, while allowing Sun to continue shaping the future of the platform according to outside comments (JCP - Java Community Process, a process where IBM, Nokia, Intel, etc. have a say), but preserving the right to prevent "pollution" of the platform like Microsoft attempted years ago with their windows-only win32 hooks in their Java implementation.

      I think some slashdotters need to read The Inquirer more often... ;-)

      Sun-approved Open Source Java making progress
      http://www.theinquirer.net/?article=30688
      MAR 31, 2006

      Argentina students help Apache's Open Source Java effort
      http://www.theinquirer.net/?article=30689
      MAR 31, 2006

      Apache Foundation to create clearn-room Java
      with Sun's blessing
      Compatible open source J2SE in the works
      http://www.theinquirer.net/?article=23127
      MAY 10, 2005

      About Java based apps, the "Java is a failure on the desktop" is an old MYTH. Java has been getting really nice on the desktop lately, starting with J2SE 5.0 just at the time most systems above 1Ghz are now (finally!) the norm and at a time when 512MB ram is the average.

      There's a lot of java based apps that I run on my linux AND windows desktop and whic I've learned to love:

        http://phex.kouk.de/ http://azureus.sourceforge.net/ http://www.artofillusion.org/index
      http://www.evermoresw.com/weben/product/productOve rview.jsp - http://www.jedit.org/ - http://sourceforge.net/projects/frinika
      http://sourceforge.net/projects/javaamp - http://sourceforge.net/projects/humaitrader - http://sourceforge.net/projects/jgnash/
      http://megamek.sourceforge.net/idx.php?pg=main ...Editors, Music, Office Suites, P2P clients, 3D design, financial apps, games.... you name it, there is one best-of-breed app written in Java. And without having to chase a Microsoft API from behind like it happens with Mono...

      https://mustang.dev.java.net/
      "Sun is releasing weekly early access snapshots of the complete
      source, binaries and documentation for Java SE 6 ("Mustang"). These raw snapshot releases let you review and contribute to Mustang as it is being developed."

      What part of "Source" don't you understand??

      I rest my case.

      Finally about Desktop apps and Swing. Swing is MUCH faster in Java 6.0 (aka 1.6.0), because a lot of stuff is maped to native windows and gnome widgets.

    4. Re:Oh yeah? by int19h · · Score: 1

      "And without having to chase a Microsoft API from behind like it happens with Mono..."

      This is wrong. I've written sourcecode in C# that used Gtk# and Mono. No behind-chasing, and pure open source.

    5. Re:Oh yeah? by javaisyourfriend · · Score: 1

      You say: "This is wrong. I've written sourcecode in C# that used Gtk# and Mono. No behind-chasing, and pure open source." Well, the fact that you *can* write sourcecode in C# that uses GTK doesn't exclude the fact that an app written for .Net, with MSFT tools, will often end up making use of Winforms and other code that the Mono camp has to reverse-engineer and "behind-chase" forever, since they don't have control of the API or platform. That is what you're advocating for - and a Microsoft platform that you're indirectly promoting by perpetuating the myth that .Net is cross platform- by using Mono. Period. You can cry all you want and point fingers of blame at Java because your little Microsoft .net copycat platform doesn't get attention, but truth is, Java and Swing remains the best way to create cross-platform apps. And soon with Apache's open source java VM builds, you'll no longer have an excuse to complain about.

    6. Re:Oh yeah? by int19h · · Score: 1

      > You say: "This is wrong. I've written source code in C# that used Gtk# and Mono. No behind-chasing, and
      > pure open source." Well, the fact that you *can* write source code in C# that uses GTK

      I not only can, this is the way I do it, and all people that use C# on Linux, that I know of.

      > doesn't exclude the fact that an app written for .Net, with MSFT tools, will often end up making use of
      > Winforms and other code

      Yes it does, as they don't often end up making use of Winforms, since it's still very alpha in Mono.

      > that the Mono camp has to reverse-engineer and "behind-chase" forever, since they don't have control of the API or platform.

      I agree with you that the Mono camp might do this, which must be a big disadvantage to them. Luckily, as a user of Mono, I don't have to relate to this. I use the tools without any loss of control. I don't behind-chase anything.

      > That is what you're advocating for - and a Microsoft platform that you're indirectly promoting by
      > perpetuating the myth that .Net is cross platform- by using Mono. Period.

      I have never said such a thing. I'm advocating C# on Linux. Period.

      > You can cry all you want and point fingers of blame at Java

      I've never blamed Java for anything. I actually like Java as a language and a concept, even though it has some flaws. I think you're shooting the wrong person here.

      > because your little Microsoft .net copycat platform doesn't get attention,

      Well, you're actually right about this. A google search show only 96,900,000 hits for Mono, 99,700,000 for C#, and 663,000,000 for Java. The trends are rising for C#, and falling for Java, though: http://google.com/trends?q=c%23%2C+java
      But clearly, Java has more attention. I don't relate to the "little Microsoft .net copycat"-part, though. I use an open-source tool that I can use for whatever I like.

      > but truth is, Java and Swing remains the best way to create cross-platform apps.

      I don't care.

      > And soon with Apache's open source java VM builds, you'll no longer have an excuse to complain about.

      I still haven't complained about that, though, so you're not really speaking to the right person here.

      To sum it up, you wrongly accuse me on a number of things and I still don't behind-chase anything.

    7. Re:Oh yeah? by Phillip2 · · Score: 1

      No, the source has easily available for ages. I think it's part of the standard download. I've used it a number of times.

      There used to be a standard download for the platform (ie the VM and tooling, rather than just the java libraries). Never used that, even when I had it, so I don't know if you can still get this.

      The problem is that "open source" is not enough. The ability to redistribute was what makes Java a total pain in the ass, not tjh

  2. Re:Concerning Java. by Anonymous Coward · · Score: 1, Funny

    So you know nothing, and need to get laid, gotcha.

  3. Re:It's available? by ENOENT · · Score: 5, Informative
    --
    That's "Mr. Soulless Automaton" to you, Bub.
  4. Re:It's available? by lokedhs · · Score: 2, Informative
    Easy, here it is. Direct link to the source is here. However, it's only been this easyly accessible since the Mustang project. And a few years back it was near impossible.

    The situation is pretty good now, but it certainly hasn't always been like that.

  5. Re:It's available? by cecom · · Score: 2, Informative

    Instead of saying anything rude, here is the f*cking link:

    http://wwws.sun.com/software/communitysource/j2se/ java2/download.html

    That said, the license is somewhat less than free :-)

  6. Re:It's available? by AganLex · · Score: 2, Informative

    Its partially available, on a windows system its here:
    C:\Program Files\Java\jdk1.5.0_06\src.zip

  7. Destroyed Interoperabilty? by null+etc. · · Score: 3, Interesting
    Moses, come down from the mountain, please.

    Eclipse has shown that the market can indeed rally around Java optimized for Windows. Prior to SWT, remember running Together on cutting edge hardware, and the windows would still take 30 seconds to refresh? No one would tolerate the idea of running Java on Windows for Java's sake, when native apps absolutely destroyed Java apps in UI speed comparisons.

    It's time for the theoretical niceties of interoperability to meet the practical demands of customer acceptance within the Windows market.

    1. Re:Destroyed Interoperabilty? by 955301 · · Score: 1


      Although it's possible you have a point, I cannot believe you cite Eclipse as an example - that pos halts and leaves you looking at a blank menu bar more times than I care to count. It's mere existence all but trashed what was a great user experience in Netbeans by causing them to chase the competition with the project-centric crap. Project-centric with no subprojects - utter shortsightedness.

      I don't care what anyone says - your IDE isn't supposed to limit your options for setting up a project.

      And performance wise, eclipse is trying to be pluggable ad-nauseum - it doesn't help performance if you're trying to run all of your tools within the same app - what's the point of a multi-threaded os then?

      There's not a lot wrong in Swing that doesn't have a equivalent problem in swt.

      --
      You are checking your backups, aren't you?
    2. Re:Destroyed Interoperabilty? by kfg · · Score: 1

      It's time for the theoretical niceties of interoperability to meet the practical demands of customer acceptance within the Windows market.

      What for, other than for Java's sake?

      KFG

    3. Re:Destroyed Interoperabilty? by Anonymous Coward · · Score: 1, Informative

      Try Intellij.

      It runs cleanly, fast on Windows and Linux.

      Is it free? No. But the relatively small price for a professionally written IDE is well worth it.

      More related to the thread, Intellij is an example of Swing Application that is responsive and has the same look and feel on multiple platforms (specifically, any platform that runs Java 1.4).

    4. Re:Destroyed Interoperabilty? by magicjava · · Score: 4, Insightful

      Eclipse has shown that the market can indeed rally around Java optimized for Windows. I'm not trying slam SWT, but it hasn't really generated much of a market for Java desktop apps. To be fair, Swing and AWT haven't either, but your complaints about Swing being slow is a bit dated. Swing's pretty crisp these days. The problem really isn't the GUI front-end, the problem is Java as a whole has not made much of an impact on the desktop.

    5. Re:Destroyed Interoperabilty? by shutdown+-p+now · · Score: 1

      Swing is faster than it used to be, but it is still noticeably slower than native applications (or SWT, for that matter). And there are other things: for example, I cannot stand Swing applications on my notebook, because they often do not support text antialiasing at all, and those few which do, lack subpixel smoothing (Cleartype and whatnot) support. This is a serious usability issue - I find unaliased text to look extremely ugly on flat panels.

    6. Re:Destroyed Interoperabilty? by Jason+Earl · · Score: 1, Interesting

      Yes, and the only people that are even slightly interested in using Java to create desktop applications are A) those people that are creating Java-related development tools, and B) those folks working on alternative (ie. Linux) desktop applications. However, thanks to Sun's ridiculous Java licensing Mono gets more actual use in the creation of desktop applications than Java does. SWT helps, to some extent, as it is possible today to create SWT applications that run on gcj.

      Sun is eventually going to come to the realization that it needs the Free Software community if it is going to survive. These days you would basically have to be some sort of a zealot to create a desktop application in Java. The Free Software community has the market cornered on zealots, and they all think that Java is evil.

    7. Re:Destroyed Interoperabilty? by Roxton · · Score: 1

      I've run IntelliJ on multiple boxes, and I have to say that its responsiveness is overhyped. The lack of responsiveness of widgets (and accompanying gray paneling) during any load and the crawling pace of real-time error checking, especially with style-checks enabled, makes me want to tear my eyes out. That said, it's a wonderfully designed application.

    8. Re:Destroyed Interoperabilty? by Anonymous Coward · · Score: 0



      gray panels/gray rectangles are no more in Java 1.6 (at last!).

      We had to wait, what, nearly ten years for that?

      But at least once you use Java 1.6 it's a thing of the past. I use IntelliJ IDEA with JDK 1.6.

      Blog entry from a Sun developer on that subject one year ago:

      http://weblogs.java.net/blog/zixle/archive/2005/04 /no_more_gray_re_1.html

      No more gray rect, gone... Bye bye and farewell, I won't miss them ;)

    9. Re:Destroyed Interoperabilty? by Anonymous Coward · · Score: 0

      If a Java application is Windows-optimized (which means clunky and unintuitive on Solaris, OS X, or Linux), where's the benefit of a cross platform language and environment? Isn't one of the major selling points of Java "Write once, run anywhere"?

      You wind up with the choice: produce something that runs adequately on Windows (and horribly on the other 10% of the market) or something that runs well on Windows (and not at all on the other 10% of the market). Unless you're in a niche where you're the only competitor, you're better off investing your effort in a pure-Windows solution; otherwise the native-Cocoa application will eat your lunch on the Mac and the open-source application will eat your lunch on Linux and Solaris.

      And I say this not as a Windows advocate, but as a Mac user who's seen one too many mediocre Java programs with Windows-flavored UIs on the Mac.

    10. Re:Destroyed Interoperabilty? by Com2Kid · · Score: 2, Interesting

      Although it's possible you have a point, I cannot believe you cite Eclipse as an example - that pos halts and leaves you looking at a blank menu bar more times than I care to count.


      Never had that problem with Eclipse, though Netbeans leaves me staring at my monitor waiting for something to happen often enough.

      See, this is the problem with Java's "cross-platform compatibility" spiel.

      Even on the same platform, an application may or may not work properly.

      And speaking of Sun's dedication to client side apps, lets look at the change log just for 1.5.0_06:

      • 6257260 java classes_2d Memory leak on closing JFrame
      • 6182812 java classes_io FileOutputStream constructor throws FileNotFoundException with long file names
      • 5092063 java classes_net Extremely slow socket creation using new Socket("ip-address", port)
      • 4263904 java classes_swing JTextPane: Paragraphs with Justified Attributes Appear Centered
      • 6256473 java_plugin iexplorer To download an applet does not finish for 10 minutes with proxy server and IIS


      And ad nauseum.

      Don't get me wrong, I like Swing and Java in general. (Some of the bugs I listed above are not Swing specific, but they are still /stupid/). Swing is a wonderful API to create GUIs in. Very easy to use for the programmer.

      Woe betide the poor user. Yet, is not the very purpose of client software to serve the end user?

      I am sitting here on a machine with 1GB of RAM and Netbeans 5 is all but unusable. In fairness, previous versions were not nearly so bad. Of course previous versions did not have nearly as many features and niceties either.

      Quite frankly, I love Eclipse. Amongst three of the largest IDEs (Visual Studio, Netbeans, Eclipse) it was the first to have refactoring support (which everyone then went and copied from it!).

      Ah, last week I used the final release version of VS 2005, and now I am stuck on Intellisense. (My reasoning is that Intellisense is needed since the MSDN search engine is so unusable!) Eclipse's auto-complete is a joke in comparison.

      Oddly enough, KDevelop has a REALLY cool auto-complete that finishes off my variable names for me, and since I tend to use long self-descriptive variable names, this is very useful! Anybody know of an Eclipse plug-in that does the same? :)

    11. Re:Destroyed Interoperabilty? by 955301 · · Score: 1

      Idea is pretty big too.

      Regarding eclipse being the first for refactoring support, sorry, no. They just didn't call it that before. Netbeans supported changing a file name in the same manner as the windows explorer - just select the name. Eclipse, you actually have to click the buzzword first: Refactor - rename.

      Netbeans was scuttled in release 4 - it may as well be eclipse at this point - they destroyed everything that was unique and useful about it to drop into project -centric purgatory. Their problem - they put all their weight in developing GUI's first. But their default webapp support was far better than eclipse is now.

      Beyond 3.51, though, yeah, netbeans is garbage. Used to be great though. Wish it would have forked. I'd be on the other branch.

      --
      You are checking your backups, aren't you?
    12. Re:Destroyed Interoperabilty? by misleb · · Score: 1

      More related to the thread, Intellij is an example of Swing Application that is responsive and has the same look and feel on multiple platforms (specifically, any platform that runs Java 1.4).

      Same look and feel on multiple platforms is exactly why I refuse to use Java applications as a general rule. Well, that and the majority of Java desktop apps are unresponsive and SLOW. Azureus, for example, on a Mac is just painful. If I am using OS X, I want my applications to look and feel like Cocoa applications. If I am running GNOME, I want all programs to use gtk+. KDE, qt. Windows, well, whatever the look/feel of the month is.

      As far as I am concerned, Java is an utter failure on the desktop.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    13. Re:Destroyed Interoperabilty? by fishbowl · · Score: 1


      >If a Java application is Windows-optimized (which means clunky and unintuitive on Solaris, OS X, or Linux), where's the
      >benefit of a cross platform language and environment? Isn't one of the major selling points of Java "Write once, run
      >anywhere"?

      There are still benefits. For the most part, you're still using a well-defined, standardized language. Which means you can hire programmers that know the language. Also, you've still got "most" of the software in a portable form, and in a MVC app, you really only have customized the view. And even then, it is likely to essentially be the *runtime* that's been customized for a platform optimization.

      If the language helps you get to the last mile as a result of its standardization and popularity, then it's got benefits.

      It may not be WORA, but it can not be that and still be a hell of a lot more portable than anything else.

      --
      -fb Everything not expressly forbidden is now mandatory.
    14. Re:Destroyed Interoperabilty? by ultranova · · Score: 1

      And there are other things: for example, I cannot stand Swing applications on my notebook, because they often do not support text antialiasing at all, and those few which do, lack subpixel smoothing (Cleartype and whatnot) support.

      This doesn't make much sense. Why would one Swing application support text antialiasing and others not ? They all use the same library, so either them all should support this or none should support this.

      What I'm missing here ?

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    15. Re:Destroyed Interoperabilty? by ultranova · · Score: 1

      Blog entry from a Sun developer on that subject one year ago

      It lies. It says that, thanks to the offscreen buffer, "Your application will no longer see paint events in this scenario!"

      Well, my application (ran on a Mustang build downloaded less than an hour before posting this) first quickly flashes the contents, then goes black (since I've overridden the paintComponent method for my own purposes, and black means that the data is being reread), and then, after half a second or so, draws the contents again.

      What is happening is that the off-screen buffer is accessed first, after which the application gets a paint event anyway. The latter is stupid and unneccessary, since I know for sure that there's been no repaint requests from the components (it's my app, after all) between the last time it was onscreen and now.

      I'll go through my code one more time to make sure that it doesn't generate this behavior through some weird interaction, and then file a bug report.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    16. Re:Destroyed Interoperabilty? by shutdown+-p+now · · Score: 1

      I have not explored the issue in depth, but from what I understand, a typical Swing application will not have any kind of text antialiasing, nor there is a standard option to set in a config file (system- or application-wide) to enable it. It can be enabled for separate widgets from the code though, and since users ask for it, some developers add the feature to their applications. Even so, it is far from being universally implemented. And, of course, since Java2D does not support subpixel antialiasing, neither does Swing.

    17. Re:Destroyed Interoperabilty? by Krater76 · · Score: 1

      Another response clueless non-Java Swing programmer.

      I've been programming the GUI for my company for the last 5 years. We are a Java shop - client and server. The fact is that a lot of our customers don't know they are even running Java for the client or the server (although the server is on an appliance) because the look and feel adapts to the environment and it is as responsive as any windows app. The problem is the people who still thing Swing is AWT or spent 5 minutes using it and had it lockup because they don't know that they can't run a database query inside of the event thread.

      Please try to learn a little about a language before talking shit about it and making yourself look like an ass.

      --
      "Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?" - Patrick Henry
    18. Re:Destroyed Interoperabilty? by VGR · · Score: 1

      The GTK look-and-feel delegates a lot (all?) of its drawing to the currently installed GTK theme. Thus, text is drawn using GTK's rendering engine. Including the current antialiasing setting.

      The GTK look-and-feel is probably the snappiest of them all. Nearly impossible to distinguish from a native application.

      --
      The Internet is full. Go away.
    19. Re:Destroyed Interoperabilty? by Anonymous Coward · · Score: 0

      a.) Swing utilizes native calls
      b.) your exageration (30 seconds to refresh) is not only outdated, but pure FUD
      c.) Java is generally considered a server code set. Yes, you can create nifty portable apps, but some fat amount of all Java Dev is for client-server apps. 90%? 95%? Just guesses, but the gist is: a lot.
      d.) Dipshit statements like your closing sentence which make me thank the gods above that Sun has NOT made a less restrictive license. At least I know that end users have to go out of their way to download ignorant implementations of various non-Sun Java toolkits.

      So, basically, I disagree with your opinion of customer acceptance. My customers have long been happy with the Java applications I've provided to them, using straight up Sun libraries, with a smattering of Apache code. If you suck so bad as a programmer that you cannot deliver fast code using Java, either you are using the wrong language for your application, or you need to pick up a few books on proper design. I've done some damned CPU intense coding using Java, and never had a refresh problem. That is what threads are for.

      It's funny that there are so many things that Java is bad at/for, and people always seem to find reason to bitch about the parts that aren't an issue -- leastwise, things that aren't issues to the programmers who actually know what they are doing. I've never heard anyone who actually DOES Java Swing development complain about speed. The convolution required to deal with field verification? Yup. The suckage of the layout factories? Sure (less so now with GridBagLayout). The annoyance of not being able to increase the VM memory footprint at runtime (64MB is a TAD small for a default max, you have to admit)? Yup.

      Speed? Never.

      I've personally written a fast and dirty GUI which had a panel with something like a hundred textfields, all of which had multiple anonymous listener class instances attatched, and where all the fields were populated from the reading of an XML file AT PAGE LOAD, and it took but an eye-blink to display itself. A perfect storm of stupid, stupid design choices, and it still barely stalls. Honestly, I have to wonder what you would have to do to get a five second refresh, aside from running massive chunks of code in the swing thread.

    20. Re:Destroyed Interoperabilty? by junkgui · · Score: 1

      This will be the defautl it 1.6.. (Antialiasing and clear text in swing)

    21. Re:Destroyed Interoperabilty? by Hezaurus · · Score: 1
      http://slashdot.org/~Com2Kid wrote:

      And speaking of Sun's dedication to client side apps, lets look at the change log just for 1.5.0_06:
      • 6257260 java classes_2d Memory leak on closing JFrame
      • 6182812 java classes_io FileOutputStream constructor throws FileNotFoundException with long file names
      • 5092063 java classes_net Extremely slow socket creation using new Socket("ip-address", port)
      • 4263904 java classes_swing JTextPane: Paragraphs with Justified Attributes Appear Centered
      • 6256473 java_plugin iexplorer To download an applet does not finish for 10 minutes with proxy server and IIS

      And ad nauseum.
      Well, here we go..
      Some open/unresolved etc. SWT bugs, just SWT bugs.

      https://bugs.eclipse.org/bugs/buglist.cgi?query_fo rmat=advanced&short_desc_type=allwordssubstr&short _desc=&component=SWT&long_desc_type=allwordssubstr &long_desc=&bug_file_loc_type=allwordssubstr&bug_f ile_loc=&status_whiteboard_type=allwordssubstr&sta tus_whiteboard=&keywords_type=allwords&keywords=&b ug_status=NEW&bug_status=ASSIGNED&bug_status=REOPE NED&rep_platform=All&op_sys=All&emailtype1=substri ng&email1=&emailtype2=substring&email2=&bugidtype= include&bug_id=&votes=&chfieldfrom=&chfieldto=Now& chfieldvalue=&cmdtype=doit&order=Bug+Number&field0 -0-0=noop&type0-0-0=noop&value0-0-0=

      • Loading a progressive JPEG causes OutOfMemoryError
      • TreeViewer with input set throws AssertionFailedException
      • Eclipse unusable over X with slow network connection
      • TreeItem doesn't have setToolTipText
      • KeyReleased not working correctly.
      • Allow better Integration with existing java2d
      • Address platform-specific UI performance problems

      And ad nauseum

      Seriously, show me an UI-API + implementation that hasn't got bugs. All of them have. Lots of. Swing is relatively bug free. I've been working with >100kloc software for many years now and so far Swing is the best UI toolkit I've seen. It's not easy, it's not full featured, but it sure is flexible and most of the components have well thought customizable MVC structures. Everything is possible. It's so cross platform that the difference in code needed to support all three major platforms is few hundred lines out of 100k+.
      --
      No matter how fast light travels it finds the darkness has always got there first, and is waiting for it. (T. Pratchett)
    22. Re:Destroyed Interoperabilty? by Anonymous Coward · · Score: 0

              * Loading a progressive JPEG causes OutOfMemoryError
              * TreeViewer with input set throws AssertionFailedException
              * Eclipse unusable over X with slow network connection
              * TreeItem doesn't have setToolTipText
              * KeyReleased not working correctly.
              * Allow better Integration with existing java2d
              * Address platform-specific UI performance problems



      The first two are stupid. KeyReleased is stupid.

      The rest of them are bleh. Nothing much works over X with a slow network connection. :)

      The thing is, SWT is fast. The first time I used Eclipse, I could barely believe that it was a Java app. Actually, I didn't believe it was a Java app, I had to go and double check.

      Netbeans feels like a Java app, all the way from installation to uninstallation.

      Saying SWT breaks platform compatibility is also just plain silly.

      Both Swing and SWT aim for consistency, but they both define the word "consistent" differently.

      Swing considers "consistent" to be an a per-app basis, as in "every computer you use this Swing application on will have an identical UI."

      Ok, sure, that is consistent.

      SWT instead says "The UI of your application will be consistent with the UI of all other applications on that same machine."

      That also sounds good.

      Sun is still dreaming of the days of "Network computing" where you will seamlessly transition from one machine to another and have identical user experiences.

      If 90% of desktop client apps weren't running on x86 machines, or running on cell phones with (mostly) laughable capabilities, they might have a point. In another world, Swing would be a good idea.

      In this world though, users are more comfortable with SWT's approach. They start up an SWT app, and the application looks like every other application on their computer. Yah, Swing can do this through Look and Feels, but it isn't the /default/. I think that if it was, Java might have a bit better acceptance.

      Heck, SWT even uses the platform's default file chooser dialog. You go to open a file in a Java app, you get one of two or three different brain dead and cluttered file choosers.

      As I also said though, from the programmer's perspective, Swing is easy to use. :)

    23. Re:Destroyed Interoperabilty? by SillyNickName4me · · Score: 1

      it doesn't help performance if you're trying to run all of your tools within the same app - what's the point of a multi-threaded os then?

      Well.. the point of a multi-threaded os is actually to allow things like that... do many different things within the same app at the same time..

      Not that I like the idea for an IDE (which is basicly a developer frontend and some compiler/validator/debugger toolchain)...

    24. Re:Destroyed Interoperabilty? by Anders · · Score: 1

      I find unaliased text to look extremely ugly on flat panels.

      What is the difference between unaliased and antialiased texts? Apparantly one is pretty and the other one ugly?

    25. Re:Destroyed Interoperabilty? by angel'o'sphere · · Score: 1


      Quite frankly, I love Eclipse. Amongst three of the largest IDEs (Visual Studio, Netbeans, Eclipse) it was the first to have refactoring support (which everyone then went and copied from it!).


      Certainly not!
      IDEA IntelliJ
      RefactorIT
      CodeGuide

      Some IDEs that had refoactoring, and still have it in a FAR wider sense than Eclipse, before Eclipse even!!

      Eclipse has lots of nice features, e.g the superb CVS/subversion integration but CodeGuide is 100 times easyer to use and IDEA IntelliJ has 100 times more useful features (not MORE features, but more USEFULL ones).

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    26. Re:Destroyed Interoperabilty? by angel'o'sphere · · Score: 1


      This is a serious usability issue - I find unaliased text to look extremely ugly on flat panels.


      Thats interesting and funny, I'm really pissed of Apple that they are unable to switch off anti aliasing on a flat panel. the option in system prefferences is there: font size below which anti aliasing shold be off. Simpy does not work, at elast not in mail and in safari.

      For me it is that I see every pixel, and it anoyes the hell out of me that small fonts look blured because grey pixels surround the black ones.

      I simply want a non aliased font like monaco 9 on my build in TFT of my notebook. But no, I get a gry blob of uglyness :-/

      OTOH, what lookd VERY ugly on the build in screen just looks normal on the second screen (but that one is > half a meter away)

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    27. Re:Destroyed Interoperabilty? by angel'o'sphere · · Score: 2, Interesting

      Yes, and the only people that are even slightly interested in using Java to create desktop applications
      Not true. I do all my applications in Java, regardless wether it is Desktop or Server, and all people I know, do the same.

      are A) those people that are creating Java-related development tools, and B) those folks working on alternative (ie. Linux) desktop applications.
      I work on Mac OS X, btw ... most of my friends on linux, however.

      However, thanks to Sun's ridiculous Java licensing this is a /. myth or FUD. Java has nothing preventing any GPL fan from using it, except that Java itself is not GPL.

      Mono gets more actual use in the creation of desktop applications than Java does. Sure, by VB programmers switching to a slightly better language. If one uses C# and Mono (instead of C# and .Net, at least, because of WinowsForms) it only shows how few he has learend about software so far in his life.

      SWT helps, to some extent, as it is possible today to create SWT applications that run on gcj. Same for this statement, SWT is a clone of the Windows API, more or less. and ported into a Java (look and feel?) dress to Linux, Mac Os X, etc. Everyone who uses SWT in favour over Swing simply has no clue about programming and software development in general.

      Sun is eventually going to come to the realization that it needs the Free Software community if it is going to survive. This is a myth and FUD. For what should Sun need the FSS movement? How should SUN make more money if Java was GPL? And bottom line they live from making money.

      These days you would basically have to be some sort of a zealot to create a desktop application in Java. No, besides Qt there is no other mature framework (trans platform even) that any sane person would use to make Desktop apps in, well, besides using SWT ofc, but thats also Java.

      o If you use C++, you can forget cross platform if you dont use Qt.
      o If you use C# you either have Windows with .Net/Windowsforms or you have mono on Mac/Linux with GTK. So you are not cross platform. AFAIK there are no mono ports to AIX or Solaris. So why even consider C#?
      If you want to be crossplatform you use Java or Python ... or some other niche language, probably anything that can use TK (from TCL, but does not use TCL itself)

      The Free Software community has the market cornered on zealots, and they all think that Java is evil. Indeed. So it only prooves that most about success in the world has absolutely nothing to do with maturity but only with the talk about it (it, not its maturity).

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    28. Re:Destroyed Interoperabilty? by shutdown+-p+now · · Score: 1
      I was referring to my Swing experience on WinXP though, not on Linux. Using native L&F does not help there.

      Speaking of Linux, by the way - I recall that GTK L&F only supported "Default" and Bluecurve GTK themes - is it still the case?

    29. Re:Destroyed Interoperabilty? by shutdown+-p+now · · Score: 1
      Admittedly, this is somewhat of a religious issue. I personally can't stand antialiased text at small point sizes on a CRT (in Linux, disabling it for 8pt to 14pt inclusive via fontconfig seems to do the trick; Windows handles it fine automatically, even though it does not give an option to change the interval). On TFTs though, I find that individual pixels are too visible, and letters become unpleasantly jagged - something which subpixel antialiasing takes care of, while still not making the text too blurry.

      I haven't worked with OS X, but from seeing the screenshots, I'm inclined to say that your problem is with its specific renderer, not with text antialiasing in general: text on those screenies looks way too blurred even for me. Personally, I find ClearType to give the best result, though FreeType is a close second when configured properly.

    30. Re:Destroyed Interoperabilty? by Lovepump · · Score: 1

      On my Win XP box, when I open Azureus, it seems to have anti-aliasing (I don't recall it looking butt-ugly). However, on the same box, when I open up Sun's Java Updater from within the control panel, it looks utterly dreadful...

      Is this because one uses SWT and the other Swing?

    31. Re:Destroyed Interoperabilty? by VGR · · Score: 1

      No, it's not. I haven't played with every theme but I've tried at least six of them and they all get rendered properly by Swing. I've only tried it with 1.5, though. I've heard 1.6 still has a few problems, but I assume they'll be fixed before it leaves the beta state.

      --
      The Internet is full. Go away.
  8. Re:It's available? by magicjava · · Score: 2, Informative

    Download the JDK from java.sun.com. Unzip the download. The source code is located in src.zip. Has been for years.

  9. Re:Concerning Java. by lokedhs · · Score: 5, Informative

    That's wrong. Just download the latest JDK. 1.5 or the 1.6 beta. Then double-click on SwingSet2.jar and try the demo. It's way faster than GNOME on the Linux machines I tried it on. And at least as fast if not faster than the Windows native widget set on at least some machines. Try it yourself. It really has come a long way since the early versions which were horribly slow.

  10. Download Link by ramakant · · Score: 0, Redundant
    1. Re:Download Link by bcmm · · Score: 1

      That's the SDK. It's for developing Java applications. There isn't link on that page for the JRE, which would let you actually run Java apps.

      Also, it seems to have an interesting license.

      --
      # cat /dev/mem | strings | grep -i llama
      Damn, my RAM is full of llamas.
    2. Re:Download Link by throx · · Score: 2, Informative

      The JRE is part of the JDK.

      --

      Fear: When you see B8 00 4C CD 21 and know what it means

    3. Re:Download Link by AKAImBatman · · Score: 2, Insightful

      That's the SDK. It's for developing Java applications.

      <tweety-bird>He don't know Java wery well, do he?</tweety-bird>

      As another poster pointed out, the JDK contains the JRE. In fact, the JDK is nothing more than the JRE + Compiler Tools. It's fairly easy to mod a JRE to become a JDK just by moving a few JAR files. (And the 'javac' executable if you want an easy way to launch the compiler.)

      As a result, it almost always makes more sense to install the JDK rather than the JRE. The only purpose of the JRE is download size. Since it includes less "stuff" (including a lack of a soundbank!), it's a much smaller download than the JDK.

  11. WTF? by bcmm · · Score: 1, Troll

    The article seems to have gone down before it could be mirrored, but there is an article on the same story here.

    It doesn't really seem to explain WTF they think they mean, or what they've been taking. Is there somewhere where I can just download the Java source code, modify it, and distribute it, or do I need special permission and a weird license? That's not open source. If that's what they meant by their promise to open source everything, they lied.

    --
    # cat /dev/mem | strings | grep -i llama
    Damn, my RAM is full of llamas.
    1. Re:WTF? by NutscrapeSucks · · Score: 2, Informative

      That's not open source.

      From your link: "The current model for Java is close to an open source model, Gosling said." So, he's not saying it is.

      And the way that the "Open Source Community" uses the term "open source" is really beyond the plain meaning and historical usage of the term; and only makes sense if you've had your ideological briefing. Java is open source in the sense that the source code is open and accessible. It just doesn't meet the "Open Source Definition".

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    2. Re:WTF? by HiThere · · Score: 1

      You can't use it, modify it, and redistirbute it. It's not open source. It's also not Open Source, but it not even open source.

      I'll agree that it's source. (Well, at least it's a large part of the source. As others have pointed out there are large chunks of underlying code that were not written in Java, and they aren't available.)

      But it's not open. You need to agree to a restrictive convenant in order to look at it. This isn't just protecting their trademark, which I would consider legitimate, but this is treating the language as their personal property. This would be fair also if they were honest about it, but this comment, calling it "Open Source" (or rather "nearly" Open Source) is either a blatant lie, or so close to one that I can't tell the difference.

      Now some have pointed to links where they say the source can be accessed. Perhaps it is no longer a requirement that you agree to a restrictive covenant to access the source. Were I to care any longer, I would investigate. A decade ago I cared a great deal, but after reading the licenses and thinking about it for a long time I decided that I didn't want to accept the language on the proffered terms. If they want to convince me not they will need to show not only that the terms are better, but also that the language is sufficiently good that I should discard a decade's worth of learning and work to adopt it. This will be quite difficult, and they haven't made a decent attempt.

      To me this appears to be slimey PR tactics, and it decreases my respect for both Sun and Gossling.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    3. Re:WTF? by tehcyder · · Score: 1
      It's not open source. It's also not Open Source, but it not even open source. I'll agree that it's source
      Thanks for clearing that up!
      --
      To have a right to do a thing is not at all the same as to be right in doing it
  12. Re:Swing by lokedhs · · Score: 5, Interesting

    It's improved a lot in every release, SWT or not. Today it's pretty damn good on Windows. The situation is worse on Unix though, I can agree with that. On the other hand, SWT sucks on anything but Windows anyway.

  13. Close by kentyman · · Score: 1
    Gosling claims Java is close to an open source model...

    Nice.

    --
    You know where you are? You're in the $PATH, baby. You're gonna get executed!
    1. Re:Close by lagerbottom · · Score: 1

      And my wife is almost pregnant!

      --
      "He was a wise man who invented beer." - Plato
    2. Re:Close by Mindwarp · · Score: 1

      Gosling claims Java is close to an open source model...

      Just like I'm close to being thin and sexually irresistable. Trust me, sometimes being close just doesn't cut it.

      --
      The gift of death metal does not smile on the good looking.
  14. Re:It's available? by Homology · · Score: 3, Informative
    Mr. Gosling, please offer us a link to the code.

    Of course the source code is available, but you have to personnally agree to a restrictive license. This is why Sun Java is not easily available as the OpenBSD Makefile for 1.5 port shows:

    # Error message for distfile.
    FETCH_MANUALLY= "You must manually fetch the distribution files, place"
    FETCH_MANUALLY+= "them in ${FULLDISTDIR} and then run make again."
    FETCH_MANUALLY+= "Get the SCSL source \& binary files:"
    FETCH_MANUALLY+= " ${DISTNAME}-src-scsl.zip"
    FETCH_MANUALLY+= " ${DISTNAME}-bin-scsl.zip"
    FETCH_MANUALLY+= "from http://wwws.sun.com/software/communitysource/j2se/ java2/download.html"
    FETCH_MANUALLY+= "Get the BSD patchset file:"
    FETCH_MANUALLY+= " bsd-jdk15-patches-3.tar.bz2"
    FETCH_MANUALLY+= "from http://www.eyesbeyond.com/freebsddom/java/jdk15.ht ml"
  15. Re:It's available? by Mr.+Competence · · Score: 3, Informative

    That would be here under the SCSL or here under the JRL. Pick your license. For an explanation, go here. :P

    --
    Those who open their minds too far often let their brains fall out.
  16. Open source is more than that by DrXym · · Score: 4, Informative
    The source code to PGP is available too (for review), but it's not an open source product. Likewise, Java source may be available but it is not open source either. If GNU Classpath filched the Java runtime, you'd hear Sun screaming about it in no time.

    While I can understand Sun want to maintain control of the standard, they've got to open up the source. It sounds a little harsh considering .NET is not open at all (although MS do provide a reference version of their CLR), but it has to be done.

    Sun needs every friend they can get and putting Java into every distribution of Linux is one very good way to make a lot of friends. That means opening it up. Naturally they'd be frightened of some bastardized FrankenJava appearing, but they would still maintain the standards and the trademarks and they could enforce them. Who knows, perhaps opening the source will stimulate the platform once more.

    Another way of stimulating the platform is to embrace Eclipse & SWT. Sun may hate to admit it, but Swing sucks. It's a very nice and flexible API but in practice it sucks. Swing apps run with the grace and speed of a slug. Swing apps look weird even when attempting to look native. At least bundle SWT with the JRE and let people decide which to use. SWT has it's faults too, but it sure as hell transforms the UI experience of Java apps. Aside from SWT I cannot fathom why they won't embrace Eclipse. Eclipse makes Java development easy. The platform has been cursed with crappy tools (especially GUI editors) for too long and it will have to pull its socks up if it wants to compete with Visual Studio.

    1. Re:Open source is more than that by 955301 · · Score: 1


      I'm guessing you haven't been programming Java for long. Netbeans was a great IDE until Eclipse came and muddied up the water. The process of mounting source trees and libraries was intuitive and didn't interfere with actual development.

      Eclipse blows chunks compared to the 3.5.1 netbeans. Since then though netbeans ~= Eclipse. Damn shame

      Also, have you tried running SWT on platforms other than Windows?

      And why do you say open sourcing Java is required for distribution with Linux? The only problem with Sun's license is the distribution rules.

      --
      You are checking your backups, aren't you?
    2. Re:Open source is more than that by DrXym · · Score: 1
      I'm guessing you haven't been programming Java for long. Netbeans was a great IDE until Eclipse came and muddied up the water. The process of mounting source trees and libraries was intuitive and didn't interfere with actual development.

      I tried Netbeans and I hated it. What did I hate about it? I can't say with specificity except it tried to be different from any other IDE I've ever used and I want a comfort zone. Judging from the popularity of Eclipse, I reckon a lot of people prefer it too. I also appreciate all of the plugins for Eclipse that mean I use it for web page design, page validation, general XML editing, NUnit testing, Nant and checking stuff into SVN.

      Also, have you tried running SWT on platforms other than Windows?

      Yes. As far as I can tell it works fine on both Linux and OS X. I occasionally run Azureus on OS X. And of course I've run Eclipse on all three platforms.

      And why do you say open sourcing Java is required for distribution with Linux? The only problem with Sun's license is the distribution rules.

      It's a fact that some versions of Linux are very skittish about distributing anything which is proprietary, Debian for example. Even if they did distribute it, most would be extremely uncomfortable about making it core to to their distribution or writing core tools that rely upon it being there.

    3. Re:Open source is more than that by DrXym · · Score: 1

      Doh, I meant JUnit, ant testing. I do .NET development too but that's by the by.

    4. Re:Open source is more than that by 955301 · · Score: 1

      Do you remember what version of netbeans? Post 3.51 is trash. Prior to that, webapp development on it rocked.

      Netbeans autocomplete end-tags by default. In eclipse, it's a plugin. Eclipse used to "forget" that a project was scm's in cvs and I had to rebuild the project more than once. Neither support subproject any more, where netbeans used to be more forgiving about directory structures. You could mount anything.

      And don't get me started about UI development in eclipse and the "overhauled" netbeans. It used to be excellent in the latter...

      --
      You are checking your backups, aren't you?
    5. Re:Open source is more than that by owlstead · · Score: 1

      Netbeans is not and never was a great IDE. I've tried every version as they came out, and they were always full of bugs, and (more importantly) completely unintuitive. That's why Eclipse is so great, it has many options, but you won't get lost. I do think that the refactoring etc. should be more context sensitive, but that's a specific design choice afaik (keeping the options there for people to find). And I simply hate Swing. I've tried running the Swing demo on my Ubuntu just now, in Gnome L&F, and it whites out the menu's if you select them, even though the background is of a light color and all other apps use black. And the next time I am seeing another non-default file-chooser I am going to screen. Whoops, just clicked one in the Swing demo, YUCK.

      Sun is to blame for not getting the support for Java on the desktop. And Microsoft of course. Although I am quite adamount that Sun would have messed this one up none-the-less. They do not always listen to reason.

    6. Re:Open source is more than that by Lord+Agni · · Score: 1

      I used to use NetBeans 3.6 for my Java stuff, then NB4, then NB3.6, then NB5, tnen NB3.6, then I wised up and stop using Java unless at the point of a gun (or paycheck). Making Java's source code available for perusal is as welcome as making some random cat's hairball available for swallowing.

    7. Re:Open source is more than that by glesga_kiss · · Score: 1
      The platform has been cursed with crappy tools (especially GUI editors) for too long and it will have to pull its socks up if it wants to compete with Visual Studio.

      I find what you say there interesting. I've used vi then Netbeans in the early days, and Eclipse exclusively for the past two. Recently I had to pick up Visual Studio 2005 to do some .dot and VB hacking of some existing code we had in the office.

      I was not impressed. It completely lacks features that I use almost every five minutes in Eclipse. Refactoring mainly; it lacks the ability to move/rename classes and make those changes for you in all references. The debugging wasn't as intuative as, nor did it seem as well featured. Little things, like the display window where you can execute code at debug runtime, just aren't there. I use the code-generation in Eclipse quite a lot; auto-creation of constructors, methods, assignments of parameters to fields and so on. It sounds cumbersome at first, but once you know the shortcuts you can spin off classes at crazy speeds. Visual Studio just didn't seem to have any of that. It was like a merge of notepad, a compiler and a debugger and that's yer lot.

      Little things as well, Eclipse has great intergration with javadoc. VS had some docs, but they were harder to find and less detailed.

      Maybe it was my lack of experience with the VS platform, but in all honesty I could not wait to get back into the Java world and Eclipse.

    8. Re:Open source is more than that by robmv · · Score: 1

      Try to print something using SWT-GTK, at least with Swing/Java2D I can print from any supported platform

    9. Re:Open source is more than that by gluteus · · Score: 4, Insightful

      Like just about ANY toolkit, a lot depends on the ability of the developer using it. You can write lousy Swing apps, but if you know what you're doing, you can also write a pretty good one too. You might well argue that it's too difficult to write a good Swing app, but don't conclude from your failures that everyone is doomed.

      One thing that too many people here don't appreciate is that what Sun set out to do is almost impossible to get right the first time. Think about it, a cross platform, highly customizable GUI toolkit that mimics the look and feel of every platform it runs on. With one very major player (MS) set to break it.

      Look at what Apple did with Swing. A Swing app running on OS X can look almost like a native app, without breaking cross platform compatibility, because Apple EMBRACED Java and Swing. What would have happened if Microsoft did the same thing?

    10. Re:Open source is more than that by Anonymous Coward · · Score: 0

      Swing apps run with the grace and speed of a slug.

      Have you tried the latest versions (1.5 or even better 1.6)? Believe it or not, but for me, Swing is actually FASTER than SWT now, and faster than most other Linux widget toolkits. They have moved to OpenGL for rendering, for instance. It is switched off by default in Linux due to unstable drivers (to ensure stability), but you can turn it on with a JVM startup parameter. They have moved to a Single Threaded Rendering which has speeded up things even more, and now they do real hardware double buffering so that when you reveal a Swing window which has been hidden by another window the repaint is instantanious.

      At least bundle SWT with the JRE and let people decide which to use.

      Argh, no. The JRE is bloated enough already.

      Eclipse makes Java development easy. The platform has been cursed with crappy tools (especially GUI editors) for too long and it will have to pull its socks up if it wants to compete with Visual Studio.

      I haven't tried it yet, but I have heard GREAT things about Matisse, the new Swing GUI editor in Netbeans 5. I'm having a few labs in it on JavaONE. (Flying to San Fransisco tomorrow, wish me luck. :-)

    11. Re:Open source is more than that by Viraptor · · Score: 1

      It's all about being used to one enviroment... Don't know about vb, because it's... ok - don't want to troll, but in vs2005 c#.net (it should be similar in others):

      - You just change the name of a variable / class / whatever and underline appears - move mouse over that changed name and you get menu: "rename 'aaa' to 'bbb'" or the same with preview / confirmations
      - Display window when debuging? What's that? Haven't seen it in eclipse.
      - Code generation? Vs2005 has it - not the same as eclipse, but it has. One thing is that class variable creator dialog is useless bloat... really - it's only one line to write. Yes - vs lacks properties (get {} set {}) generator, but there are many open source plugins for that. Other generators (event handlers prototypes and such) are build-in already.

      Try to have some more fun with VS and you'll even find things not available in eclipse ;)

    12. Re:Open source is more than that by Tim+C · · Score: 1

      What would have happened if Microsoft did the same thing?

      What an odd question; we know exactly what did happen. They added classes into the java.* package hierarchy (expressly forbidden by the licence), Sun sued and won, and MS threw their toys out of their pram and went home to create .NET.

      Had MS not broken their licence (say, by adding classes to com.microsoft like they should have done), or Sun not sued, then maybe things would've been different, but they did and they did, so they're not.

      Nothing (that I'm aware of) prevented or prevents MS from shipping a compliant JVM, incidentally; they just decided that they didn't want to.

    13. Re:Open source is more than that by gluteus · · Score: 1

      What I meant was "what would happen if Microsoft were to do with Swing what Apple did with Swing?". What Microsoft did was a deliberate attempt to fork Java, not make Java work better on a Windows platform.

      In retrospect, Microsoft was just being Microsoft.

    14. Re:Open source is more than that by metamatic · · Score: 1
      A Swing app running on OS X can look almost like a native app, without breaking cross platform compatibility, because Apple EMBRACED Java and Swing. What would have happened if Microsoft did the same thing?

      Satan would start skating to work.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    15. Re:Open source is more than that by CptNerd · · Score: 1
      What Microsoft did was a deliberate attempt to fork Java, not make Java work better on a Windows platform.

      In retrospect, Microsoft was just being Microsoft.

      Which is basically forking everyone they can...

      --
      By the taping of my glasses, something geeky this way passes
    16. Re:Open source is more than that by The+OPTiCIAN · · Score: 1

      > It sounds a little harsh considering .NET is not open at all

      Not at all. If it doesn't work it's broken.

      This reminds of when I sometimes hear on the radio people comparing US economic fundamentals to Europe and saying that they're strong in comparisson and they treat that as a valid excuse for bad fundamentals and it's not valid. Being strong in comparisson to a basketcase is nothing to boast about.

      > Sun may hate to admit it, but Swing sucks.

      I don't quite agree with this. Swing is good for some contexts, but those contexts are invalid. For the most part, consumer software can be divided into two camps: applications and tools. And almost universally, applications should be webapps, and tools should be high-performance client-side software. The arguments in favour of thin client apps and web apps in particular are very strong. But sometimes you need to do something more than that. Swing just doesn't fit into any of this (for that matter neither does visual basic). But following on from this - I don't think java has any place in the client-side software because of performance. I'm not one of these "java is slow" types. I know java is fast, I use java all the time and I write java-based web app frameworks for my day job. But java launch time *is* slow and it's annoying not being able to distribute java as a binary that users can double click on and rely to work (they need the runtime). That rules it our for desktop software.

      If Sun were smart, they might be able to get around some of these problems:
      1) change the way they use java works so that on a target system there would always be a JVM 'silo' running. under linux it would be started up via /etc/init.d. Then, when users launched java apps, rather than launching a new VM, some sort of injection happened into the existing JVM. That would speed up launches.
      2) embrace linux and try and get java shipped with distributions

      But - what do they gain from this? I still can't see where Sun make money out of Java - in the current environment or in the hypothetical I've proposed.

      --


      Believe with me, my saplings.
    17. Re:Open source is more than that by The+OPTiCIAN · · Score: 1

      I can't *believe* this got modded to +5 insightful.

      > You can write lousy Swing apps, but if you know what you're doing, you can also
      > write a pretty good one too. You might well argue that it's too difficult to write
      > a good Swing app, but don't conclude from your failures that everyone is doomed.
      The same could be said of assembly language.

      > One thing that too many people here don't appreciate is that
      > what Sun set out to do is almost impossible to get right the
      > first time.
      This has no bearing on whether or not something sucks.

      > Look at what Apple did with Swing. A Swing app running on OS
      > X can look almost like a native app, without breaking cross
      > platform compatibility, because Apple EMBRACED Java and Swing.
      > What would have happened if Microsoft did the same thing?
      Microsoft have structured their business model around a competing platform that they own. .NET is the direct competitor to Java.

      They tried doing something this and Sun nailed them in the courts over it.

      What point were you trying to make?

      --


      Believe with me, my saplings.
    18. Re:Open source is more than that by angel'o'sphere · · Score: 1

      Another way of stimulating the platform is to embrace Eclipse & SWT. Sun may hate to admit it, but Swing sucks.

      As I wrote in an other post: SWT is more or less a port of the Windows AI to Java. Swing is a "FrameWork" for writing GUIs. If at all, then sWT sucks not Swing.

      Swing might be slow in some paerticular applications, but Eclipse (e.g.) is GUI wise not fast either. SWT is simply horrible to program in, and everyone who uses SWT in favour over Swing, simply has no clue about GUI programming. PERIOD. Yes, very simple GUI stuff is in SWT VERY simple. But as soon as your program gets bigger you only need to know the concepts behind Swing to easy work with Swing.

      Most ppl liking SWT never really like to learn a concept, they only use VB stile: oh lets call this function/method to get this or that effect. Your argument above could as well be applied to IBM (6 years ago): go and embrace Swing and make it better (e.g. JFaces) where you feel you see gaps. But no: they went and descided to make a completely new GUI API.

      So, let the market and he developers descide ....

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    19. Re:Open source is more than that by Siker · · Score: 1

      I write a Java Swing application for a living and trust me, it's not about not being able to 'get' it. It just is that bad. I believe Swing was not designed to be useable in practice, but just to have a 'really nice looking API'. That's a very cute goal but it doesn't cut it when writing real software.

      In most UI toolkits you aren't expected to reinvent the wheel or fight with the API to achieve a normal native look and functionality. Try to create a simple JTable sortable by clicking the column headers to see what I mean. Once you're done implementing everything from logic to UI drawing, without any assistance from Swing, it still won't look anything like the user expects in most cases.

      Here's a blog entry where I talk more about the 'designed for beauty' vs 'designed for use': Java Grows Up.

    20. Re:Open source is more than that by DrXym · · Score: 1
      As I said originally, I think Swing is a nice API. In fact, it's a very complete, stable API. The problem is that it produces terrible looking applications, especially on Windows. Even with a native theme enabled it still doesn't behave or look like a native app except superficially. If you look at other cross-platform apps such as Firefox, they have a very pragmatic solution to this - use cross-platform widgets, but supplement this with platform specific menu layouts, popups, integration (drag & drop etc.), common dialogs. Most of the changes are hidden in overlays that affect the layout, or behind XPCOM objects. That's what Swing needs to do - abstract but use native code when it exists. While there are reasons that some apps may need a pure Java file dialog (e.g. if they wanted to extend it or using a non-native theme), there a lot more would prefer if it were the native chooser.

      I don't have a problem with Java launch times but I think launching and ensuring classpaths are set correctly is a pain in the butt. A lot could be done to improve this. Running .NET apps is virtually seamless since apps are executables and the assemblies contain dependency information that can be resolved easily onto the local dir or files in the GAC. Usually the same in Java requires screwing around with command line invocation, environment variables or other nonsense.

      As for thin clients etc. Java does have JNLP and .NET has recently gained ClickOnce which are more or less the same thing - browser embeddable links that download and execute rich applications. With the best will in the world, there is no way that AJAX can work in many cases. I write trading applications and they need timely real time quotes, large result sets, charting, complex algorithms that rebalance funs and other things. It would be impossible to do this in AJAX, although you might be able to produce a "lite" or "mobile" version with Flash etc. that reproduced some of the functionality of the full app through a clunkier interface. Even Google realise AJAX has it's limits - their map uses AJAX but their stock charts are flash.

    21. Re:Open source is more than that by SirPavlova · · Score: 1

      Just out of interest, what are the concepts behind Swing? I've never written anything in Java, so I don't know it's GUI kits at all...

      --
      Yar.
    22. Re:Open source is more than that by rikkus-x · · Score: 1
      Refactoring mainly; it lacks the ability to move/rename classes

      Right-click on the class' name, Refactor -> Rename.

      Little things, like the display window where you can execute code at debug runtime, just aren't there.

      It is there. It's called the 'Immediate Window' and it's visible by default. Enter a statement to execute it. Enter '?' followed by an expression to evaluate it and display the result.

      I use the code-generation in Eclipse quite a lot; auto-creation of constructors, methods, assignments of parameters to fields and so on. It sounds cumbersome at first, but once you know the shortcuts you can spin off classes at crazy speeds. Visual Studio just didn't seem to have any of that.

      Look up 'snippets'.

      Did you actually use VS.NET 2005?

    23. Re:Open source is more than that by LizardKing · · Score: 1

      Swing adopted a lot of ideas from the NeXTstep API. A thorough implementation of the MVC architecture, and extensive use of design patterns. This makes it counter intuitive to programmers used to the Win32 or Motif way of doing things, but once you understand how to create decent data models and separate them from the actual GUI code it leads to more modular, maintainable code.

      At work, we have three programmers who routinely program GUI applications in Java. Two use Swing, write well structured code that encourages reuse. They love Swing (except the JTree widget). The other programmer prefers SWT, which he isn't allowed to use, creates spaghetti code monsters and whinges about the Swing API all the time. This isn't an isolated case either, it is amusingly similar to the situation at my previous employer - the substandard programmer there also preferred SWT over Swing.

    24. Re:Open source is more than that by int19h · · Score: 1

      > For the most part, consumer software can be divided into two camps: applications and tools. And almost
      > universally, applications should be webapps, and tools should be high-performance client-side software.

      Think of editing video, composing music, drawing illustrations, creating artwork and playing games. Should Quake have been a webapp? Is it a tool? Are games uncommon for cusumer software? Are applications like 3D studio max a tool or an app?

      I think you need another camp.

    25. Re:Open source is more than that by Anonymous Coward · · Score: 0

      Have you tried the latest versions (1.5 or even better 1.6)? Believe it or not, but for me, Swing is actually FASTER than SWT now, and faster than most other Linux widget toolkits.

      That's not actually true, is it. Come on now little zealot... fess up? You are saying that Swing actually requires "hardware acceleration" in order to match toolkits which get by with software... aren't you... which doesn't address the basic design flaws in Swing, it just hides them behind expensive silicon. Not to mention that none of your post addresses the real horror of Swing (and Java generally) -- its memory requirements. A nice OO API which copies ideas from NeXT is a lovely concept... it's just shame that no-one wants to use it because to trying to create a basic Swing GUI will send a fairly meaty PC into swap. And in this case, hardware doesn't solve it. PCs never run just one app (something Sun just doesn't seem to understand)... more hardware, more apps. Throw a Swing app into that mix and your machine suddenly spends all its time swapping... and everyone goes "uggh! Fucking Java".

      Swing is a dead duck, dude. Give it up. Sun has spend 10 years polishing a turd.

  17. Re:It's available? by lbmouse · · Score: 1

    It *IS* available if you work for Sun.

  18. The best Java windowing toolkit isn't Swing or SWT by mrchaotica · · Score: 3, Insightful

    ...it's Cocoa! : D

    (burn, karma, burn!)

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  19. Re:It's available? by space_dude_27 · · Score: 1

    Yeah, the Java source to the class libraries ... sans the C source to all of the native stuff and the source for the JVM.

  20. Doesn't matter by dildo · · Score: 1

    Is the licensing still restrictive? If that is the case, it doesn't really matter for most of us.

  21. Re:It's available? by Homology · · Score: 1

    Good luck finding the license on that page without having to register first.

  22. BUT!!! by gameforge · · Score: 5, Insightful

    I enjoy scrolling up and down 15,000 line source code files as much as the next guy. That's why it's so much fun to look at the GCC sources.

    Occasionally, it's actually useful to see how someone implemented something, for educational purposes.

    But can I modify it, make it work on my new OS and processor and sell it without paying royalties? Maybe, distribute it under the GPL so it can come with FOS OS' in a truly free sense?

    Having source code isn't everything. Back in the old days, there was always source code for everything; UNIX on any of twelve or so different platforms wasn't binary compatible, but source compatible. So if you wanted to make a program and sell it, like PeachTree (yeah it's that old), you HAD to distribute the source code. Otherwise, you'd either have to distribute dozens of different binaries or stick with a single platform, which wasn't profitable.

    It was copyright infringement to make money by changing the code and selling it... and you couldn't give any of it away to someone who didn't have a license to it. And even if you did make modifications, you couldn't use them when the next release came out unless you ported them over each time.

    There's a difference between something being OpenSource and just having the source. Even if it's a free product like Java.

    What can you legally do with it? What separates it from being truly open source? I'd read the article, but it seems /.'d at the moment.

    1. Re:BUT!!! by nikster · · Score: 1

      What differentiates Java from open source?

      You are not allowed to create your own Java and your own Java distributable unless it's Java certified. This prevents malicious entities from destroying the Java platform by fragmenting it. It's worked on Microsoft.

    2. Re:BUT!!! by kevin_conaway · · Score: 1

      Not to get into a semantic war, but I think you're confusing FOSS (Free Open Source Software) with plain old OSS (Open Source Software). I believe the difference is in what you're describing

    3. Re:BUT!!! by maraist · · Score: 1

      It's worked on Microsoft.

      No it didn't.. MS took their J++ toolkit and java runtime/ JIT (which historically was the best out there) and refactored it as .NET.

      Now the industry is HUGELY fragmented. Previously there were MS VB,C++ programmers, UNIX C,C++ programmers, web finatics including perl, python, lisp, php and various ASP. And finally you had EJB programmers (which could have been a combination of any of the above).

      Now we are back to solid windows-only solutions (.NET) and UNIX only solutions (java). Yes there are still people that write enterprise-on-windows with Java, but most new projects of this sort are just going with .NET.

      Sounds pretty fragemented to me.

      --
      -Michael
    4. Re:BUT!!! by gameforge · · Score: 1

      Well, I'm no expert on source code licensing, but I always take OSS to be the 'free' kind (like Linux). The word 'open' kind of has an up-in-the-air meaning these days, like with Open*L or OpenSuSE, both of which are 'Open' in a 'Free' kind of way. I look at Java as a pay-for product that comes with the source code (like many smaller libraries and applications), except that the product costs $0.00 and thus you can have it and the source code for nothing.

      But if what you say is politically/semantically correct or whatever, I can appreciate that and stand corrected. :)

    5. Re:BUT!!! by VGR · · Score: 1
      No it didn't.. MS took their J++ toolkit and java runtime/ JIT (which historically was the best out there) and refactored it as .NET.

      But Sun's restrictions prevented it from being a lot worse. At least when I hear that a machine "has Java installed," I know it has a version of Java installed whose every class complies with its contract.

      In other words, were it not for Sun's restrictions, writing Java today might very well be like attempting to write Javascript that works on every browser.

      --
      The Internet is full. Go away.
  23. Yeah, Well by Vyvyan+Basterd · · Score: 1

    The src is out in the open alright, but it's still under a proprietary license, so you'd better stay the hell away if you're ever likely to work on something similar. *Insert rant about how the term Free Software is better than open source here*. When we used Digital Unix at work many years ago, we had source code access, but that still didn't make it free in any sense.

    1. Re:Yeah, Well by Arandir · · Score: 1

      *Insert rant about how the term Free Software is better than open source here*.

      Yes, because we all know that free software is software that is a free download, like Internet Explorer, Flash player, and Java. It doesn't even matter if you quibble over "libre" or "gratis" definitions, because those programs are still "libre" to use.

      That's why the term "Open Source Software" was invented. It's not a perfect term, but it's a hell of a lot clearer than "Free Software".

      p.s. If it weren't for the restrictive terms in copyleft licenses, a much better term would have been "unencumbered source".

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  24. Re:Swing by Kombat · · Score: 4, Funny

    Swing is a joke. It doesn't look native, it is a resource hog

    1995 called. They want your complaints back.

    You know, back when Java first debuted, its critics complained that it ran too slow. This was back when everyone was running 486 DX/100's, and Pentium 75's were just coming onto the market. Advocates of Java countered that hardware would soon be fast enough to render Java's slight speed disadvantage (due to being interpreted code) irrelevant. Plus, a JIT compiler was in the works to make Java run just as fast as native code.

    Guess what? They were right. We're not running 100 MHz machines anymore. We're running 2.4 GHz machines, and Java is just as quick and responsive as any other app. Today's machines have way more than enough CPU power and memory capacity to run even the largest Java apps with no delays at all.

    Time for you to come up with some new, fresh complaints.

    --
    Like woodworking? Build your own picture frames.
  25. Re:Swing by cecom · · Score: 3, Informative

    At least on my machine under Linux, Swing is definitely faster than SWT. Sounds almost absurd, but is true. I did a search some time ago and found posts claiming that IBM's official positions was that they were not interested in improving the speed of SWT-GTK. They can kiss my a** then :-)

    SWT-FOX (http://swtfox.sourceforge.net/) looks like a good idea and is supposed to be faster, but I have never been able to get it to work satisfactory (font problems, crashes). AFAIK, it is being maintained by a single person in his free time. Perhaps RedHat or Novel should support the project.

    Don't get me started on SWT anyway - I think the design is terrible; it looks like a somewhat cleaner port of MFC.

  26. Re:Swing by daveho · · Score: 1, Offtopic
    On the other hand, SWT sucks on anything but Windows anyway.
    Huh? The gtk2 version is quite nice.

    I do agree that the Motif version looks like ass (and is a pain to use), but then, that's Motif's fault, not SWT.
  27. DON'T WORRY, I'LL KEEP AT IT. by Anonymous Coward · · Score: 0


  28. Gimme the source by Schmuckly_McDuckly · · Score: 2, Funny

    This is great news, I always wanted to remove that pesky garbage collector....

  29. Re:Swing by amelith · · Score: 1

    Sorry, but this appears to be FUD. If you want a native look and feel you need to put in one line of code to tell the UIManager to use it. A few more lines can give the user control of the L&F.

    Once a Swing application is up and running it's not noticeably slower or less responsive than any other GUI application, assuming its been correctly written, and it will work cross-platform with no changes. I've taken desktop applications from Windows -> Linux -> Solaris -> HPUX with no porting effort.

    As for Java 5.0 features being forced by .NOT I don't really believe this and I don't see how it would matter very much if its true. Modern OO languages all offer a similar set of basic features and it's no more suprising to find generics in Java or .NET than in C++.

    Ame

  30. What about the native libs? by Kombat · · Score: 1

    Just a second. I know the Java sources have been available for a long time in src.zip. I've consulted it many-a-time. But what about the native code? You know, the actual runtime itself, and all the C code that goes behind all those "native" methods in the Java runtime? Is that code available now too? That's the code you'd really need access to in order to port the JRE to a new platform.

    --
    Like woodworking? Build your own picture frames.
  31. Shills polluting the conversation? by Shambhu · · Score: 1
    FTA:

    The Eclipse endorsement of the Standard Widget Toolkit (SWT) destroyed that organization's interoperability story, according to Gosling. "It's a toolkit based on the Windows API and getting it to run on other platforms is problematic," he said.

    An Eclipse spokesman disagreed with Gosling's assertions about Eclipse and SWT.

    "I don't believe James really understands how Eclipse works," said Ian Skerrett, Eclipse marketing director. The Eclipse platform works well on Linux, Solaris, Macintosh, and Windows, and the SWT API is independent of the deployment platform, he said.

    "The strength of SWT is that it actually uses the native APIs of the platform," Skerrett said.


    Particularly:

    "I don't believe James really understands how Eclipse works," said Ian Skerrett, Eclipse marketing director.


    So is Skerrett being disengenous when he says that and, if he is, is he just getting back at Gosling for over simplifying?

    Somehow I really doubt that Gosling doesn't understand how Eclipse works in the context and I doubt that Skerrett is dumb enough to think that he does, though I'm less sure of the second point as I don't know anything about him.

    You can make an argument that SWT leveraging OS-specific APIs is a strength, although I don't really like Eclipse under GTK (need to try it with Motif), but I would have preferred it if he had just rebutted the point directly without stooping to slurs.

    Actually, I have no earthly idea where I got these expectations all of a sudden. It's like I relapsed into freshman naiveté. "All debates should be logical and factual. Then the Internet will be one big Web of Peace."

    --
    Rome wasn't bilked in a day.
    1. Re:Shills polluting the conversation? by owlstead · · Score: 1

      "need to try it with Motif"

      Don't, you will like it even less. It's said to be somewhat faster, but that comes at a horrible cost. Maybe you should try the fox-port of SWT instead.

      http://swtfox.sourceforge.net/

    2. Re:Shills polluting the conversation? by Anonymous Coward · · Score: 0

      C'mon, Ian Skerrett is a Marketing guy.
      How can you put their names on the same line I don't know but you should be punished by doing that.
      Ian knows nothing, he just promotes his product, good or bad.
      He was just lucky at this time ...

    3. Re:Shills polluting the conversation? by nikster · · Score: 4, Interesting

      This is pretty childish, but here it goes. SWT is what Swing should have been, only Sun didn't invent it first. Sun went the wrong way when they chose "pluggable look and feel" over "looks native on every platform" and they still don't get it.

      You might think that a pluggable look and feel (PLAF) is more general - true. But in reality, in real-life apps, you don't want to shock users with your "different but good-looking" GUI. Instead, you want to look exactly the same as all other apps on that OS. In the real world, the PLAF makes the Swing code so complex as to be almost unusable / unfixable, costs an insane amount of engineering resources which explains why it performs well only on Windows, and remains largely unused. The thing which it is used for most often, namely to look like a native GUI, it does a pretty bad job at. Each new version of the Windows GUI demands a new Java GUI to keep pace.

      Had Sun spent all half the engineering time it spent on Swing on SWT instead, it would be perfect now. I just hope they include it as an official GUI framework in one of the next releases.

    4. Re:Shills polluting the conversation? by TrueSpeed · · Score: 0

      Gosling: "It's a toolkit based on the Windows API and getting it to run on other platforms is problematic," he said."

      "Somehow I really doubt that Gosling doesn't understand how Eclipse works in the context and I doubt that Skerrett is dumb enough to think that he does, though I'm less sure of the second point as I don't know anything about him."

      Judging from the fact that James Gosling believes that SWT is based on the Windows API, I think it would be safe to say that he has no idea on how SWT works and the interoperability of SWT. I would even guess that he's probably never even used Eclipse because of his personal dislike of the organization and how they came up with their name (Eclipse of the Sun).

    5. Re:Shills polluting the conversation? by Shambhu · · Score: 2, Informative

      If you Google a bit you'll see that Gosling does know how it works and that this is by no means a new conversation. Saying that it is based on the Windows API has a grain of truth to it in that while it uses a number of APIs on different platforms, the most work has been done on the Windows API version and (this is just hearsay) that may have influenced the overall development as well.

      Here's a good overview that I should have put in my original post:

      SWT on Wikipedia

      --
      Rome wasn't bilked in a day.
    6. Re:Shills polluting the conversation? by ArtDent · · Score: 2, Interesting

      So is Skerrett being disengenous when he says that and, if he is, is he just getting back at Gosling for over simplifying?

      Actually, I think he was just being polite. "I don't believe James really understands how Eclipse works" is a whole lot nicer than "James is lying through his teeth," which is what I would say.

    7. Re:Shills polluting the conversation? by curunir · · Score: 3, Informative

      One thing that seems to get glossed over in the "SWT is optimized for Windows" argument is that SWT *is* open source.

      IBM put a whole lot of time and energy into optimizing for Windows because it allows them to sell WebSphere studio for Windows. Optimizing for other platforms isn't cost effective, so they didn't do it. But what they did do is release the source, so someone with expertise on other platforms can pick up the ball and run with it and, when it passes all the tests, be merged back into the main eclipse source tree. The extensive tests are key in facilitating this process.

      If SWT were to be included in the JRE, I think you'd see at least Apple (who distribute their own JRE anyways) spend sigificant effort in making SWT performant on OS X. I don't think its unreasonable to think that such an effort wouldn't be organized for Linux as well. But as long as SWT is just "that Eclipse thing", these efforts won't happen.

      My one quibble with what the GP said is the "SWT is what Swing should have been" comment. SWT wasn't designed to be what Swing tries to be. It was designed to be much less OS abstracted. Much of the ugliness of the underlying OS filters through into SWT (widgets requiring parent composites, requiring developers to call dispose, requiring developers to update widgets via syncExec and asyncExec). JFace, on the other hand, is much more comparable to Swing. It burries much of the ugliness of SWT and presents a much cleaner interface to the developer. It's a shame that the people at Eclipse chose to create only an SWT download and an RCP download and not a JFace + SWT download.

      --
      "Don't blame me, I voted for Kodos!"
    8. Re:Shills polluting the conversation? by Anonymous Coward · · Score: 1, Insightful

      Uhm, what?

      You have to be kidding... With all of the uber popular web programs out there that look *nothing* like windows, all of a sudden a native look and feel is your topmost priority?

      Even aside from that, I don't understand at all where people can reasonable call eclipse a program that looks like windows. Have you ever pulled up word and eclipse next to each other? Look at the tabs! The colors! Nothing like windows.

      As much as I like eclipse, I find all these arguments really silly.

      Just like the now 4 or 5 year old arguments about how slow java is, or how slow Swing is. (Neither of which are true by the way, and I have a large swing application running against a 1GB-sized database to prove it).

  32. Re:It's available? by magicjava · · Score: 2, Interesting

    You can get the native c code for the vm and such from here: http://java.sun.com/j2se/1.5.0/scsl/README-SCSL.ht ml

  33. From the Article by Orrin+Bloquy · · Score: 2, Funny

    "It's been there for years," Sun CTO Ned Baker replied, "just grep your /java/bin directory for the string 'malloc(all);' and you'll find it."

    --
    "Made up/misattributed quote that makes me look smart. I am on /. and I must look smart."
  34. Re:Swing by lokedhs · · Score: 3, Insightful
    It's faster on Windows too. An interesting comparison is IntelliJ IDEA versus Eclipse. IDEA is significantly faster than Eclipse, even though IDEA uses Swing.

    IDEA is also a lot better than Eclipse functionality-wise but that's not really releveant for this comparison.

  35. Re:Swing by adolfojp · · Score: 1

    Java is great. Java is fast. I agree with your post.

    That doesn't mean that SWING is not slow and bloated.

    Ive used Java apps with SWT and OpenGL that work great.

    I have yet to see or use a SWING app that behaves decently.

  36. Re:Swing by AKAImBatman · · Score: 1

    Advocates of Java countered that hardware would soon be fast enough to render Java's slight speed disadvantage (due to being interpreted code) irrelevant. Plus, a JIT compiler was in the works to make Java run just as fast as native code.

    Just to clarify, Sun originally released Java 1.0 as a "reference" copy for other JVM vendors to test against when developing their own JVMs. As a result, it was lacking a JIT and thus was incredibly slow. That slowness disappeared in Sun Java 1.1 when Sun realized their mistake and began bundling a JIT. At that point in time, Java was still slower but not to any massive degree.

    Sun's development of the HotSpot mixed-mode JVM finally put the performance matters to rest. HotSpot executes real-world code at amazing speeds, sometimes outdoing native code. The only problem is that it isn't optimized for short-lived programs, thus making microbenchmarking absolutely useless. (Not that it has been all that useful anyway. Modern CPUs and Operating Systems do all kinds of tricky trickery to make real-world programs execute faster than micro-benchmarking. Now if only we could get that through people's heads.)

  37. Re:Concerning Java. by Anonymous Coward · · Score: 0

    Ah! A fellow Java developer!

    Did Sun fix the bug where resizing or clicking a JTable column header while editing a cell loses the data?

  38. Re:Swing by Skuto · · Score: 1

    >We're running 2.4 GHz machines, and Java is just as quick and responsive
    >as any other app.

    Do you ever regularly use Java applications? I have the impression you don't, or you wouldn't state such a plainly wrong fact.

    At least on Windows (argubly by far the most important platform), as soon as there is some load, Java applications' GUI reponds MUCH slower than any native application.

    I don't even think this is Java itself being slow, but the Windows kernel giving higher priority to threads that deal with UI elements. Since Java is not having a native GUI with Swing, it can't get the same treatment.

    It's quite easy to test: just start something which puts heavy load on the system, then try to use a Java application. It's not hard to see where the "Swing is slow" idea comes from!

  39. Re:It's available? by GbrDead · · Score: 0, Troll

    This is not a link to the source. This is not even a link to the license, as I suspected sat first. Got any better?

  40. Re:Swing by adolfojp · · Score: 5, Insightful
    Sorry, but this appears to be FUD. If you want a native look and feel you need to put in one line of code to tell the UIManager to use it. A few more lines can give the user control of the L&F.
    No it doesn't. Every app in my system uses font anti aliasing. Every Swing app in my system doesn't. The Swing fonts will look awfull when compared to the fonts of everything else.

    Using themes doesn't work that great with Swing either (Not Swing themes but Gnome, KDE, Windows global themes). Swing apps will stick out like a sore thumb.
  41. Re:Swing by owlstead · · Score: 2, Informative

    Eclipse is running pretty well on the ubuntu 5.10 I must say. I've installed the Sun JDK 1.5 (that's the version we developers still use :) and the latest Eclipse version. I've seen some small idiosyncrasies with GNU classpath, but even that run pretty well. One should not use the default version of Eclipse. Since the installation normally consists of unzipping and running the eclipse binary, you are advised to use the latest version anyway. And I must admit that previous versions were way less responsive. It's still less responsive than Eclipse under Windows, but it definatly is workable.

    SWT is far from perfect. It's definately more a hack than Swing, which is setup very neatly. But it does not matter, it's pretty smooth, has very nice widgets and always uses the underlying platform L&F. The Swing default is the Sun look and feel, which is beautifull, but not something I want. On most applications you cannot set the L&F yourself, and the developers choose either Swing L&F, the platform L&F or even worse, AWT. As long as the Swing applications are not in agreement *themselves* and as long as Sun does not make the platform L&F the default, Swing is doomed.

  42. Re:Concerning Java. by Anonymous Coward · · Score: 1, Informative

    Anyone who has actually made the effort to look at Swing in the past year knows it has come a long way. It looks fine, runs nice and fast and is quite robust. Download NetBeans and check it out.

  43. Re:It's available? by magicjava · · Score: 2, Insightful

    Ummm...that error message just says you need to download the source code in order to build it.

    The "restrictive license" you refer to allows you to make any changes you want to the source, but to call your code "Java" it has to pass Java certification. This is to enable the "write once, run anywhere" capabilities of Java.

  44. Let's Define Our Terms by fm6 · · Score: 5, Insightful
    Half the issue here is that everybody (including the Slashdot editors, natch, but a lot of other folks as well) is very sloppy with the terms "Java" and "Open Source"

    Java is not the Java Development Kit, or any other specific peice of software. To Sun, "Java" is a trademark, so they can't even use it as a noun. But the rest of us can get by with thinking of Java as a collection of specifications: the Java language, the Java class libraries, and the Java VM spec. None of these is software — software can only be a implementation of Java.

    That might seem like a silly distinction, until you remember that Sun is not the only vendor for Java implementations. Not only are there commercial implementations, but there are open source implementations of all three, specs. Of course, these all lag way behind commercial implementations, as open source clones are wont to do.

    Anyway, when people say "Sun should open-source Java" what they really mean is "Sun should open-source their implementation of Java."

    Which brings us to:

    "Open source" is not software where the source code is freely available. It software where you can obtain the source code provided you agree to a license. That license specifies that you must make any changes to that source code available to anybody else who agrees to the same license.

    And here's a non-legal issue: if you're serious about making your product open-source, you don't just throw the source code over the wall and say "go crazy!" You make a serious attempt to fold contributed code back into your main source tree. That's a serious administrative cost, and a big reason so many companies are unwilling to OS their products.

    1. Re:Let's Define Our Terms by Raul654 · · Score: 3, Informative

      "Open source" is not software where the source code is freely available. It software where you can obtain the source code provided you agree to a license. That license specifies that you must make any changes to that source code available to anybody else who agrees to the same license. - This is not true. An open source licenses is one that lets you freely copy, distribute, and merge the code into your own projects. There are a number of open source licenses that do not attach themselves to derivative works, such as the Berkeley and MIT licenses (which are even freer than the GPL, in the sense that they have fewer strings attached)

      --


      To make laws that man cannot, and will not obey, serves to bring all law into contempt.
      --E.C. Stanton
    2. Re:Let's Define Our Terms by Arandir · · Score: 1

      Funny how someone who tells us to define our terms uses the WRONG definitions! You are describing "copyleft" which is s subset of Open Source. Much of Open Source software has no requirement that you agree to a license, no requirement that you give back, no requirement to make changes available. X.org is one example. Apache is another. FreeBSD and cousins are yet more examples.

      If the source code is freely available to use as you want, then the software is Open Source. Java is not Open Source because you cannot use the source code how you want. It has nothing to do about requiring reciprocity.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    3. Re:Let's Define Our Terms by jthill · · Score: 1
      That license specifies that you must make any changes to that source code available to anybody else who agrees to the same license.
      You have been misinformed.

      If you DISTRIBUTE your changes, you must also supply your source changes.

      You're perfectly free to keep your changes private.

      --
      As always, all IMO. Insert "I think" everywhere grammatically possible.
    4. Re:Let's Define Our Terms by Tim+C · · Score: 1

      You have been misinformed.

      If you DISTRIBUTE your changes, you must also make your source changes available.

      It's a subtle distinction, but you don't have to supply the source; you have to supply the source on request. That request could well be an FTP, HTTP or CVS connection, for example, but the implication of what you said is that you have to ship source with binaries, which is not the case. (Of course it's often easier to do so, but it's your choice).

  45. Re:Concerning Java. by Jack9 · · Score: 1

    In java, you add a method to reorg the data and redisplay. just like RealBasic!

    --

    Often wrong but never in doubt.
    I am Jack9.
    Everyone knows me.
  46. Re:Check out the java source code! by Anonymous Coward · · Score: 0
    I dunno, C programmers. The type is
    String[]
    as in
    String[] args
  47. How open does it need to be? by Zigurd · · Score: 4, Insightful

    How open does Java licensing need to be?

    Answer: Open enough that the most important Linux distributions will include Java.

    It is correct that Java is close to being FOSS, but that makes it even more the pity that Sun could not make the few adjustments needed to attain this goal.

    Sun should by now be over the trauma of Microsoft attempting to hijack Java and accept things like SWT as the kind of sideshow that the Ubuntu/Kubuntu thing is.

  48. Yes, it is available... by mi · · Score: 3, Informative
    Yes, and the FreeBSD ports (jdk13, jdk14, jdk15) have been building the JDKs from source for years too.

    You do need to "register" with Sun to get the source, but same goes even for New York Times... The registration is free.

    --
    In Soviet Washington the swamp drains you.
    1. Re:Yes, it is available... by Anonymous Coward · · Score: 0, Interesting

      I've been wondering about the whole "OMG SUN MUST OPEN JAVA"-farce every fucking time it occurs on this shitfest.

      It's about time someone invents a device to punch people in the face via TCP/IP and this device is made obligatory by law.

    2. Re:Yes, it is available... by Whiney+Mac+Fanboy · · Score: 1


      It's about time someone invents a device to punch people in the face via TCP/IP and this device is made obligatory by law.


      Let me be the first to say.... ouch!

      --
      There are shills on slashdot. Apparently, I'm one of them.
    3. Re:Yes, it is available... by SillyNickName4me · · Score: 1

      I've been wondering about the whole "OMG SUN MUST OPEN JAVA"-farce every fucking time it occurs on this shitfest.

      And I by now wonder about what you have in your head, theres supposed to be brains in there, but I somehow suggest the shitfest you talk about is in your head instead.

      The problem with JAVA is not avaibility of source (or lack thereof), and that has been true for the last 10 or so years. The problem is that that source is effectively useless. because you cannot distribute the resulting binaries AT ALL. This is a very serious problem for people building Linux distributions and the like (and before you go that that is only a few people, maybe get it into that thing you use for a brain that this concerns all their users as well)

      This is not even talking about platforms to which it would be technically pretty easy to port JAVA, but for which there is no official SUN version whatsoever (OpenBSD for example, and yes, a j2ee environment on OpenBSD makes a lot of sense), in which case you basicly end up having to have each user of such a system compile java from source.

      It's about time someone invents a device to punch people in the face via TCP/IP and this device is made obligatory by law.

      Well, if commenting without a clue would be the standard for this, I'm absolutely sure you are either a massochist or don't want such a device.

    4. Re:Yes, it is available... by mi · · Score: 1
      The problem is that that source is effectively useless. because you cannot distribute the resulting binaries AT ALL.
      You can. You just have to pass a very vigorous compliance test. FreeBSD -- a volunteer organization -- did it, so it can not be unbearably hard.
      in which case you basicly end up having to have each user of such a system compile java from source.
      Since when is "building from source" a bad thing?..

      But, anyway, you should stop the FUD-spreading -- not "each user of such a system". An organization can build a JDK once on a system, and let all users of all compatible systems use it.

      --
      In Soviet Washington the swamp drains you.
    5. Re:Yes, it is available... by SillyNickName4me · · Score: 1

      You can. You just have to pass a very vigorous compliance test. FreeBSD -- a volunteer organization -- did it, so it can not be unbearably hard.

      I am pretty well aware of that they did that, and I also know that the previous time they managed that was for 1.3, running on FreeBSD 4.x

      The point of that is that when you needed 1.4.x, or untill recently, 1.5.x, you were out of luck or had to build it from source, which I have done for years btw, so I quite know that it is possible also.

      Since when is "building from source" a bad thing?..

      But, anyway, you should stop the FUD-spreading -- not "each user of such a system". An organization can build a JDK once on a system, and let all users of all compatible systems use it.


      Building from source is not a bad thing at all in many cases, and I do so all the time, but neither is creating a specific binary package together with some other specific binary packages and distribute that to an enduser who can install it in a few minutes, and potentially with your support run it. I support many such users, often small companies. Since those are not one big organisation, rather, all of them are seperate businesses and individuals, it helps exactly 0, nada that I can distribute a build I did myself within my own organisation.

      Having all of them compile their own version is a situation I do not want to support and is not desired by my customers either because of the required investment in time and knowledge, not to mention the waste of energy in effectively repeating the same thing over and over.

      I am not spreading fud, but you are lacking understanding and/or the ability to imagine a situation slightly different from your own obviously.. either that or you simply can't stand a critical comment about sun and/or java

    6. Re:Yes, it is available... by mi · · Score: 1
      Allowing everyone to redistribute it would make the dream of "write once run everywhere" even more utopical. Various vendors will be blaming other vendors-supplied JREs for troubles with their applications... "Oh, no, you can't use the XYZ's JRE with out product, it is not compatible."

      Sun is right -- you want a JRE, you get it from Sun. Either in binary, if available, or in source...

      either that or you simply can't stand a critical comment about sun and/or java
      I can't stand the factually incorrect statements, that Java is not "open source". The source is, in fact, readily (and anonymously -- the registration is not verified) available, and the cherished "freedom to tinker" is intact.

      What annoys me also is that people are blaming Sun for not doing something they want with Java, while completely forgetting, that without Sun there'd be no Java to begin with. Sun is not twisting your arms -- you can tell those small businesses you are supporting to use something else...

      --
      In Soviet Washington the swamp drains you.
    7. Re:Yes, it is available... by SillyNickName4me · · Score: 1

      Allowing everyone to redistribute it would make the dream of "write once run everywhere" even more utopical. Various vendors will be blaming other vendors-supplied JREs for troubles with their applications... "Oh, no, you can't use the XYZ's JRE with out product, it is not compatible."

      Yep.. like we have 15 different and incompatible perl, php, rub and python distributions from different people.. oh wait..

      The fact that the current licence helped against Microsoft is no proof whatsoever of that being the only possible defense, neither does it say that if there was a different licence at the time, SUN couldn't have done something about the attempt to corrupt the standard.

      Sun is right -- you want a JRE, you get it from Sun. Either in binary, if available, or in source...

      No, they are as wrong as it gets, and seeing their shifting with licence terms, they know their licence is way to restrictive still, just instead of using a known working solution, they try to peal off just enough restrictions to solve the problem for the short term.

    8. Re:Yes, it is available... by mi · · Score: 1
      No, they are as wrong as it gets
      Well, if that's how you feel, you should just stop using them -- and recommending them to your customers.
      --
      In Soviet Washington the swamp drains you.
    9. Re:Yes, it is available... by SillyNickName4me · · Score: 1

      Well, if that's how you feel, you should just stop using them -- and recommending them to your customers.

      That is just silly.

      I disagree with how Sun does something that mostly affects the usability of one of their products. I rather engage them on that. I wrote about this issue years ago, and I know that has been read by people inside Sun. I am not alone in making an argument about the problems with their current distribution restrictions, and I am not alone in dismissing their arguments about why they do not want to open source it, in fact I believe they are completely wrong there. Regardless, Sun shows they are willing to at least try to solve the practical issues (a vendor redistribution licence is comming, lets see the terms and conditions on that one), and technically they have a good solution.

  49. 5.0: Java's Death Knell by Dyst+Mingus · · Score: 2, Insightful

    Although Sun has been generous with their source and created great opportunities for clever developers, Java has generated the need for a new cross platform OO language. The decision to implement generisity using type erasure has irrepairably damaged the run-ime integrity of the language. This will become more and more apparent as people become better aquanted with the new specification. Hopefully the open source community will build on the experience gained through working with Java to create a new truly type safe cross-platform OO language. If not... all hail .NET chime... chime... rattle.

    1. Re:5.0: Java's Death Knell by nasch · · Score: 1

      Could you elaborate?

    2. Re:5.0: Java's Death Knell by Anonymous Coward · · Score: 1, Interesting

      I call utter bull**** on the parent article.

      The type erasure in Java 5 generics was an utterly elegant solution given the constraints involved -- and blows away C++ templates and the object code bloat that is all but intrinsic in their design.

      Nothing, including Java is perfect, but Java as a language is still a lot better than C++ *or* C#. It is good balance of power, simplicity, and readability/maintainability.

    3. Re:5.0: Java's Death Knell by Dyst+Mingus · · Score: 2, Interesting

      Type erasure erases they correct type information of paramatized types and replaces it with its super. Call get class on the object it reports the wrong information. This means you can load any type with the same super or that super type into a collection or to a refrance from persistent data. No error until you try to access a method on the bad object. Type erasure produces incorrect run time information, breaks the rules of inhieretance, and destroys the type saftey of the language. The only arguments i have heard so far for it are "no language is perfect", "we need a solution that works with legacy code", and "its better than ". The first and third arguments, well... some real visionaries, huh? That second dog just don't hunt. Type erasure does not play well with legacy code. Imagine trying to find the line of code that crashed your program when your error is thrown in a completly different place. It was a bad move that cannot be taken back. I think time will show that developers will choose a more reliable and logical solution that behaves predictably.

  50. Re:Swing by lokedhs · · Score: 1
    You can set the L&F yourself. You didn't use to be able to, but their attitudes have changed.

    Anyhow, all you have to do is to set the system propery swing.defaultlaf to the L&F manager that you want to use. If you want to force the Windows L&F for example, use the following:

    -Dswing.defaultlaf=com.sun.java.swing.plaf.windows .WindowsLookAndFeel
    (ignore the stupid space that is added to the above line)

    You can read all the details, along with the class names to use for other look and feels at the Java tutorial page.

  51. outdated truths by Fedarkyn · · Score: 1

    that was true at the time of java 1.1 or nowadays with a very beginner programmer. any application using swing (using the current OS look and feel) behaves in a very similar speed as a delphi app. if u can make a good optimized assembly code, good, but that is not what the market wants. The market wants "developer performance" (speed in the coding process),interoperability and application performance in this order.

    1. Re:outdated truths by Com2Kid · · Score: 1

      any application using swing (using the current OS look and feel) behaves in a very similar speed as a delphi app.


      Yah, like Netbeans for instance! That program is fast!

      Oh wait, no its not. It is a slow POS that takes over 40 seconds just for the INSTALLER to pop up on a 1.6Ghz Pentium M.

      WTF?

      Eclipse is ALMOST as fast as a native app (they still could stand to improve start-up speed a bit) and ranges from just as fast to way faster than MS's recent .NET cruft.

  52. Re:Swing by Anonymous Coward · · Score: 0

    Amen to that. We use a Java-based revision control application here. Compiled to native code, according to the installer. Slower than rocks on my P4 2.8 GHz box. Azureus on my 1.25 GHz G4 under Mac OS X is even worse.

  53. Re:It's available? by Anonymous Coward · · Score: 0
    Actually. I used to work for Sun. I did a lot of support on developers tools but even for me it was very difficult to get to the source. For others that didn't really need it it was basically impossible. That was weird for a company who were otherwise so open about everything.

    It's different now, of course and even external people have noproblem downloading it. That's good since I don't work there anymore. :-)

  54. Re:Swing by iJed · · Score: 1

    Sorry, but this appears to be FUD. If you want a native look and feel you need to put in one line of code to tell the UIManager to use it. A few more lines can give the user control of the L&F.

    Once a Swing application is up and running it's not noticeably slower or less responsive than any other GUI application, assuming its been correctly written, and it will work cross-platform with no changes. I've taken desktop applications from Windows -> Linux -> Solaris -> HPUX with no porting effort.

    This is simply not true. I have never seen a Swing app look or feel native on any platform under Java 5. On Windows fonts look terrible and on the Mac you do not get the standard menus and it is more than common to have incorrectly named items. Under Java 6, on Windows, Swing looks dramatically better but its still not quite right, and certainly doesn't feel like a Windows app.

    SWT, although far from perfect, is a massive improvement over the mediocrity of Swing. It tries to bring the native look and feel to Java applications and succeeds with varying success, depending on platform. SWT has learned from the mistakes of Swing: no one API can provide a good cross-platform solution.

    It is my belief that Swing is the primary reason for lacklustre adoption of Java on the desktop. Nobody actually wants to use applications written to it and so very few people write them. In fact I would go as far to say that Swing is the primary reason for the massive adoption of .NET. Windows Forms may not be cross-platform but it looks and feels native.

  55. Open Source does not mean Free Software ! by Anonymous Coward · · Score: 2, Informative

    Yes, Java is opensource.
    In fact you can get the source code, if you accept to sign a licence restricting you to distribute a modified version or reuse the code elsewhere.

    So basicaly: the source is availabile (it's opensource) but not reusable freely (it's not free software).

    Sun executives often do this confusion when interpreting the F/OSS calls for a free java.

    Meanwhile, linux distributors don't make the same mistake: that's why (java being considered non-free) you won't find the Sun jdk/jre in the redistributed medias of Debian, Fedora Core, OpenSuse or Ubuntu (and *BSD, even).

  56. Re:It's available? by Midnight+Thunder · · Score: 1

    Just create yourself an account, sign in and then follow the links. Believe me I have downloaded the code before, so it is possible.

    --
    Jumpstart the tartan drive.
  57. WAKE UP! by ThePhilips · · Score: 0, Flamebait

    Somebody! Please over there at Sun!!! Do not give that grass to Gosling "The Father of Java" anymore!!!! Or my heart would definitely break.

    "Java is already open source for 10 years" and "Eclipse destroyed interoperability" is... *NO* *COMMENTS*.

    Sun for last ten years - and 6 versions of Java - jumped from one application field to another. Sun's lack of the focus - and Gosling sayings confirm that lack - is sole reason for the problems of Java. Companies just can't trust Sun at that point. (*)

    Eclipse claims are just plainly laughable. And in fact one of the most spoken problems of Java and Sun's control over Java. Since Java slowly moved to server side of computing, Sun payed less and less attention to the one simple thing - GUI. There is no standard Java GUI API. Period. People tried what is shipped with Java SDK - AWT & Swing - shivered and moved on. Plainly unusable. In fact, I do not know single successful Java GUI application which uses Java's native GUI toolkits. Eclipse foundation just did what it had to - filled the gap. Now we have GUI toolkit. Which is quite performant, usable on Windows/Linux/BSD/Mac. And people are pretty happy about it. Even me. And many applications already use it (Azureus as an example pops up in my head). Check the http://www.eclipse.org/swt/community.php for more.

    P.S. Original article includes the pointer that Sun's planing to try assault on embedded space again. Good Luck Gosling. You freaking need it.

    (*) My company wanted to standartize of Java, but backed off the plans. Middle management wanted Java for its stable and rich development environment. R&D manager flat out refused since Java is in fact closed source and there is no sence in adding another dependency to the already huge software package we have. And nobody can assure us what Sun will do tommorow - what if they drop support for M$ Windows?? There is *no* competing Java implementations. And there is no standard for Java.

    --
    All hope abandon ye who enter here.
    1. Re:WAKE UP! by MoreCozmic · · Score: 1

      So what did your company standardize on?

    2. Re:WAKE UP! by Anonymous Coward · · Score: 0

      (*) My company wanted to standartize of Java, but backed off the plans. Middle management wanted Java for its stable and rich development environment. R&D manager flat out refused since Java is in fact closed source and there is no sence in adding another dependency to the already huge software package we have. And nobody can assure us what Sun will do tommorow - what if they drop support for M$ Windows?? There is *no* competing Java implementations. And there is no standard for Java.

      What stupid R&D is this that doesn't know about the IBM JDK for Windows? There are many vendors selling Java stuff and interested in keeping it going for their money related purposes, your reasoning of "Java == Sun" is the flawed, as pretty much everything here at slashdot.

      BTW, are you complaining about "dependency on closed source" and develop applications for Windows, I bet you use a lot of Windows APIs and Microsoft tools don't you?

    3. Re:WAKE UP! by Blakey+Rat · · Score: 1

      Azureus looks and runs like crap on OS X. I don't know if that's a fault of the developers of that specific app, or the toolkit it's running on, but saying "quite performant, usable on Windows/Linux/BSD/Mac" doesn't strike me as being particularly true, or at least, Azureus is a bad example.

      But even if it looks and feels right on OS X, it still can't use OS X services like the spellchecker or drag&drop. That's why Java GUI apps will always be second-class citizens to native apps.

    4. Re:WAKE UP! by Anonymous Coward · · Score: 0

      You're kidding right?

  58. Re:Concerning Java. by Malc · · Score: 1

    Performance isn't the only issue. Appearance and behaviour are too. When Microsoft ships a new verion of their common controls DLL, will my Java app change? Will a Java app today fit-in on NT7 as well as a native Windows app will? When I make global configuration changes to my Windows environment, will my Java app reflect those changes? This has been one of the biggest problems with Java over the years. It's like GTK apps such as GIMP or Ethereal that have their own diabolical (and unusable IMHO) file open and save dialogs, when it could have just been delegated to the OS and done it properly and in a user-friendly manner. When things are uncomfortable to use, people don't use them.

  59. Re:Concerning Java. by heffel · · Score: 1

    To save you the trouble, here are some screenshots
    of JDK 1.6 (mustang) running on Linux under GTK. Notice how Swing
    adapts to the user's desktop theme.

  60. Swing doesn't suck anymore by caseih · · Score: 1

    When Java 6 is released, Swing will use native drawing on all supported platforms. This means under Linux, your swing apps will blend right into your gnome desktop (at least as much as SWT anyway) and on Windows I doubt any user could now distinguish a Swing app from a native app. Sun has put a lot of energy into making Swing fast and good-looking, now that the supporting Java class framework is mature.

    In fact, with Java 6 it is hard to find any compelling reason at all to build SWT apps instead of just using Swing. SWT apps are not portable without bundling specific dlls for each platform. Further SWT isn't even that great of a framework, but it has worked well for what it was made for, eclipse.

    So please stop spouting this continued FUD about how bad swing is. Yes it was horrible in the past and looked like the ugly step-child. But with Java 6 Swing is poised to be a good candidate for serious desktop java use. Even a couple of years ago, Apple's customizations to Swing illustrate that Swing was capable of being a first-class GUI citizen. Apple bundles a number of Java apps that are wrapped in a nice app bundle and no one would ever know there were Java rather than some native binary.

    1. Re:Swing doesn't suck anymore by iJed · · Score: 1

      Even a couple of years ago, Apple's customizations to Swing illustrate that Swing was capable of being a first-class GUI citizen. Apple bundles a number of Java apps that are wrapped in a nice app bundle and no one would ever know there were Java rather than some native binary.

      Except they don't have standard menus, are slow to start, scroll arrows don't work normally and tabbing doesn't behave as set in system preferences. Other than that they look pretty much native!

      Under Java 6 on Windows things have definitely improved. Swing still doesn't look quite right and doesn't feel like you are using Win32 controls but the fonts are at least looking more or less native. They don't look quite the same as every other app though.

      Sun, its time to let Swing die.

    2. Re:Swing doesn't suck anymore by Anonymous Coward · · Score: 0

      How does Swing/AWT magically do graphics without calling to platform-specific libraries?

      Just because they're bundled with the platform, that doesn't mean they're not there. Your only complaint about SWT would go away if it were added into the Java platform, which of course, Sun would never let happen.

    3. Re:Swing doesn't suck anymore by caseih · · Score: 1

      Swing is portable (native-looking Swing) to any platform the JVM and the standard class libraries has been ported to. SWT, on the other hand is only available on the platforms that SWT has been ported to. With Swing I can just distribute an app and it only requires the JRE. Not so with SWT. SWT won't be added to the Java Class library because SWT just isn't that great of a framework given the alternative. Sorry but from a developers point of view, verbose as it is, Swing is a better and more flexible framework than SWT.

    4. Re:Swing doesn't suck anymore by DrXym · · Score: 2, Insightful
      It isn't FUD. I'm writing an app with swing and the paint / resize delays are painful. Perhaps Java 6 will solve everything but to believe that is to ignore those same promises made with every release. Besides which Java 6 isn't even out yet.

      Swing in Java 5 uses uxtheme on XP and it looks far better than other versions, but it is still superficial compared to a native app. Elements such as the file chooser mimic the common file dialog but behave nothing like the real thing at all. A simple demonstration would be to run SwingSet and right mouse on any file in the file dialog and see what popup appears. This is not exclusive to Windows. I suspect the GTK / Mac choosers are just pale imitations of their respective choosers too. Edit fields don't have a clipboard popup for cut / copy / paste operations. Accessibility tools like the Narrator also don't work. Other annoyances include the slow resize time and the way that you have to release a window sizing frame for the contents to resize.

      All these little things are seriously distracting and make a Swing app stick out like a sore thumb. SWT apps aren't native speed but they're not far from it and they pick up the behaviour as well as look of the platform. Given the complexity of an app like Azureus, the performance of the UI is really rather impressive. I don't have a problem with the speed of Java, just Swing.

    5. Re:Swing doesn't suck anymore by loquacious+d · · Score: 1

      Give the man a cigar. Swing's file chooser on OSX is just about the worst thing in the known universe. No sidebar, no columns, no standard keyboard shortcuts, inconsistent behavior, always starts you out in your root user folder, suck suck suck.

      Actually, pretty much all Swing apps on OSX are just 10% too wonky and ugly to really pass as native programs. SWT programs (Azuerus, Eclipse) look like they should be running on Windows (wish they would bundle at least separate icons for running on X), but I prefer that to Swing's barely-native-but-all-crap rendering. (Now if Apple would do for SWT widgets what they did for Swing, then you'd have something--I'd love some sensibly Aqufied SWT tabs, tree views, etc.)

    6. Re:Swing doesn't suck anymore by Anonymous Coward · · Score: 0

      SWT apps are not portable without bundling specific dlls for each platform.

      This could be simply remedied by creating a java.swt package. The only thing preventing this is Suns refusal to open source Java or cooperate with IBM and include SWT in the JRE.

      Further SWT isn't even that great of a framework.

      Now who's spouting FUD...SWT isn't designed to be that great of a framework, it's designed to be as low-level as is possible in Java. JFace is built on top of SWT and is designed to be much more developer friendly. Comparing SWT to Swing is like comparing AWT to Swing. If you want an apples to apples comparison, talk about JFace, not SWT.

    7. Re:Swing doesn't suck anymore by ultranova · · Score: 1

      Given the complexity of an app like Azureus, the performance of the UI is really rather impressive.

      Open up the pieces display of a reasonably large torrent, the one which shows a progress bar for each piece. Notice how these progress bars appear one per second (if you're lucky). Real slick, that.

      Azureus's UI is propably slowest in the planet - I've seen much slicker response from interpreted graphical BASIC programs running on an 8088. Maybe SWT is fast - I doubt it, I've never seen a fast SWT program, but then again, I've only seen Azureus and Eclipse - but Azureus's UI sure as hell isn't.

      Doesn't help that the damn thing uses over 60 megabytes either. Azureus in text mode uses about 40 megabytes, while in graph mode it uses over 100. Lean and mean UI, that :).

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    8. Re:Swing doesn't suck anymore by MadLep · · Score: 1

      Slow, ugly GUI code can be written with any toolkit, likewise nice, fast code can as well. I've worked on several projects with fast, good looking Swing GUIs, so it is possible. In addition, the flexibility that the framework allows is great.

      The problem with Swing isn't the framework itself, but that Sun is terrible at leading by example. There are no "best practices" for developing Swing apps. And the example code that is given usually shows the worst way to do something (Main classes extending JFrame and implementing ActionListener with a several hundred line actionPerformed() containing a mess of if-else code for handling events on various components).

      As a result, most developers fumble about in the dark. A few figure out good ways to do things and produce great Swing apps, most don't and produce something average that adds to the whole "Java and Swing are slow and ugly" myth.

    9. Re:Swing doesn't suck anymore by jZnat · · Score: 1

      This means under Linux, your swing apps will blend right into your gnome desktop [...]

      Nice try, but I use KDE. Where's the Qt version? Qt 4 works as a native interface on Linux, Windows, Mac OS X, and any other platform that Trolltech develops it for. In fact, I'll just stick to using Qt for GUIs as it is cross platform and free. And if I wanted to create a proprietary program (or at least not GPL'd), I could pay Trolltech to get a license to do so.

      --
      'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
    10. Re:Swing doesn't suck anymore by caseih · · Score: 1

      Perhaps Java 6 will solve everything but to believe that is to ignore those same promises made with every release. Besides which Java 6 isn't even out yet.

      You tell me. Java 6 may not be out but you can download the release candidates right now and try it out. Then you can give Sun feedback on the issues with Java and Swing that still need to be worked on. Until you have tried Java 6's Swing implementation it is just FUD. Seems to me like most slashdotters are determined to continue to hate Swing for the foreseable future, even if Java 6 addresses every one of these concerns.

      Yes file chooser integration is an issue. I can't remember if Swing under Java 6 implements native dialogs or not.

    11. Re:Swing doesn't suck anymore by caseih · · Score: 1

      Now who's spouting FUD...SWT isn't designed to be that great of a framework, it's designed to be as low-level as is possible in Java. JFace is built on top of SWT and is designed to be much more developer friendly. Comparing SWT to Swing is like comparing AWT to Swing. If you want an apples to apples comparison, talk about JFace, not SWT.

      Hmm. Seems like you just confirmed what I said. SWT isn't designed to be a great UI framework. And yes, it is just a glorified AWT library. As for comparing Swing to SWT, well, I did not originate that comparison; I was responding to it. But thanks for your post. You've successfully invalidated the original poster's point, which is what I was also trying to do.

    12. Re:Swing doesn't suck anymore by Anonymous Coward · · Score: 0

      Doesn't help that the damn thing uses over 60 megabytes either. Azureus in text mode uses about 40 megabytes, while in graph mode it uses over 100. Lean and mean UI, that :).

      All of which (speed and memory) are problems inherent in the design of Java. I love azureus, but *fuck* I wish they hadn't used Java.

  61. MOD PARENT DOWN! by javacowboy · · Score: 2, Insightful

    The parent is a troll (possibly an IBM troll).

    Sun paid tons of money and spent years writing the class libraries. Why should they give their work away for free? They license this code to IBM, Oracle and BAE for a significant sum. Why should they give up this revenue?

    Sun has changed the licensing for the JRE to allow it to more easily be integrated into Linux distros. The parent is either ignorant of that fact or deliberately omitting it.

    Sun is less likely to maintain to maintain the standard if they open source the code. What kind of ass backasswards reasoning is this?

    Why embrace SWT? This is IBM's attempt to bastardize the JDK. What's more, it's not pure Java. For instance, when I bought my Intel iMac, NetBeans 5.0(pure Java Swing) worked immediately, whereas an SWT library needed to be replaced for Eclipse. Why should Sun integrate a less than fully platform independent competitor's attempt to break a standard?

    See this blog for more analysis on SWT vs Swing:

    http://www.javalobby.org/java/forums/t18544.html

    The jury is out on whether SWT is technically superior to Swing.

    If you think Eclipse makes Java development easy, you obviously haven't used NetBeans 5.0, which is significantly superior to Eclipse in every way. It includes functionality out of the box (JSP compilation) that you need to pay for (MyEclipse) with Eclipse.

    You obviously have an IBM bias with the following stated positions:

    1) Open Source Java so IBM doesn't have to license class library source from Sun.
    2) SWT should be included in JDK, thus polluting the standard.
    3) Eclipse is the best IDE and makes developing Java "easy", with no mention whatsoever of the clearly superior NetBeans 5.0, or, for that matter, IntelliJ.

    --
    This space left intentionally blank.
    1. Re:MOD PARENT DOWN! by Intron · · Score: 1

      2) SWT should be included in JDK, thus polluting the standard. The standard got polluted with the muddled mess between AWT and Swing long ago. Throwing SWT in won't make it any worse. For all its strengths, nobody can say Java has a clean graphics library model.

      --
      Intron: the portion of DNA which expresses nothing useful.
  62. Re:It's available? by wfberg · · Score: 1


    Ummm...that error message just says you need to download the source code in order to build it.

    It says that because you have to do that because they can't download java automatically for you or bundle it because you have to agree to a restrictive license.

    The "restrictive license" you refer to allows you to make any changes you want to the source
    And to not distribute it. In fact, you can only use the source code for "research and development". Even internal use isn't allowed. Let alone distribution. And you can't download the code if you're from certain countries. But if you modify it, guess who gets to use your code for free, and distribute it?

    --
    SCO employee? Check out the bounty
  63. Re:Close... by Topherbyte · · Score: 0


    only counts in horseshoes and hand grenades, and if I'd wanted to hear from an asshole I would have farted.

  64. Java is open sourced to me. by Anonymous Coward · · Score: 0

    All softwares has license oneway or another. Click on accept or not, you have to accept the license to use the software (binary or source). If someone call Java license is propriatary, then I think GPL is not only propriatary to one developers, but millions developers out there.

    I cannot sell GPL software, cannot include it in my own software. So, go with the comparison.

    For those think I am trolling, here are some reasons:

    1) You cannot sell GPL software, you can only charge for distribution of it.
    2) You cannot include it in my own software, unless I make my own software GPL, which either means
          a) For those think GPL is non-proprietary: it's no longer "mine" in a sense that anyone can take it, change it, and charge for it, or
          b) I donot make it open source and distribute it and violate GPL, which means GPL has millions of strings from every developers out there who put work into it. or
          c) I cannot redistribute my software, which means my work is only useful for me. What a waste most of time, and poor economic model.

    1. Re:Java is open sourced to me. by xmorg · · Score: 1

      Its kind of funny, I have been noticing "GPL" licenses, during installation of software now, especially windows software. So in a way Yes, you are correct. Also, certain complex projects that are based on libs that are GPL'ed have issues.

      So in reality OSS is like George bush, enforcing freedom on the world :D

    2. Re:Java is open sourced to me. by PatrickThomson · · Score: 1
      Distribution charges may include, say, downloads. Consider linspire. You can quite happily charge $200 or $2000 for a CD containing binaries and source. HOWEVER you cannot prevent them from then selling it on to someone else.

      Has it ever ocurred to you that people release things under the GPL for precisely those reasons? I'm a selfish bastard, and I don't want people making money off what I do unless I get a cut or get to see what modifications they made, so I can compete directly with them if neccesary.

      --
      I am one of many. My idea is not unique, nor do I expect my voice alone to sway you. I speak in a chorus of opinion.
  65. Re:It's available? by carlos92 · · Score: 2, Interesting

    src.zip doesn't have the sources to the sun.* packages, which contain classes that are not part of the API.

  66. Re:Swing by Anonymous Coward · · Score: 0

    UIManager.setLookAndFeel(UIManager.getSystemLookAn dFeelClassName());

    There you go. Now it matches your system UI.

  67. Re:WAKE UP! ...Smell the Coffee! by erbmjw · · Score: 2, Informative
    (*) My company wanted to standartize of Java, but backed off the plans. Middle management wanted Java for its stable and rich development environment. R&D manager flat out refused since Java is in fact closed source and there is no sence in adding another dependency to the already huge software package we have. And nobody can assure us what Sun will do tommorow - what if they drop support for M$ Windows?? There is *no* competing Java implementations. And there is no standard for Java.
    There are no competing Java implementations!?!

    If you were talking about JVM's there are "competing implementations" please see http://en.wikipedia.org/wiki/List_of_Java_virtual_ machines. If not would you please expand/explain your statement?

    And perhaps when you were speaking of 'no standard for Java' you forgot to look into http://en.wikipedia.org/wiki/Java_Community_Proces s?
  68. Re:It's available? by GbrDead · · Score: 1

    I have also downloaded the source before (even back when my country was in Sun's "terrorist" list). The point is that Java's source is not available enough if one cannot even give a direct link to the download. And we are not speaking of freeness or openness here, just availability.

  69. Re:Swing by egomaniac · · Score: 3, Informative

    These issues are fixed in Java 1.6 (Mustang), due out Real Soon Now.

    --
    ZFS: because love is never having to say fsck
  70. Re:The best Java windowing toolkit isn't Swing or by blugu64 · · Score: 1

    Why no Obj-C love man?? ;)

    --
    "Personal ownership is a hallmark of conservative capitalism. And I don't believe I am entitled to anything that I did n
  71. Re:It's available? by Arandir · · Score: 1

    Don't be stupid. I've looked through my dictionary, and I cannot find the defintion of "available" that states "must have a direct link". Stop being so fscking pedantic. The source is there, it is available, and it is available to everyone. You just have to register. The registration is free. You don't even have to use your real name or address.

    To repeat, THE SOURCE IS AVAILABLE!

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  72. Re:It's available? by SillyNickName4me · · Score: 1

    The point is that Java's source is not available enough if one cannot even give a direct link to the download.

    By that measure, articles from the NYT are not available enough either, you need to register with them as well.. same for many others. Let me just point out that you have a very weird idea of what 'available' means.

    The consequence of the way in which the source is available (specifically the licence) is that you cannot share it with friends, mirror it, or otherwise distribute it without SUN's prior explicit permission.

    That however has to do with freedom and all those other things you did not want to mention. Available however it is, and has been for years.

  73. Re:Check out the java source code! by Midnight+Thunder · · Score: 1

    Well, 'String[] args' has always worked for me in Java.

    --
    Jumpstart the tartan drive.
  74. Re:It's available? by magicjava · · Score: 1

    And to not distribute it. In fact, you can only use the source code for "research and development". Even internal use isn't allowed. Let alone distribution.
    This is simply not true. You're allowed to make any changes you want to the source and redistrubute it under the JRL to anyone who accepts the terms of the JRL. You can publish your changes in whitepapers and share them with colleages.

    What you can't do is claim your changes are Java. And there's a very good reason for this. Java implementations need to be compatable with other Java implementations.

    If you change the source to Java and I want to use your changes, there's no problem with that. But that fact of the matter is I'm probably not going to want to use a hacked, incompatable version of Java that someone is trying to pass off as the real thing. Requiring such hacks to be clearly labeled under the JRL protects me from such things. If you want your changes to be called Java, you have to get them certified as Java.

  75. Re:Swing by GigsVT · · Score: 1

    hahahahahahahahaha

    That's pretty good.

    1960 called, they wanted to remind you about big O notation, and how throwing raw power at something algorithmically shitty won't help much.

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  76. Re:Swing by Anonymous Coward · · Score: 0

    Eclipse isn't slow because it's SWT (on windows, anyway). SWT is often much faster than Swing on Windows. I've written front ends in both. With XSWT, it's also a ton faster to write as well.

    Eclipse is slow because everything is implemented as a plug-in. It's the flexible architecture that IDEA doesn't have that makes it slow (and often unintuitive).

  77. Re:Concerning Java. by Anonymous Coward · · Score: 0

    it's 2006 and they still can't track the font used by the rest of the desktop?
    swing is ugly as hell...

  78. Re:Swing by Jugalator · · Score: 1

    Hmm, if you're saying Swing is algorithmically more complex than a native UI, you better have something to back it up with. I have a hard time seeing why this should automatically be the case for a framework that is responsible for drawing an UI.

    --
    Beware: In C++, your friends can see your privates!
  79. Utter rubbish by Anonymous Coward · · Score: 0

    "UNIX on any of twelve or so different platforms wasn't binary compatible"

    With all due respect, that's pure utter rubbish. ATT System V UNIX for the 386 PC's WERE binary compatible. This was distributed, and modified, by Microport, ESIX, Bell Tech, and others. And it was put on different types of platforms, not just the IBM PC (Cubix was one, Intel's Tahoe box was another; and there were others whose name I forget).

    They were ALL binary compatible. People could, and did, run the same applications on different i386 platforms. The changes were kept to the kernel level, and were mostly driver changes. But at the user level, the libraries and binaries were all compatible.

    Anything which deviated from ATT's standard wouldn't work. But then, according to ATT, you couldn't call that UNIX.

    1. Re:Utter rubbish by Anonymous Coward · · Score: 0

      umm, UNIX is a hell of a lot older than the 386 (like almost 30 years)

    2. Re:Utter rubbish by Anonymous Coward · · Score: 0

      So what's your point? The OP claimed that there wasn't binary compatibility on 12 or so platforms. That's pure nonsense. AT&T and Intel made certain that there was. All of the changes that people made were at the driver level, not the library and utility level. Anyone who created a new i386 platform was guaranteed to be binary compatible; the most they had to worry about were ioctl compatibility, and that's pretty simple.

      It made life pretty simple.

    3. Re:Utter rubbish by Anonymous Coward · · Score: 0

      Anything which deviated from ATT's standard wouldn't work. But then, according to ATT, you couldn't call that UNIX.

      Now that's pure and utter rubbish for ya... IBM AIX, HP-UX, IRIX, Solaris, Tru64, A/UX and (part of) z/OS were/are all UNIX®. There have been many others since it was invented in 1971. Most of these are not binary compatible with each other. Most didn't run on 386's, either.

      Linux and BSD (and thus Apple OS X) are the only mainstream UN*Xes (UNIX-like, but not UNIX®). None of these are binary compatible with each other either.

      What was your point, anyway? Nobody said that binary compatible UNIXes didn't exist, although I don't think there were ever really 12 different flavors in use at any given time, but I could be wrong here.

    4. Re:Utter rubbish by gameforge · · Score: 1
      "With all due respect, that's pure utter rubbish. ATT System V UNIX for the 386 PC's WERE binary compatible."

      Please quote my use of Intel or the X86 architecture in my original post. I referred to Peachtree accounting, which was first released in 1976 and is still made today (although not by Peachtree Software). There was no SVR4, nor a 386 in 1976. There wasn't even System III (or System I for that matter) in 1976.

      "The OP claimed that there wasn't binary compatibility on 12 or so platforms. That's pure nonsense. AT&T and Intel made certain that there was."

      Sun was AT&T's partner there... yet, Solaris X86 code doesn't run on Solaris SPARC, does it? Please try to explain how AT&T ensured that UNIX only ran on 386's. I'm dying to know. Not to mention X86 didn't exist in the period of time to which I'm referring. SVR4 didn't define an assembly language; it included the definition of ELF, but that's just a format for storing machine code.

      For fun, here's some architectures which have run a major, authentic UNIX release:

      • DEC/VAX (UNIX/V32)
      • DEC/Alpha (Digital UNIX)
      • Motorola 68000 (A/UX, others)
      • PA-RISC (Solaris, HP-UX, others)
      • Sparc (Solaris)
      • Prism (HP-UX)
      • MIPS (Irix)
      • IBM System/370 and cousins (AIX, z/OS)
      • RS-6000/Power PC (AIX)
      • X86 (Xenix, SCO, Solaris, many others)


      Are any of these binary compatible? Nope! And this is far from some kind of exhaustive list by any means; there are plenty of variations, succesors, etc. to these, plus entirely different architectures altogether that have run UNIX, even before 1990. Think of all the UNIX mainframes and workstations that have come out since the late 60s/early 70s. Think of the many UNIX "standards" (go look up "UNIX wars" on Google or something).

      Did you even read my post? There was a reason they used to sell software in source code form. Old UNIX's even used to come with their source code, and architecture-porting was one of the reasons why; that's how BSD started. Go figure out what you're talking about, and uncheck that AC box.
    5. Re:Utter rubbish by Anonymous Coward · · Score: 0

      Dude, you're rambling. In 1976, there wasn't even a version of UNIX available outside of Bell Labs, UCB and UNSW. If you're focusing on that year, you're smoking crack. In any case, you just don't know what you're talking about.

      And it was called "Version 6" in that year, just so you know.

      The point is, you claimed UNIX wasn't binary compatible across 12 platforms. I pointed out correctly that it was. Again, you don't know what you're talking about. There was more to i386 than the PC.

      Also, Sun was NOT AT&T's partner at the time that AT&T and Intel were. AT&T was trying to get the industry to standardize on System V, starting in 1983. Sun wasn't interested until the early 90's, when they cut away from their BSD based version, and started Solaris 1.0. Go look up SunOS.

      Please get a clue, because you're mostly spouting uninformed nonsense.

  80. Re:Swing by Anonymous Coward · · Score: 0

    This is just plain wrong. I can smell Java apps from a mile away.

    I have seen Java apps that were quick and responsive (Jbuilder comes to mind). What voodoo was used to accomplish the feat I don't know, but the vast majority of them are sloooow and suffer window refresh problems. Just because a machine is 24 times faster just means that instead of throwing the monitor through a wall, I just want to put my fist through it. What does it say about the quality of a language if it is so inefficient that it needs super powerful machines to run its programs? If Java had some amazing additional features that gave it dramatically innovative capabilities or made it far easier to use, I would say its worth the tradeoff. However, it does not, and hence C++ is still what most desktop apps are written in. Smart pointers alleviate many of the problems usually associated with C/C++ programming.

    When someone solves the old, stagnant problems, I will come up with some fresh new complaints, or probably praise.

  81. Three letters by Anonymous Coward · · Score: 0

    MVC

    Swing pretty much forces you to use it whether it's appropriate or not.

    1. Re:Three letters by am+2k · · Score: 1

      Uhm, MVC doesn't add anything to the big-O notation. At worst it adds some method calls, but that's it.

      btw, Cocoa uses MVC exclusively, too, and nobody complains about its performance.

  82. Re:Concerning Java. by laffer1 · · Score: 1

    You are right that Swing should track the appearance of the desktop. You are wrong that Microsoft does it. Controls look different in .NET 2 vs say apps written in Visual c++ 4. Now that might be because the code is linked static but its still a problem. Microsoft hasn't drastically changed their interface since Windows 95, but if you remember running 3.1 apps on it they looked like shit too. Likewise, Carbon apps sometimes look odd in OSX. Also, using windowmaker with gtk apps or kde with gtk apps can be odd still. There are newer x11 standards to help with these problems, but i just wanted to point out no one has it down perfect yet. Its a great goal though.

    Behavior is a bigger problem. You notice this on OSX running java apps more than any other platform. In fact, SWT doesn't work right in OSX. Don't blame apple, they just ported sun's java implementation and tried to fix the problems you mentioned. What burns me is that sun doesn't have cross platform media libraries to do graphic manipulations and other things you can do in .NET or in a subset of supported platforms. FreeBSD licensed java and now no other bsd can do it. (sun's fault)

    Overall, sun needs to be more open to certifying java jdks on more platforms. This effects linux people to presuming you don't run on x86 or amd64/emt64. What if you run linux on a sparc or powerpc? What if you want to run embedded? Write several times, run in a few places. (that should be sun's new slogan)

    Please someone write a portable, cross platform, object oriented language/runtime with a decent graphical toolkit and useful libraries. Nothing comes close. java implementations can't run everywhere and there are problems. Other implementations like Mono don't work right on most operating systems. (mono runs on windows, linux and partially on OSX and solaris but does not work right on *BSD or anything else i can think of)

  83. SWT is tied to the Windows API? by evil_Tak · · Score: 2, Informative

    I have no problems with SWT-using apps like Eclipse and Azureus on GNU/Linux for either x86 or x86-64.

  84. That's what I thought. by Anonymous Coward · · Score: 0

    I remember, about 10 years ago, when they started to allow people to download the source. It was all very exciting. I downloaded it and made a futile attempt to build it on UnixWare. The build environment from what I recall is atrocious. So anyway, I've always been like "wtf" when I hear stories about opening up Java source, wondering if the whole thing was just a dream.

  85. No, Swing doesn't suck anymore by ^Z · · Score: 2, Interesting

    As an everyday user of Swing apps (and specifically jEdit) I assure you that under Java 5 Swing apps *do* look native enough. I have to strain my eye to find very slight differences. Note that many native win32 apps alter their look and feel uch more, "to stand out", probably. Opera on win32 looks less "native" than most Java apps, and newer MSO apps always keep going for some new and rather alien (though cool) look and feel.

    --

    Computers make very fast, very accurate mistakes

  86. Uhmm... by Svartalf · · Score: 1

    Not quite so clear.

    It's under a license that's not really an Open Source or Free license. The same goes for things like the Java Media Framework- something that could be useful and allow some rather nifty VoIP applications, etc. but is languishing because Sun's the only one that can legally extend it.

    Yes, the source is available, but few, if any can really honestly USE it like one can with Linux, GCC, etc.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  87. I have a slow connection by zymano · · Score: 1

    What language is it written in ? Thanks.

    1. Re:I have a slow connection by Anonymous Coward · · Score: 0

      So? Ask your parents to upgrade your dial-up AOL to something better. Maybe you can get that for Christmas or your birthday.

    2. Re:I have a slow connection by tehcyder · · Score: 1

      Java?

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  88. Let's Define Our Terms Correctly! by ArtDent · · Score: 1

    Thanks for trying, but as it's already been pointed out, open source licenses don't tend to place any restrictions on obtaining or using the code. You need only to agree to the license in order to redistribute.

    The GPL goes so far as to explicitly state as much.

    Anyhow, on to your main point, I think most people around here believe that having a complete, open source implementation of the latest version of the Java specs would be extremely beneficial to Java and the Java community as a whole. So, we can't quite understand why Sun is engaging in stupid double-talk instead of trying in earnest to make that happen. Obviously, the easiest way would be to open source their existing implementation.

    The oft-stated idea that Sun's refusal to contribute is somehow protecting "write once, run anywhere" is simply ridiculous. First of all, that whole notion is pure fiction because new APIs are always being added to the platform. Any code that exploits a new API won't run on an older runtime. And now, with Java 5.0, it's even worse, as, by default, javac produces bytecode that won't run on a 1.4 JVM, regardless of what platform APIs are used.

    Meanwhile, because of the Sun's license terms, most Linux distributions are forced to pick up various open source implementations, none of which are not complete. Instead of getting help from the distributions in solving the problem of Java platform version dependencies, Sun has forced them to make whole situation much, much worse. Write once, cross your fingers, and hope for the best!

    Trying to install and run Java applications ranges from a pain to a nightmare on every single platform. But, really, there's no good reason that I shouldn't be able to launch a Java application as easily as a native binary. Sun can't solve this problem themselves, but they do have the power to take away the roadblocks preventing it from being solved for them.

    1. Re:Let's Define Our Terms Correctly! by Tim+C · · Score: 1

      I think most people around here believe that having a complete, open source implementation of the latest version of the Java specs would be extremely beneficial to Java and the Java community as a whole

      Go on then, get coding.

      Oh, you want Sun to do it for you? Well yes, that would be nice, but they don't want to. You may not agree with their decision, but you have to respect it; it's their code, after all, and they can do with it as they please. On that point I realise that I disagree with RMS; I think that true freedom includes the freedom to restrict what use others make of my creations. I also think that they're free to ignore my creations and create their own alternatives (and no, I don't support software patents at all).

      That said, what little I do release tends to go out under a BSD licence.

      Any code that exploits a new API won't run on an older runtime.

      How could it? You're using a library/class that didn't exist!

      And now, with Java 5.0, it's even worse, as, by default, javac produces bytecode that won't run on a 1.4 JVM, regardless of what platform APIs are used.

      And any Java programmer worthy of the title will know how to change that. Anyone doing anything half-way complex will most likely be using ant, in which case it's a simple change to specify the targetted version (and something that the docs recommend you do, iirc)

      Trying to install and run Java applications ranges from a pain to a nightmare on every single platform.

      If that's true, then either you or your app vendor is doing something wrong. I've installed a large number of Java apps on Windows and Linux machines, and while it's true that a few years ago it could be a pain, these days it's no different to installing anything else. (In fact, the only one that I remember being painful was JBuilder 4 under Linux, and that's because the installer relied on a hard-coded path to a tool which was wrong on my distro, and then tried to uncompress an archive in the cwd, which for the CD install was on the CD...)

      In fact, these days installing and/or running a Java app is generally as easy as installing the JDK or JRE if you don't already have it (one download, one installer to run) and launching a jar file (which under Windows at least is associated with javaw, and so Just Works).

  89. Re:Swing by GigsVT · · Score: 1

    Running all your code in an emulator for a platform that doesn't exist... Yeah that sound like a great idea!

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  90. Re:The best Java windowing toolkit isn't Swing or by RcktMan77 · · Score: 1

    Does writing apps using the Cocoa windowing toolkit provide any substantial performance boost over SWT by chance? I'm seriously ignorant on the topic, and I only ask because it seems from my perspective that the Azureus Bit Torrent client on Mac OS X is a resource hog, not to mention very sluggish in launching. I would say the user interface is even somewhat unresponsive. I believe this application uses SWT, but I could be mistaken. Are Java apps in general just this way on Mac OS X, or are there benefits to be had by switching to a Cocoa Java implementation? Thanks.

  91. Re:Swing by darkpurpleblob · · Score: 2, Interesting
    Using themes doesn't work that great with Swing either (Not Swing themes but Gnome, KDE, Windows global themes). Swing apps will stick out like a sore thumb.
    Indeed. Swing's file open dialog is another example. Sun have attempted to make it look like the native Windows file open dialog, but it doesn't provide all the usual Explorer functionality and totally ignores my places bar customisations. It's a backwards step in usability in my eyes.
  92. Re:Swing by Decaff · · Score: 1

    Running all your code in an emulator for a platform that doesn't exist... Yeah that sound like a great idea!

    It isn't usually a great idea, which is why Java on most computers doesn't do it. On most machines the byte code for the imagined platform is merely a transitional stage before profiling and translation to native code. Sometimes though, it is a great idea. This is because Java byte code is smaller than much native code. So, in low memory situations (such as in memory-limited devices) running java byte code on a JVM is a space-saver.

  93. It's illegal to mod the JRE by Anonymous Coward · · Score: 0

    according to the BCL you have no right to modify the files in the JRE and/or the JDK. Doing so automatically terminates your license for the JRE from Sun.

    cheers,
    dalibor topic

    1. Re:It's illegal to mod the JRE by AKAImBatman · · Score: 1
      Actually, it's against the license to modify and redistribute the JVM. Screwing with your installation won't trigger anything. The salient part of the license is:
      License to Distribute Software. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the Software README file, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality to the Software, (iii) you do not distribute additional software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement, and (vi) you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software.
      The license scrapes close to what you're talking about with the following text:
      Java Technology Restrictions. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.

      However, this is just Sun protecting packages owned by Sun.

      If the license worked the way you suggest, then adding extensions to a JVM installation would automatically terminate your license.
    2. Re:It's illegal to mod the JRE by Anonymous Coward · · Score: 0
      Not exactly ;)

      See http://java.sun.com/j2se/1.5.0/jre-1_5_0-license.t xt

      Note the following section:

      "3. RESTRICTIONS. Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by Sun and/or its licensors. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software."

      Note that the restrictions are unconditional. They hold both for redistribution case and the internal use case. In particular for the internal use case, we can look at the

      "SUPPLEMENTAL LICENSE TERMS"

      "A. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the Software "README" file, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license without fees to reproduce internally and use internally the Software complete and unmodified for the purpose of designing, developing, and testing your Programs."

      I.e. you must not modify Sun's JRE at all, neither for redistribution, nor on your own installation.

      On a side note, Sun, considers deploying applications that make use of -Xbootclasspath to be a breach of the JRE license.

      See http://java.sun.com/j2se/1.5/docs/tooldocs/solaris /java.html :

      "-Xbootclasspath/p:path Specify a colon-separated path of directires, JAR archives, and ZIP archives to prepend in front of the default bootstrap class path. Note: Applications that use this option for the purpose of overriding a class in rt.jar should not be deployed as doing so would contravene the Java 2 Runtime Environment binary code license."

      cheers, dalibor topic

    3. Re:It's illegal to mod the JRE by AKAImBatman · · Score: 1

      See, I have to disagree with your interpretation. By adding the JDK capabilities, you're modifying the installation, not the software itself. Especially since the best method for doing so is to put the dt.jar into the extension folder. In addition, if adding components invalidates your license, then downloading and modifying your JRE installation with the soundbanks would also invalidate the license. But it doesn't.

      The reason why using the "-Xbootclasspath" option invalidates the license is because you're intentionally modifying the distribution of the JRE. Note that it does NOT say that merely using the flag invalidates your license. Only that redistributions using the flag invalidate your right to use and redistribute the JRE.

      Of course, I'm not a lawyer, but it seems fairly clear to me that Sun is worried about redistribution and reverse engineering, not mucking around with your installation. IMHO, a both Sun and judge would agree. (Again, IANAL, so take my interpretation at your own risk.) :-)

    4. Re:It's illegal to mod the JRE by Anonymous Coward · · Score: 0

      Since the soundbanks page comes up empty for me, I have no idea what their license is, so it's hard to guess how the soundbanks license interacts with the JRE one. I would assume that they use the "Supplemental Terms" mechanism, though, to grant themselves the right to do it, without granting you the right to do it with arbitrary files.;)

      But looking at http://java.sun.com/j2se/1.5.0/jdk-1_5_0-license.t xt

      I don't see what in that license would give you the right to copy any jars from JDK into JRE in the first place. The JDK license also only grants rights for internal use & reproduction of "complete and unmodified" software, which does not allow you to do a partial copy of it (only some jars, as you suggest above).

      As for -Xbootclasspath, afaict the person violating the license agreement is the user deploying an application A using the feature to override a class, not someone redistributing the application A, or the JRE.

      The reasoning is simple: the redistributor does not need to have a JRE license in order to develop and redistribute the application A, as he could be using, say, gcj and compiling to byte code. Therefore he may not be bound by the JRE license, so he would not be in violation of it. The only person who is certainly breaching the JRE license is the user depoying application A, as he's the one who is bound by it through deploying the JRE.

      Finally, as far as modifying one's own install goes, as far as I know Sun, they are indeed concerned about people modifying the certified-as-compatibity-test-suite-passing-binary JRE Sun ships, since doing so makes the certification null and void. A modified, uncertified JRE install effectively breaks the promise of true & tested compatibility that a Java(TM) runtime offers to applications running on it, and that's nothing Sun would want to embrace. ;)

      Basically, Sun's whole idea of compatiblity revolves around a concept of a pristine golden master binary, that has been certified as passing the test suites under specific circumstances. If users were allowed to modify those certified binaries upon installation, the certification would not be very useful, which is why users have to agree to use their JRE & JDK "complete and unmodified" and are not allowed to shuffle files around from one into the other.

      IANAL, YMMV, HTH, etc. ;)

      good night,
      dalibor topic

    5. Re:It's illegal to mod the JRE by AKAImBatman · · Score: 1

      Since the soundbanks page comes up empty for me, I have no idea what their license is

      Yeah, they've got a comment in there that looks like this:

      <!------------>

      It seems to screw with Mozilla. I was hoping it was just me. It works fine in IE, and probably other browsers. Basically that page says,

      This page provides different soundbanks which you can download and use with Java Sound. Soundbanks are necessary for correct operation of the internal software synthesizer that ships with Java Sound. By default, the Windows version of the J2RE does not ship with a soundbank, so you need to manually install one to use Java Sound's MIDI engine. Java Sound has a fallback mechanism that uses a hardware MIDI port if no soundbank is available, but it prevents reliable and consistent MIDI playback, so installation of a soundbank is recommended for Java Sound.

      It then explains how to properly futz up the lib/audio directory. The page has no license of its own (including in the download), but there is this blurb at the bottom of the page:

      A Sun Developer Network Site

      Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


      So as far as I can tell, they never explicitly grant you permission.

      Really, when it comes down to it Sun has a specific purpose with their license. That purpose is to ensure that a given Java installation can be relied upon. If you're just screwing around and learning about the JVM by adding JDK features to a JRE, they're probably not going to bat an eye. If, however, you're distributing a "patch" to the general public that makes java.lang.String run 30% faster, they're going to be a bit miffed if that patch starts fscking up peoples machines. So in the end, use a little common sense and the license won't matter too much. After all, Sun doesn't install Sun Police 2 (version 1.2) on your machine along with Java. ;-)

  94. Sort of right by hagbard5235 · · Score: 1

    I'm a big Eclipse fan. I use it daily. I love it.

    However, there are definitely little niggling problems based on it's close relationship with Windows. For example, the Windows clipboard is synchronous, therefore the SWT clipboard is synchronous. The X clipboard is asynchronous, which has caused lock up problems in the past (not present currently). There was a time when you couldn't have ':' in a filename because of the windowisms built in to handle window drive letters. Additionally, since the Eclipse folks seem to think that printing is a function of your widget set, there is still no printing for Eclipse on Linux (since GTK doesn't yet provide printing support).

    So are non-Windows users slightly second class Eclipse citizens? Yes, but not by much, and to be honest, I generally don't notice it at all. Eclipse feels just as good to me on Linux as on Windows.

    1. Re:Sort of right by Anonymous Coward · · Score: 0

      Eclipse under OS X sucks. It's totally un-Mac-like in it's UI, and the UI is slow. Sorry but SWT doesn't impress me on OS X.

    2. Re:Sort of right by adrianhensler · · Score: 1

      If I can add something that might help one person reading this thread with Eclipse issues - tell your virus scanner to *not* scan your Eclipse directory and see if that helps. I know McAfee turns Eclipse into a cold lifeless turd on at least one workstation. Once I excluded that directory everything got a whole lot better.

  95. Re:The best Java windowing toolkit isn't Swing or by bnenning · · Score: 1

    Heh. Of course, the Java bridge is now deprecated (with good reason; Java's lack of dynamism causes large impedence mismatches with ObjC). I'm hoping Apple officially adopts PyObjC as a replacement.

    --
    How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
  96. Re:It's available? by HiThere · · Score: 1

    Yah. I've picked my license, which is why when I *DO* use java, it dialect I use is gcj. That's a license I can live with.

    That said, the gcj libraries are so incomplete that I normally don't use Java at all, but use something else instead. (Just what depends on the project.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  97. Re:Swing by Anonymous Coward · · Score: 0

    The imitation file chooser seems to just accept a nonexistent file name when you press enter, instead of giving an error and letting you make your correction. Odd behaviour. It also doesn't let you sort by modified time in the detailed file listing. Thanks for nothing, you bastards.

    Look at the java bug forums: Many of Swing's detractors people who actually develop apps with it and want it to succeed.

  98. Credibility ? by darthgnu · · Score: 1
    "The cell phone is tomorrow's desktop," Gosling said.

    Thar she blows !

    --
    Freedom is strength, Ignorance is peace, War is slavery.
  99. Re:The best Java windowing toolkit isn't Swing or by am+2k · · Score: 1
    Are Java apps in general just this way on Mac OS X, or are there benefits to be had by switching to a Cocoa Java implementation?

    From my experience, you can't tell wether a Cocoa app is written in Objective C or Java (except in launch time), so there's definitely a difference to SWT.

  100. Truth in advertising by xata_boy · · Score: 1

    What he meant was *some* source to *something* was available. For example, where's the source to the binary module that implements Adler32? What? Java has binary code linked into it? And yes, I'm still waiting for a complete/official specification of what Java and the JVM actually is. Come to think of it, I've been waiting 10 years.

    1. Re:Truth in advertising by mrbobjoe · · Score: 0
      And yes, I'm still waiting for a complete/official specification of what Java and the JVM actually is.
      http://java.sun.com/docs/books/vmspec/ ?
    2. Re:Truth in advertising by xata_boy · · Score: 1

      But that's not an official document. And it's widely acknowledged that Sun's JVM does not wholely conform to this book.

  101. Re:Swing by dolanh · · Score: 1

    Try IntelliJ IDEA.

  102. Java being open sourced... by bill_kress · · Score: 5, Insightful



    Java developers, meanwhile, want to preserve interoperability and reliability, which is maintained by the current rules governing Java, Gosling said. To be certified as Java-compliant, software most undergo a test suite.

    "They really like the fact that we're very compulsive about the whole testing thing," Gosling said.


    Exactly. I think that the people calling for Java to be open sourced don't get the concept. Honestly, I think they must all be either people who are against java just because they have a platform they prefer (A very common occurrence among engineers) or they are trying to destroy the advantages of Java (Simplicity, slow and deeply considered addition of new features, compatibility) in order to make it easier to sell a competing product.

    The fact is, nothing will be gained from open-sourcing Java that you can't get by evolving the existing license (for instance, sun is modifying it to be able to ship the JDK with other products). On the other hand, much will be lost. Sun has been a creator and beneficial guardian of this language, and has crafted it into something that many users just love.

    Now, many people don't need Java. For instance, if you are making a smallish website, you are just stupid if you try to use java--use ROR or .net technologies that just slide together.

    However, if you have a project with an architect, a handful of software engineers and dozens of programmers working on a huge code base at the same time I don't think you can pick a better platform.

    If you are not in java's target audience, please SHUT THE HELL UP about it having to be open source. You don't have to feel bad about java not being appropriate for you! I give you permission to go use a scripting type of tool and solve your problem much quicker, but don't try to mold my favorite tool into something that fits your job just because it has a cool name and you think you should be using it because everyone else is.

    Those of us who really need java like it pretty much as it is--slow intelligent improvements, fewer terse, confusing or overloaded language features and a large number of users more interested in making readable/reusable code (as opposed to the users who just want to get the job done with write-once code). Overall it's just a good, solid, readable language, leave it at that.

    1. Re:Java being open sourced... by The+OPTiCIAN · · Score: 1

      > Now, many people don't need Java. For instance, if you are
      > making a smallish website, you are just stupid if you try
      > to use java--use ROR or .net technologies that just slide together.

      Err - excuse me. Java != J2EE. Java solutions like Jakarta Tapestry and Apple WebObjects do just fine on small websites and the sliding together thing.

      --


      Believe with me, my saplings.
    2. Re:Java being open sourced... by Ozwald · · Score: 3, Insightful

      Clearly you're as clueless as Sun.

      Why is everybody say "it works on my version of Linux"? What about the BSDs? Smart phones? Embedded devices? My own crackpot system using vacuum tubes? We don't want it all open source, all we want is the C code opened, changable, and distributable. The stuff that's platform dependant. Give me this, and I'll know that your JSP web page will work on my server (which it doesn't).

      Sun: You said you had a write-once-run-everywhere platform. Well? Where the hell is it? Do you really think we want the source so we can screw it up? We want what you promised, write once, run on my platform. And as long as I cannot build it for my platform, then it's of no friggen use. And no, you can't make OSS and third parties fill in the gaps, that's when you get the write-once-test-everywhere/lowest common demoninator fiasco that we have now.

      Oz

    3. Re:Java being open sourced... by bill_kress · · Score: 1

      We don't want it all open source, all we want is the C code opened, changable, and distributable.

      Sorry, you are right. that is a completely reasonable thing to ask for. My only assertion is that the Java API and possibly the JVM API should remain in Sun's control. Perhaps when people discuss "Open Sourcing Java", they should be more specific like you just were.

      Is the documentation for that part of the libraries so bad that you can't do a white-box implementation? Or is there just a lot more of it than I thought--I alwasy figured it was just a few low-level routines scattered around the libraries, but I've never looked in detail at that low a level.

      Now, if you are talking the JVM and not the libraries, I suppose that's a little more of a question. For instance, which JVM? Do they have to give away their most highly optomized one, or just one that works? There are already Open Source JVMs, aren't there? If not, I know there used to be a java compilier.

      If this is just a case of Sun being able to write better code than the Open Source community because they invest a ton of money to get a highly optomized virtual machine and that sun doesn't choose to share, I can't say I have a huge problem with that, it would be an awful lot to ask of a company.

  103. Re:Swing by GigsVT · · Score: 1

    You have got to be kidding.

    You are saying a 150 meg JVM is somehow smaller than C code that can run on machines with a few kilobytes of ram?

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  104. Re:It's available? by Anonymous Coward · · Score: 0

    Like many things Sun does with Java technology licensing, it sorta sounds good in theory, but it's next to useless in practice.

    In practice, it is impossible to know if anyone else but you has accepted the JRL, unless you look over their shoulders and see them clicking on it. So putting your code on a web page without click-through is right out of question. Putting your code on a conference CD: out of the question. As a JRL-bound researcher, you need to actively enforce Sun's licensing regime on your peers, and there is nothing researchers love more than to spend their time on Sun's legalese.

    Analogously, while you can in theory publish papers on the code, you may need good lawyers to check your paper submission, since Sun never says just how much quoting in a paper is OK. Your submission, if it describes interna of Sun's implementation, to compare your own better implementation against it, can be particularly interesting for your lawyers, since Sun claims that their source code is a trade secret, for example in the Mustang beta license:

    "Licensee agrees
    that Licensed Software contains Sun trade secrets."

    at http://java.sun.com/javase/6/jdk-6-beta-license.tx t

    Oh, it looks like in Sun's tradition of silent license changes they have changed that recently to say:

    "3.2 Licensed Software is "Confidential Information".
    Licensee may not disclose or use Confidential
    Information, except for the purposes specified in this
    Agreement. "

    which means the same thing.

    cheers,
    dalibor topic

  105. Re:Swing by Decaff · · Score: 1

    You have got to be kidding.

    No.

    You are saying a 150 meg JVM is somehow smaller than C code that can run on machines with a few kilobytes of ram?

    JVMs aren't that big. Almost all new mobile phones have JVMs in, and they are memory limited devices. The J2ME system (Java Micro Edition) typically used in such phones requires only a few 100k for the entire Java system. There is even a J2ME implementation that includes a run-time profiler and native code generator that will fit in under 1MB.

    But anyway, if you read what I posted, I was not talking about the size of the JVM. I was talking about the size of java byte code - the code than runs on the JVM. This byte code is compact, which is why it is increasingly favoured for low-memory embedded systems.

  106. Swing is a Good Thing (TM) by Latent+Heat · · Score: 1

    I don't know about using Swing to build a really resource-intensive application, but for simple data visualization apps, it works just fine. I have written a couple of data visualization apps where you drag a cursor over a drawing and things drag/compute/update, and I have not complaints about the quality of the graphics and the speed of the updates. I can't see writing the type of in-house apps in VB anymore. The one big hangup is the layout manager. It takes some learning curve to understand what it is all about, it takes more learning curve to know how to do layout in NetBeans because the layout is not like VB and will confuse the heck out of you (although the new NetBeans has this new flow layout thingy, I am sticking to the conventional layouts for max portability), and layout takes an awful lot of fiddling to get what you want. Swing may not be the fastest, but it is fast enough for my lab data visualization apps, and it is portable to Windows/Linux/OS X as well.

    1. Re:Swing is a Good Thing (TM) by hibiki_r · · Score: 1

      Most layout problems are solved by FormLayout by JGoodies. It's small, lightweight, and solves most of the stupid GridBag issues.

      As far as layout management, JFormDesigner is fairly inexpensive, and supports both code generation and runtime xml-based layout loading. Add some data binding infrastructure voodoo, and developing Swing apps becomes quite easy.

      I wish that the default table editors worked differently though. I've yet to see a user that found the default behavior acceptable.

  107. -1 uninformed by Anonymous Coward · · Score: 0

    Sun paid tons of money and spent years writing the class libraries. Why should they give their work away for free?

    They're under no obligation to, no doubt. But neither was IBM under any obligation to release the code for SWT, Eclipse, Derby and others. IBM has stepped up and released code under an open source license. As a programmer, I like working in Java far more than I do working in C#. For that reason, I want Java to become as ubiquitous as possible. Opening up the source would go a long way towards making that happen.

    Why embrace SWT? This is IBM's attempt to bastardize the JDK.

    Bzzt. Wrong. SWT was created in response to criticisms of Swing and AWT on the part of developers. Developers wanted an API that was easy enough to use and made their apps look native. AWT failed the first part, and if Swing ever does meet the second criteria, it will be because SWT pushed it to do so. And if you don't like working in SWT, try JFace. It is designed to be developer friendly and is, IMHO, much easier to develop in than Swing.

    SWT was originally written long before Swing or AWT were anything but laughable. If you're going to bash SWT, do it on its merits (there are some), but to claim that IBM was trying to do anything besides solving a serious problem for developers just isn't true.

    What's more, it's not pure Java.

    So is AWT. It's included in the JRE. If SWT were included in the JRE, developers wouldn't have to care that it isn't pure Java.

    ...which is significantly superior to Eclipse in every way.

    Like the way that Eclipse had support for Java 5 language changes almost a year before NetBeans? For a company that is steering the direction of the language spec, that's pretty bad. This kind of absolute statement shows more than anything else that you know very little about this subject. You've probably given Eclipse a cursory glance, decided that it isn't NetBeans, and decided it was shit because you couldn't grok its way of doing things. Of course the fact that every IDE forces you to adapt to its way of doing things and requires a substantial time investment in order to be able to use it well. I've spent considerable time using NetBeans, IDEA and Eclipse. And each time, the process of learning the new IDE was a serious pain. Welcome to the real world. Spend more than 5 minutes with Eclipse and you'll realize that it does a ton of stuff better than NetBeans and a bunch of stuff poorer than NetBeans.

    it includes functionality out of the box (JSP compilation) that you need to pay for (MyEclipse) with Eclipse.

    Wow...that's functionality that takes all of 5 minutes to setup using Ant. That's all NetBeans is actually doing anyways. Of course if my build script is called build.xml (like > 90% of them are), NetBeans can't use it.

    Meanwhile, when it comes to truly necessary features, like AspectJ, NetBeans has no support. By the simple lack of AspectJ support, NetBeans would go from superior in every way to unusable.

    So somehow advocating that Sun follow IBM's lead is simply IBM's being selfish. Advocating that Sun give developers the option to write SWT apps is IBM polluting "the standard" (which is only the standard because Sun says so). And so those of need our apps to look native have to bundle SWT with our apps. Thanks, Sun, for keeping the standard so pure(ly unusable)!

    Yeah, I'm replying to a (Sun) troll...He probably also believes that EJBs scale...

    1. Re:-1 uninformed by javacowboy · · Score: 1

      They're under no obligation to, no doubt. But neither was IBM under any obligation to release the code for SWT, Eclipse, Derby and others. IBM has stepped up and released code under an open source license. As a programmer, I like working in Java far more than I do working in C#. For that reason, I want Java to become as ubiquitous as possible. Opening up the source would go a long way towards making that happen.

      I could make just as ludicrous a statement as "IBM should allow itself to be acquired by Sun to improve Java". You need to backup your statement. It's not a self-evident truth like you make it out to be.


      Bzzt. Wrong. SWT was created in response to criticisms of Swing and AWT on the part of developers. Developers wanted an API that was easy enough to use and made their apps look native. AWT failed the first part, and if Swing ever does meet the second criteria, it will be because SWT pushed it to do so. And if you don't like working in SWT, try JFace. It is designed to be developer friendly and is, IMHO, much easier to develop in than Swing.


      The fact is that SWT works far better in Windows than in Linux or anything other OS. Therefore it defeats the cross-platform purpose of Java. Explain to me why NetBeans for OS X, which was never designed for Intel Mac, worked out of the box for my new Intel iMac whereas I had to hack an SWT jar for Eclipse, a change which still hasn't been integrated into the main Eclipse build, after almost half a year of Intel Macs.



      SWT was originally written long before Swing or AWT were anything but laughable. If you're going to bash SWT, do it on its merits (there are some), but to claim that IBM was trying to do anything besides solving a serious problem for developers just isn't true.


      By breaking a cross-platform standard and corrupting a language spec without the consent of the JCP. This falls just short of Microsoft's attempts to wreck the Java spec.


      Like the way that Eclipse had support for Java 5 language changes almost a year before NetBeans? For a company that is steering the direction of the language spec, that's pretty bad.


      I suppose you can prove this?


      This kind of absolute statement shows more than anything else that you know very little about this subject. You've probably given Eclipse a cursory glance, decided that it isn't NetBeans, and decided it was shit because you couldn't grok its way of doing things.


      That's awfully presumptuous and utter fallacious of you. I run Eclipse at work every single day. My company has not approved NetBean, so I can only use it at home.

      Of course the fact that every IDE forces you to adapt to its way of doing things and requires a substantial time investment in order to be able to use it well. I've spent considerable time using NetBeans, IDEA and Eclipse. And each time, the process of learning the new IDE was a serious pain.

      Yeah, you have to learn new technologies every day. Sucks to be a programmer, doesn't it? Perhaps you should consider changing careers.


      Welcome to the real world. Spend more than 5 minutes with Eclipse and you'll realize that it does a ton of stuff better than NetBeans and a bunch of stuff poorer than NetBeans.


      I've spent...oh....at least two years running Eclipse and about six months running NetBeans, so perhaps you should refrain from making stupid assumptions before you post.


      Wow...that's functionality that takes all of 5 minutes to setup using Ant. That's all NetBeans is actually doing anyways. Of course if my build script is called build.xml (like > 90% of them are), NetBeans can't use it.


      I call bullshit on this one, and I seriously doubt you know what you're talking about. NetBeans integrates totally with ant. All I have to do is right-click on my project and choose the ant task I want to run. NetBeans does this far more seamlessly than Eclipse. Also, explain to me how an ant script can su

      --
      This space left intentionally blank.
  108. Re:Swing by Marcus+Green · · Score: 1

    Go to any Job recruitment site and try a search on the keywords Java and the keyword C++ and I think you will get some idea of the use of these two languages. (You might check out C# and VB whilst you are at it).

  109. Re:Swing by adolfojp · · Score: 1

    I followed your advice and downloaded a 30 day trial. I must admit that I was impressed with its performance and memory footprint. I decided to compared it with Visual Studio 2003 Enterprise Edition in terms of memory and loading time.
    IntelliJ: 65 MB 10 seconds
    Visual Studio: 14 MB 4 seconds

    I didn't mind its memory footprint and loading time. You are right in suggesting that Swing is competitive in that area if used correctly.

    What I consider to be unnacceptable is its fonts. They are terrible. It looks like a 5 year old application. Lets hope that "mustang" does a better job. Even if it does, it would have only succeded in catching up 5 years late.

  110. Re:Swing by VGR · · Score: 1
    Java's language features were updated only when it got some competition from C#.

    According to http://www.jcp.org/en/jsr/detail?id=14, discussion on generics officially began on May 11, 1999. (Exactly seven years ago.)

    According to http://www.jcp.org/en/jsr/detail?id=201, discussion on enums, foreach loops and autoboxing officially began on December 3, 2002.

    According to http://www.jcp.org/en/jsr/detail?id=175, discussion on annotations officially began on March 19, 2002.

    Those are just the beginnings of formal proceedings. It's probably safe to assume the concepts were in someone's head well before those dates. The JCP doesn't just let every whimsical thought immediately become a JSR, after all.

    But you shouldn't need hard dates. Compare how many times Microsoft has created something from scratch successfully, with how many times they've copied other people's work. Suggesting they invented those language features is like suggesting AOL invented the Internet.

    --
    The Internet is full. Go away.
  111. Re:Concerning Java. by Anonymous Coward · · Score: 0

    10 years to catch up with other toolkits after years of bad performance causing customer ill will and marketing lies about who's at fault. Uhh... hurrah?

  112. MOD PARENT UP by metamatic · · Score: 1

    See, this is what Gosling is apparently missing. Whether the source code is theoretically available or not, the open source community is never going to be happy about a license that's so restrictive it even dictates what command line arguments you are allowed to use when running the software.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  113. Re:Swing by Anonymous Coward · · Score: 0

    We're running 2.4 GHz machines,

    I'm running a 1.8 GHz machine, thanks. And the machine in the corner over there is 566 MHz.

    and Java is just as quick and responsive as any other app.

    Eh... slightly but noticibly less responsive and eats more memory. But that's with SWT on Windows...

    You can write your app in Java, or you can add 10% more features.

  114. what nonsense! by Xtifr · · Score: 1

    > Exactly. I think that the people calling for Java to be open sourced don't get the concept.

    On the contrary, I think it's you who doesn't get the concept! I like (for example) OpenBSD because they're very compulsive about the testing. Yet they are open source! No one is asking for Java-the-language to change! Or the development model. Java can continue to be developed and husbanded by Sun just fine, even if it's open source. All we are asking for is the right to control our own machines IF PROBLEMS ARISE! And the right for our vendors to provide better integration--even those of us who use open-source-only vendors!

    There seems to be a large segment of the population who think that being "open source" means that anyone can modify the code and stick in whatever they want. Well, guess what--that's STUPID! Sure, Joe Blow could, in theory, make his own weirdo variant of Java, but WHO WOULD USE IT? If Sun's version is indeed as good as you claim, nobody is going to want any third-party variants! Whether or not it's open source! Microsoft might try to make an incompatible version? Here's some news for you--THEY ALREADY DID, and they named it C#!

    Java being open-sourced is unlikely to have any impact on the language or how its developed. So, why do we care? Because having it be open-sourced is the ONLY WAY that it will EVER be included with and supported by Debian, Fedora, OpenSUSE, Ubuntu, the BSDs, etc., etc., and many of us use those systems on a daily basis! And we see no sign (based on all the software included with those systems) that there would be any possible downside to an open-source Java.

    So, please take your straw men and your red herrings and go peddle them elsewhere!

    1. Re:what nonsense! by bckrispi · · Score: 1
      So, why do we care? Because having it be open-sourced is the ONLY WAY that it will EVER be included with and supported by Debian, Fedora, OpenSUSE, Ubuntu, the BSDs, etc., etc., and many of us use those systems on a daily basis!

      Seriously, how fucking lazy to you have to be not to go here and download it your self. "Java sucks because it's not included with my favorite distro". Waaahhh!

      --
      Xenon, where's my money? -Borno
    2. Re:what nonsense! by sproketboy · · Score: 1

      Thanks. I was going to say that too.

    3. Re:what nonsense! by bill_kress · · Score: 1

      If you feel that way, why do you care if it is open source. Just use C++ and be happy with it. Can't you accept that there is a language that doesn't have to run on your computer? Can't you accept that I would prefer such a language even if it doesn't suit you?

      Also, aren't there open-source java solutions you could ship? It's not like sun is doing anything tricky here... They are very clear about documenting the API.

      What's the actual problem here? Please, yours is exactly the argument I'd like to understand.

    4. Re:what nonsense! by Anonymous Coward · · Score: 0

      I hope you realize how close you are to the legendary linux apologists. Such justifications as yours never work BTW. Basically you are saying "It's ok to ship applications that do not work until the user goes to a weird URL and download a package which happens to be the runtime environment for those applications".

    5. Re:what nonsense! by Xtifr · · Score: 1

      What part of "and supported by" don't you understand? You think maybe support is a non-issue in the real world?

      Anyway, there's more involved than just downloading. It has to be deployed to all the machines I might want to use it on. I've got that automated for Debian. And yes, I could use some other mechanism for that one component, but that's a lot more flippin' work than you seem to be suggesting.

      Oh, and not all my Linux boxes are x86. So you're asking me to do a whole lot more than just download.

      And who said "Java sucks?" All I said is that there is no valid excuse that I've heard for NOT open sourcing it. I didn't even say it should be open-sourced. I'm simply pointing out that great-granparent's "reasons" for not open-sourcing it don't stand up to scrutiny, and the arguments for open-sourcing it, do, at least, have some validity, however minor.

    6. Re:what nonsense! by Xtifr · · Score: 1

      > If you feel that way, why do you care if it is open source.

      I don't. I was responding to an argument for why it shouldn't be open sourced. I'm not saying it should be open-sourced, but I am saying that those arguments against open-sourcing it were nonsense.

      I don't care, but what I fail to understand is why Sun cares so much! I have yet to hear one sensible argument against open-sourcing it, and, given that, any argument for open-sourcing it, no matter how weak, should carry the day. Unless Sun's management is full of idiots, which, frankly, is a suspicion I've nurtured for years. For mostly-unrelated reasons.

    7. Re:what nonsense! by bckrispi · · Score: 1
      What part of "and supported by" don't you understand? You think maybe support is a non-issue in the real world?

      You know, I've been programming Java professionally for seven years now, including production support. Three of my last four gigs have been for Fortune 100 companies. I've seen every production issue from misconfigured application servers to the Halon system going off. Never once has an issue been raised that required Sun's support for Java. Never! And if it ever did, we had a support contract with Sun that ensured a tech would be on-site within 12 hours... Even for the Linux boxes.

      Anyway, there's more involved than just downloading. It has to be deployed to all the machines I might want to use it on. I've got that automated for Debian. And yes, I could use some other mechanism for that one component, but that's a lot more flippin' work than you seem to be suggesting.

      No more work than deploying any other package that isn't included with the OS distro. Quit bitching and start scripting!

      --
      Xenon, where's my money? -Borno
    8. Re:what nonsense! by Xtifr · · Score: 1

      And I've been programming professionally in a wide variety of languages for over twenty-five years, and I still don't see what that has to do with the price of tea in china. You continue to ignore my point (deliberately?) so let me say it one more time:

      "...there is no valid excuse that I've heard for NOT open sourcing it. I didn't even say it should be open-sourced. I'm simply pointing out that great-granparent's "reasons" for not open-sourcing it don't stand up to scrutiny, and the arguments for open-sourcing it, do, at least, have some validity, however minor."

      It doesn't matter HOW bloody easy it is to deploy, the fact is that not open sourcing it is an unnecessary obstacle, however minor. I'm asking WHY THE HELL ARE THEY PUTTING OBSTACLES IN MY PATH, and all can you say is "well, gee, it's not that big of an obstacle." That's COMPLETELY IRRELEVANT!

  115. Re:The best Java windowing toolkit isn't Swing or by DRM_is_Stupid · · Score: 1

    Okay, let's do a comparison:
    * Swing: cross platform
    * SWT: cross platform
    * Cocoa: not crossplatform
    Hmm, this is a hard choice...

  116. We already have it. It's called Ocaml. by Anonymous Coward · · Score: 0

    We already have a typesafe OO language: Ocaml. You can read more about it at ocaml.org.

    Those of us in the know have been using it for years for very significant applications. Besides offering native compilation on most popular UNIX platforms and Windows, it also offers a bytecode interpreter. The performance of both is superb.

  117. Re:Concerning Java. by VGR · · Score: 1

    That's your fault.

    Editable table cells are an idiocy. They're a contrivance that some fool stuck in there because people saw a JTable and immediately reacted with "it looks like a spreadsheet."

    Can you think of any native widget set, anywhere, that provides editable table cells? An embedded Excel component doesn't count.

    There are dozens and dozens of open bugs regarding editable table cells. As a user interface, they suck. Do yourself and your users a favor and don't ever use them again.

    More to the point, since they aren't part of any existing widget set, there's no specification for their behavior. The reason all those bugs exist is that no one has ever defined how editable cells should behave! The closest reference is Excel, but it has almost no other objects which can take focus, so it can't define focus behavior.

    And no, you do not need editable table cells. Want to let the user change a text value? Have a button that brings up a little prompt dialog. Want to have changeable boolean values? Have nearby buttons labeled "Enable" and "Disable" (or whatever applies to your boolean column). You'll even gain the side benefit of letting the user change several rows at once, which is probably a better interface than forcing the user to individually click a checkbox inside a cell on each of the fifty rows he wants to change.

    --
    The Internet is full. Go away.
  118. Re:Swing by Blakey+Rat · · Score: 1

    Practical experience on my OS X box leads me to the conclusion that Java is as slow as ever. Take an application like Art of Illusion, and you can see the lagginess in the GUI and the painful slowness of simple operations like "Save."

  119. Re:Swing by Blakey+Rat · · Score: 2, Interesting

    Also remember things like drag&drop, integrated spell-checker, support for text-to-speech code (the "speak text" command in the Edit menu), AppleScript responsiveness... those are all part of the "feel" of Mac OS, and Java doesn't do any of them.

  120. Re:Swing by Anonymous Coward · · Score: 0

    Sounds like someone decided to sleep instead of going to lectures.

  121. Re:We're beyond Java these days. by JoshDanziger · · Score: 2, Informative

    I'm a few years out of programming languages, but it sounds to me that you're butchering the use of dynamic vs. static languages. To my knowledge, dynamic/static is used in programming languages to refer to two properties: scope and typing. This is, of course, not to be confused with compiled vs. interpreted languages.

    So, why are dynamically typed languages popular? They're popular because they know how to do things implicitly. We get these niceties like the ability to use numbers as strings without calling atoi, or use input strings to do math. Basically, dynamic typing lets you code faster because you don't have to constantly worry about casting things to the appropriate type.

    Dynamically scoped languages are, in my opinion, rarely useful. The only valid use that I have ever had is to temporarily override a global parameter. For example, in Perl I might call local $/ = undef ; to temporarily enable 'slurp mode' in Perl. However, this is pure laziness, I could just as easily store $/ in a temporary variable and restore it when I'm through. Finally, even though languages like Perl are dynamically scoped, a sane programmer would never take advantage of this feature. How can you debug a value when you aren't sure where it came from?

    Finally, Java/C are not free from runtime type detection errors. Java will happily throw a ClassCastException if you try to cast an Object to something that it is not. C makes it even worse and will dutifully make the cast and entirely muck up your data structures when you try to use the improperly cast object.

    In my opinion, people don't use languages like Ruby/Perl/Python because they are superior architectures. They use them because they are easier to learn.

  122. Re:We're beyond Java these days. by mikeburke · · Score: 1

    I think you need to cut down the number of blogs you read..

  123. Re:The best Java windowing toolkit isn't Swing or by mrchaotica · · Score: 1

    You're taking my post way too seriously...

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  124. Re:Concerning Java. by Anonymous Coward · · Score: 0

    > Can you think of any native widget set, anywhere, that provides editable table cells? An embedded Excel component doesn't count.

    I don't know. Does Windows Explorer in 'details' view count as a table? Clicking on the headers, resizing, or clicking on some other component while editing a filename seems to have decent non-retarded behaviour, that is, commit the changes.

    Speaking as a user and not a developer, I consider that good default behaviour. Doing the same thing with the Swing windows-imitation file browser (viewing files in detail mode) causes the edits to be lost.

  125. Stupid Gosling by shareme · · Score: 1

    Ahem and what pretell is the c-cdoe in Awt based on perchance?? Give you a guess Unix, Windows, andother platform windows toolkit apis.. Gosling should know better thanb to spout off PR bullshit.. SWT is not based on Widnows UI kits as it plugs into not windows UI kits but systme apis.. instead..

    --
    Fred Grott(aka shareme) http://mobilebytes.wordpress.com
  126. Re:Swing by Anonymous Coward · · Score: 0

    Yeah, that's because all the poor fucking companies developing their
    applications in Java end up needing 10x as many programmers and 4x
    as much time as they thought they would.

    Java gets you 80% of the way there very quickly.. then you want to
    do something a bit different to what the standard library wants to
    provide and you end up dipped in dogshit.

    Posted anonymously to protect my company's share price.... I wish
    to fuck I had never let my senior partner insist on going down the
    java path. I swear to God I would be rich by now if we had used C++.

  127. Re:Swing by RedWizzard · · Score: 1

    I don't use OSX, but under windows drag and drop between java apps and non-java apps certainly works.

  128. Re:Swing by ShakaUVM · · Score: 1

    Yep,

    I've written my fair share of SWING apps, and they all suffer to some degree or another cross-platform compatibility issues (running on an SGI NT Box turned the whole screen orange), as well as slow refresh speeds and occasional problems not updating the screen at all.

    Professional SWING apps seem to mitigate this somehow, but perhaps it requires some deep magic I'm not familiar with. A friend of mine had a SWING app that took 3 minutes to redraw the screen. I could at least help him with that one (he was wastefully putting way too many components on the screen), but nothing I ever experimented with could solve the aforementioned problems.

  129. Re:Concerning Java. by Anonymous Coward · · Score: 0
    FreeBSD licensed java and now no other bsd can do it. (sun's fault)
    Wrong: Java Standard Edition Authorized Licensees.
  130. Re:Concerning Java. by jafac · · Score: 1

    Okay - I don't understand.

    If Swing is good, and Eclipse is good, but Eclipse uses SWT which breaks interoperablity, is there a way to use Swing with Eclipse?

    --

    These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  131. Re:The best Java windowing toolkit isn't Swing or by mrchaotica · · Score: 1

    Why no love for Obj-C? 'Cause it was a discussion about Java, of course!

    Also, I've never done any programming for the Mac (except for UNIX console apps in C), so I have no idea what I'm talking about anyway. I was just trying to be funny.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  132. We want Java Free as in Freedom by nukem996 · · Score: 1

    I think the big mistake Sun has is that it is confusing what people mean by open source. When someone says open source they mean not only is the code fully open source but you can change it, redistribute it, and even submit patches to Sun. If you look at http://www.sun.com/software/communitysource/j2se/j ava2/download.xml you will see a few files for the Java souce code. One is simple labeled "JSCSL Source" but another is labeled "SCSL Binaries - needed to complete source build" so Java isnt fully open source. The first thing they need to do is make it so I can download just the source, with no binaries, and compile it on any OS/arch mixure I want. The second thing they need to do is change the license just a bit so that I can redistribute the source code on my own. I think most people would be fine with Sun making their own license that says you must say it isnt the offical Sun Java if you choose to redistribute it. I think right now Sun's big problem is that they dont want something stupid that you do effect Java's reputation.

  133. Re:Swing by nukem996 · · Score: 1

    I wrong a Java app to let me do a few things in school and the Swing file open dialog gets past most of their security. I can open many files which are block under win normaly. I dont know if thats a big with Windows, Java, or Novell(they use that to block everything) but its pretty funny/cool.

  134. Re:We're beyond Java these days. by kiwipom · · Score: 0, Flamebait

    WTF! Do you actually have a job or are you 14 and living with your parents? You've obviously got 0 understanding of the real world, or your just too dim to be anything but a script kiddy. PS. I'm not new here, just fed up with script kiddies ;-)

    --
    Dum spiro spero
  135. IBM's source by lon3st4r · · Score: 1

    On a related note: would anybody know if IBM's rendition of Java is open sourced?

    1. Re:IBM's source by Anonymous Coward · · Score: 0

      IBM is an official Java licensee, and therefore bound by the same terms as other Java licensees. This means that they cannot "open source" their Java implementation, even though there is every indication that they'd like to (IBM have called on Sun to make Java truly open source on several occasions).

  136. You are quite incorrect. by Anonymous Coward · · Score: 0

    Your knowledge in this matter is obviously lacking.

    With respect to programming languages, 'dynamic' and 'static' are oft used to describe when typechecking takes place. Many languages, like Java, offer some degree of both. Static typing is when the datatypes of variables, arguments, etc., are determined and verified at compile time. Dynamic typing is when such information is determined at runtime.

    The very least you could do at this time is go to Wikipedia, and read up on such things. At least then you'll understand what is being said here. Of course, there are also many textbooks available that cover these topics, but frankly I don't think you're at a level of understanding to even begin to comprehend them.

    I don't know why you're talking about scope. It has nothing to do with this topic whatsoever.

    And your analysis of dynamic languages is completely mistaken. In many dynamic languages you do have to take care to convert data of different types into compatible forms in a correctly-functioning program. Basically, everything you said in that paragraph is incorrect.

    The main problem with dynamic typing is that you could easily (without warning from the compiler or interpreter) pass the string "Hello" to a function or method that takes an integer. At least with a statically typed langauge, such a mistake would be caught by the language implementation, and you'd have to manually override it (ie. with a type conversion function, a cast, etc.). If such an error is in a codepath that is called infrequently, you may very well never find the error until you have shipped the software. Nothing sickens a customer more than finding such bugs. And any developer who is responsible for such easily avoided issues should be ashamed.

    It was not suggested that Java nor C were immune from runtime type errors. Indeed, any language that allows casting opens itself up to problems. A language like Haskell does not allow such reckless behavior, and as such is far safer. Typing errors are always caught at compile time, not at runtime.

    In any case, you are obviously quite confused about the differences between statically typed and dynamically typed languages. Please read up on these subjects further, before you make a fool out of yourself again.

  137. Re:Swing by Anonymous Coward · · Score: 0

    Indeed, MS wanted to implement (nobody claimed MS "invented" any of this) most of those features in Java about 8 years ago, but Sun sued them. When MS couldn't put the features into Java, they went ahead and created C# and put the features there instead.

    People have been experimenting with generics in Java for 10 years now. The only reason Sun actually shipped an implementation of it is because they had to compete with MS. I can understand why it would take a long time though, because there's no easy way to do generics in Java without breaking precious compatibility, so they had to resort to type erasure.

    Of course MS had enumerations built into Java back in 1998. Why did it take Sun 4 years to even start discussing it? You'll notice that they started discussions on foreach, autoboxing, enums, and annotations in 2002. Microsoft shipped C# with those features in 2002 (although I first read the specs in 2000). Coincidence?

    dom

  138. Java, oh my Java by vpalexander · · Score: 1

    Unmiserly but teething Beast It is Twisting and seething And of discordant beliefs Oh a wonder! Or haphazard miracle I don't mind all the parentheses But standards from commercialism should have died in the 80's.

  139. Worked with IBM OTI on SWT before Eclipse by IDontLinkMondays · · Score: 1

    I worked with IBM Object Technologies Inc, the original author of the Standard Windowing Toolkit when Eclipse was so new that they wouldn't even release test copies to developers working with IBM and OTI. SWT originated as a layer that OTI was using for implementing a cross platform compatability layer to allow porting AWT and Swing to mobile platforms to be easy.

    The fact is, since I have extensive experience working on SWT from porting it, I can clearly say that it definately was not a Windows based toolkit in anyway. Long before hearing about Eclipse, SWT was already ported to many different platforms.

    SWT had its problems. Even propagation was probably the most complex of them, but in reality, it was no more or less platform dependant than AWT itself. If you've ever read the code from Sun for AWT, you'd know that it was somewhat of a disaster. It was a nasty compatibility layer that instead of embracing platform differences, was minimized to remove the difference instead.

    I have ported AWT to two windowing toolkits and frankly, time and time and time again, I found that the only practicle way of making AWT work on a new platform/windowing toolkit was to implement an SWT style GUI library in Java first, then build the AWT layer on top. This was also nasty in a way since it meant that it was extra important to make the new windowing toolkit not suffer the same incredible limitations that AWT itself did.

    Also, let me make it perfectly clear, AWT and Swing, no matter how you skin them, they never integrate into the platform nearly as well as building on the native toolkits. SWT was the first widely used library that ever put an effort into recognizing that a Windows user is a Windows user, a KDE user is a KDE user, a GTK user is a GTK user, and a Mac user is a Mac user.

    Sun should be bowing down and thanking IBM OTI for the creation of SWT, in fact, Sun should be rebuilding AWT and Swing on top of SWT since their own code base is so very limited in comparison.

  140. Re:The best Java windowing toolkit isn't Swing or by blugu64 · · Score: 1

    Ha, nice! well...ya had me going there ;)

    --
    "Personal ownership is a hallmark of conservative capitalism. And I don't believe I am entitled to anything that I did n
  141. Re:Swing by VGR · · Score: 1
    Of course MS had enumerations built into Java back in 1998. Why did it take Sun 4 years to even start discussing it?

    I'm guessing it was because of things like this. Java has done its best to avoid language bloat; the common term for it is "less is more." It's easy to accomplish the equivalent of an enum using a private constructor and public static instances. So a language-supported enum was regarded as unneeded.

    --
    The Internet is full. Go away.
  142. .Net on linux? by Anonymous Coward · · Score: 0

    Well, Sun can surely do as they please, but that just means that .net is more likely than Java to end up on linux and solaris machines in the near future. If that is what Sun wants, then that's what will happen. Or why do you think mono popped up out of nowhere?

    from the mono homepage:

    Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. Sponsored by Novell (http://www.novell.com), the Mono open source project has an active and enthusiastic contributing community and is positioned to become the leading choice for development of Linux applications.


  143. Sun doesn't get it by int19h · · Score: 1

    Look, there is a munchillion people out there, that have learned Java at uni or at work.

    These people just ache for releasing their open source project in all it's open source gloryness, and dreams of having it included in all the major GNU/Linux/FreeBSD/*nux distros.

    This is an enormous potential, that is destoyed by not having a version of Java included in all open nuxes, by default, that is easy to work with and works as they expect. Not to speak of extremely security-minded companies, that only work with open source.

    And, as long as Sun's Java isn't proper open source, it is not going to be their version of Java that's running everywhere.

    Why Sun doesn't see that this is where the problem lies, not with the actual looking at sourcecode, beats me.