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

53 of 304 comments (clear)

  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/
  2. Re:It's available? by ENOENT · · Score: 5, Informative
    --
    That's "Mr. Soulless Automaton" to you, Bub.
  3. 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.

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

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

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

    2. 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? :)

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

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

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

  10. 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"
  11. 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.
  12. 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 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?

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

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

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

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

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

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

  19. 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.
  20. 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."
  21. 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.

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

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

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

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

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

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

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

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

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

  35. 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?
  36. 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
  37. 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.
  38. 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.

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

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

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

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

  44. 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!"
  45. 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.

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