Slashdot Mirror


Will Sun's Java Go Open Source?

Ritalin16 writes "CNet report that Sun Microsystems wants to send Java closer to the open-source world, yet keep it safe from harm. "Project Peabody" adds two licenses that make it easier for outsiders to see the code. But Sun stops short of embracing open-source. Sun's licensing practices for Java are closely watched. Proponents of making Java open-source argue that a different license and development process will help accelerate usage of Java, which faces ongoing competition from Web open-source scripting tools, such as PHP, and Microsoft's .Net line of tools."

519 comments

  1. i use JAVA a fair bit by shrewd · · Score: 0, Interesting

    and i would completly embrace an OSS approach. sun often have the consumer in mind and understand their products and the market well....

  2. off-topic-a-roony by aendeuryu · · Score: 5, Interesting

    Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it? Obviously there'd be some positive side effects, but exactly how much could the community benefit from having Sun's compiler open-sourced?

    1. Re:off-topic-a-roony by Anonymous Coward · · Score: 3, Informative

      The Gnu java compiler produces code that is quite a bit slower then Java runtime enviroment. Probably uses more RAM too.

      I don't know of anything beyond that.

      The community would benifit from having a Open Source java implimentation because it would allow distributions to distribute java runtime enviroments and allow tighter integration of java into general linux offerings. Like you could begin writing Java-based GUI applications and then distibute them yourself without requiring your audiance to agree to restrictive licenses and download and install Java on their own.

      Probably a bit to late for all that, unfortunately. Sun had it's chance and now Linux has managed code in the form of Mono (open source .NET implimentation) and C#. So sun has much more stiffer compitition then it would of had in the OSS world if they released a java runtime enviroment without restrictive licenses a few years ago.

      Then you have stuff like Python, which is a very mature, powerfull, and easy to use general purpose language, and PHP which is very commonly used for web scripting.

      If they did release a OSS version a few years ago java on Linux would probably be the defacto way to write GUI and Web applications.

      Not saying that it would ROCK or anything, but the restrictive licensing realy held Java back.

    2. Re:off-topic-a-roony by Anonymous Coward · · Score: 0

      Off Topic? The question is "Do you think Sun's Java will ever become open source?"

      Answer: It may not be from Sun, but there is always gcc -> http://gcc.gnu.org/

    3. Re:off-topic-a-roony by LnxAddct · · Score: 4, Informative

      Despite the other posters, gcj compiles things very nicely. It also has support for many things including SWT and basic AWT (enough support to compile jogl (opengl bindings)) Its definitly an alternative and has made major headway recently. It can compile eclipse and the Apache Tomcat server as well. GCJ is nice for compiling natively, and we already have an open source JVM called blackdown. Sun opening Java would be nice, but certainly not essential.
      Regards,
      Steve

    4. Re:off-topic-a-roony by Anonymous Coward · · Score: 1, Interesting

      Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it?

      Performance is poor (even worse than MS C#, so bad in fact that it is slower than Mono). Sun, IBM and BEA's JIT'ers thrash it into the ground.
      See:
      shudo.net/jit/perf/

      BTW, it is not the compiler that folks want open sourced, but the sources to the class library.

    5. Re:off-topic-a-roony by iamacat · · Score: 5, Interesting
      The community would benifit from having a Open Source java implimentation

      Well, there are already at least a couple - Kaffe and GCJ, why not just contribute? Sun already did the hard part - theoretical research, design, marketing - for free. Actual coding of well-researched projects is not that difficult. You can even study Sun's source code to learn general concepts for your own project as opposed to just "lifting" it.

      See, there is no shortage of C/C++ compilers and nobody is grumbling about AT&T not releasing their stuff under GPL.

      ...because it would allow distributions to distribute java runtime enviroments...

      SUSE and gentoo already do, I would guess someone (Debian?) made their own decision not to ship Java rather than being disallowed by Sun.

      Like you could begin writing Java-based GUI applications and then distibute them yourself without requiring your audiance to agree to restrictive licenses and download and install Java on their own.

      Enjoy a license-free download! And the winner is:

      Probably a bit to late for all that, unfortunately. Sun had it's chance and now Linux has managed code in the form of Mono (open source .NET implimentation) and C#. So sun has much more stiffer compitition then it would of had in the OSS world if they released a java runtime enviroment without restrictive licenses a few years ago.

      Do you mean Microsoft released their own .Net implementation under GPL?? I would say Java platform is far more open than MS stuff. Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

    6. Re:off-topic-a-roony by williamhb · · Score: 2, Interesting

      Seems to me there are big benefits on both sides.

      From the community's perspective, the Sun JVM tends to move a bit faster than the others, bringing in new features. Having a big industry name behind it makes it corporately more trusted. And linux may get the chance to integrate the JVM a bit more - so that for instance 'ps' might tell you a bit more about the java process than just that it's 'java'. Which java program is it? Tomcat? Eclipse? If linux can support running Java bytecode more smoothly and naturally than other platforms, that's yet another big insentive for Java-focussed corporations to migrate to it.

      From Sun's perspective, there is a competition between Java and Mono to become "the way" of doing managed code on Linux. Java has the advantage of a lot of programmers who know it, but the disadvantage that many people seem to think Java GUIs have to be in Swing, and Java apps not meshing completely with the native environment. (And Mono has a linux company's weight behind it). If Mono were to win that fight, and .Net bytecode became standard on both Windows and Linux, then Java's "write once run anywhere" aim would largely have been trumped.

    7. Re:off-topic-a-roony by MemoryDragon · · Score: 1

      If you mean with positive side effects, more speed, forget it, the JVM is pretty fast and up to the task of being faster than a statically compiled executable.

      You might gain a boost in loading time, due to the class loader cycly which is bypassed, but dont hope for huge boosts since 90% of the loading time is spent in resource loading (one thing sun never has tackled, they always have doctored at the wrong end of tings loadingwise)

      The main benefit is a native executable and no dependency on the jvm, but you will get dependencies into the libgcj...

    8. Re:off-topic-a-roony by OoberMick · · Score: 2, Interesting

      ..because it would allow distributions to distribute java runtime enviroments...

      SUSE and gentoo already do, I would guess someone (Debian?) made their own decision not to ship Java rather than being disallowed by Sun.

      Then SUSE and gentoo cannot distribute other versions of the JRE:

      Sun grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute those files specifically identified as redistributable in the Software "README" file ("Redistributables") provided that:

      1. blah
      2. blah
      3. you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README file)

      And thats the whole purpose of things like gjc -- to supersede every component!

    9. Re:off-topic-a-roony by PastaLover · · Score: 2, Interesting

      Even further off-topic, debian carries 'java-package' which basically takes a sun .bin file and wraps it in a debian package. I suppose most distributions that dont distribute java (and there are other reasons for this then the freeness, notably indemnification) have a similar solution.

    10. Re:off-topic-a-roony by rabbit78 · · Score: 3, Interesting

      Probably a bit to late for all that, unfortunately. Sun had it's chance and now Linux has managed code in the form of Mono (open source .NET implimentation) and C#

      I don't think Mono is better than Kaffe/GCJ/... The GNU/Classpath based Java VMs are already covering most of the Java API. The biggest/most visible obstacle is probably the Swing implementation, but OTOH Mono also doesn't have a complete Windows.Forms implementation. Don't say GTK#, this is also accesible in Java via java-gnome or SWT, which both work fine.

      Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

      Huh? I always though Gnome developers prefer GTK?? How much applications in Gnome are actually coded using Mono? None, AFAICS. This is all self-fulfilling PR crap.

    11. Re:off-topic-a-roony by Glock27 · · Score: 2, Informative
      Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it?

      Having seen some of the simplistic negative responses to this post, I have to say it's not that simple. gcj has its strengths and weaknesses, and for some things it's substantially faster than the commercial Java VMs.

      Performance wise, its weak spot seems to be GC performance and some other specific areas like synchronization monitors and exceptions. However, if you tailor your code to gcc's strong points, by using techniques like object pools, you can achieve very strong performance. If you can avoid on-the-fly classloading (and thus any interpreted code) you can get excellent performance and the added benefit of totally deterministic execution speeds. This is good for real time code - dynamic runtime optimizers are scary for real time applications, as is GC in general (another reason object pooling is a nice technique).

      Hope it was interesting...

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    12. Re:off-topic-a-roony by k98sven · · Score: 1

      Hey, is anybody using the gnu java compiler much?

      Yes.

      How's the performance on java programs made with it?

      Depends on the benchmark. (Or rather, application) Usually faster than Sun, or at least as fast, when you compile to native.

      Obviously there'd be some positive side effects, but exactly how much could the community benefit from having Sun's compiler open-sourced?

      Not much at all. There are already several free compilers (Jikes for instance) that compile to java bytecode. The main benefit would be the support of Generics and the new stuff in Java 1.5 introduced last fall.

      However, since none of the free VMs have support for generics yet either, it wouldn't be of much use. Why have a free compiler if you don't have a free JVM for it?

    13. Re:off-topic-a-roony by Executive+Override · · Score: 3, Informative
      Blackdown Java is not FOSS!

      From www.blackdown.org:

      As a user, you're subject to the same licensing restrictions with Blackdown Java as you would be with Sun's Java binaries on Solaris or Win32. It's as simple as that.

    14. Re:off-topic-a-roony by m50d · · Score: 1
      Then SUSE are violating their license, or at the very least have special permission. You normally are allowed to distribute the JVM with your java programs, but that's all, and you certainly can't distribute it without any EULA.

      No, MS didn't release it as GPL, but the fact is that .net as a platform is more open than Java because there is a working open .net implementation while the open java implementations are seriously lagging. And it's very easy to explain: native look and feel is far far far nicer than nonnative, and you would be hard pressed to find a toolkit anywhere that looks worse than Swing. DR's GEM is the only thing I can think of that rivals it for ugliness.

      --
      I am trolling
    15. Re:off-topic-a-roony by IamTheRealMike · · Score: 2, Informative
      Actually my experience is that the opposite is true. I have an actual Java program here that brute forces the Travelling Salesman Problem and with GCJ 3.4 compiled using -O2 -ffast-math it can reliably complete a simple set of cities in a couple of seconds less than the JVM can (where the JVM takes about 7 seconds).

      Now, it may be that the JVM simply takes 2 seconds to start up and the GCJ version doesn't. I do not know. However, I have no complaints about the performance of GCJ. The biggest problem with it is simply compatibility: quite a lot of Java APIs don't run on it.

    16. Re:off-topic-a-roony by agraupe · · Score: 2, Informative

      I cannot see a single reason why a sane individual would prefer C# to Java. Although the speed (might, I don't know) be a bit better, if you need speed, you should be coding in a native language. The very small amount of Java programming I've done, versus the same amount of C# coding, has convinced me that Java just seems cleaner and easier to work with. Even with both being proprietary, I know which one I prefer. Sun doesn't go around looking for ways to be evil, which is more than I can say for Microsoft.

    17. Re:off-topic-a-roony by pinky1 · · Score: 1
      >Even with both being proprietary,

      No! C# is an open ISO and ECMA Standard!

      > Sun doesn't go around looking for ways to be evil, which is more than I can say for Microsoft.

      Both Sun and Microsoft are big companies with a variety of positions inside them. From one side, for example, Sun donated OpenOffice to the community and from the other, they funded SCO, threatened JBoss etc.

      MS support the standardization of the CLR and C# as Sun never did for the JVM.

    18. Re:off-topic-a-roony by smittyoneeach · · Score: 2, Funny

      One wonders if someone clever will fuse Mono, making it another front end for gcc.
      Think about C# that executes faster on Linux than it does under .Net.
      Think about mixing the resulting .so files.
      Urrrk, I really should switch to decaf...

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    19. Re:off-topic-a-roony by Brummund · · Score: 1

      So you haven't programmed much in any of the two languages, but still prefer Java since it seems cleaner, and can't see why a" sane individual would prefer C# to Java?"

      I guess you just defined "uninformed opinion."

    20. Re:off-topic-a-roony by Anonymous Coward · · Score: 0

      You know that comment is going to bring all kinds of idiots, like Doc Ruby, out of the woodwork. Thanks a lot.

    21. Re:off-topic-a-roony by ReelOddeeo · · Score: 1

      Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

      Maybe it is explainable.

      Lots of software is going to be written for .NET on Windows.

      What gui framework do you suppose all of that software is going to use? Windows.Forms

      By having Windows.Forms on Mono, it further increases the portabiility of software between platforms. Isn't this one of the very goals of Java?

      Why did Sun introduce Swing after they already had AWT? There are a number of reasons. Besides lack of flexibility and power in AWT, one of the reasons was portability. AWT had to be separately debugged on every platform.

      So let me turn the silly statement around: Java developers just have some unexplainable love for Swing as opposed to {AWT | GTK | QT | SWT | etc.}.

      My point: Mono developers (not Gnome developers) love Windows.Forms for the same explainable reason that Java developers like Swing (or perhaps SWT). It is available everywhere, uniformly, and works the same.

      While Windows.Forms is not yet complete in Mono, that is the goal, and I believe, if I am not mis-speaking, the motivation.

      --

      Those who would give up liberty in exchange for security and DRM should switch to Microsoft Palladium!
    22. Re:off-topic-a-roony by v01d · · Score: 4, Informative
      No! C# is an open ISO and ECMA Standard!


      C# != .NET

      Not even close.

    23. Re:off-topic-a-roony by mhesseltine · · Score: 2, Informative
      SUSE and gentoo already do, I would guess someone (Debian?) made their own decision not to ship Java rather than being disallowed by Sun.

      While I'm not sure how SUSE manages to distribute Sun's JRE, Gentoo doesn't distribute it at all. Instead, the ebuild merely simplifies the process of downloading the file from Sun and installing it.

      While this may seem like a small nit to pick, the fact is, if you look on the Gentoo CDs, they distribute the Blackdown JRE, not the Sun JRE.

      --
      Overrated / Underrated : Moderation :: Anonymous Coward : Posting
    24. Re:off-topic-a-roony by pinky1 · · Score: 1
      >C# != .NET

      i have answered the post from agraupe and he talks about c# vs java and not about .Net!

    25. Re:off-topic-a-roony by Anonymous Coward · · Score: 0

      Value types suck! What was MS thinking? Why can't a DateTime be null?

    26. Re:off-topic-a-roony by unoengborg · · Score: 3, Insightful
      Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

      This may have a reason. Swing doesn't work properly on Linux. At least not if you don't use an US keyboard and US locale. In many European locales some characters will be untypable, what exact charaters depends on the locale.

      This is of course a bug, but its been around ever since swing was born. It was almost emediatly bug reported. After a couple of years sun closed the bug with the bug still UNFIXED. I guess it got embarassingly high bug votes on their top 25 list.

      Now the bug is reported again (under a new bug id) and has been on the top 25 list for a couple of years now.

      Any Linux programmer know by now, that Sun either is too incompetent or fix this, or have some other agenda that make them unwilling to fullfil the promis of compile once run everywhere that once was used to promote java.

      You can get more information on this bug from:
      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id =4799499

      If you like you can even cast your vote for it to be fixed. Not that I think it will make much of a difference. To Sun java is something for the serverside only.

      --
      God is REAL! Unless explicitly declared INTEGER
    27. Re:off-topic-a-roony by unoengborg · · Score: 2, Insightful

      The URL in parent should have been:
      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id =4799499

      --
      God is REAL! Unless explicitly declared INTEGER
    28. Re:off-topic-a-roony by Weird_one · · Score: 1

      Personally, I've done a few small internal utility apps in both languages, and I like the api design of java better than c#.
      However, c# isn't a bad language there are a few features like regions that I like, and some of the api is actually easier to use than java.

      My opinion is that for a quick program java is better, however if you need something that is reliable, efficient,
      and easy use the language with the api that best suits the problem set.

      --
      "Secrecy is the keystone of all tyranny. Not force, but secrecy ... [sic] censorship.
    29. Re:off-topic-a-roony by Anonymous Coward · · Score: 1, Interesting
      No. .net is not more open. It may ahve more implementations, but that's because the Mono people decided to implement .net instead of Java.

      I have my own theory as to why they cose to do this. I believe it's for two reasons:

      • Miguel really loves Microsoft technologies. He's admitted to this in interviews, and GNOME 1 really was a workalike copy of Windows. Not until GNOME 2 did they get any form of innovation.
      • Re-implementing something that didn't already exist on Linux gives more users quicker. The free Java projects (SableVM, GCJ, Classpath, etc...) are all further ahead than Mono, and if they had chosen the better alterinative, Java, they would have had to try to catch up to not only Sun but also the other free Java projects.

        By implementing the Microsoft solution they receieved much faster gratification, and the slashbots admiration. The community suffers greatly because of this.

    30. Re:off-topic-a-roony by Atzanteol · · Score: 1

      Further more, Gentoo doesn't automatically download Sun's JRE. They make you download it because Sun's EULA requires that you agree to the license terms.

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    31. Re:off-topic-a-roony by daem0n1x · · Score: 2, Informative

      In version 5.0, Swing has a native look-and-feel, and that is the default.

    32. Re:off-topic-a-roony by CarpetShark · · Score: 1

      Blackdown? Open Source? I must've missed something. Last time I heard of blackdown, it was because the blackdown ppc debian packages of Sun's JDK were no longer up to date on PPC, and we all had to switch to IBM's JDK. Did they start some new project?

    33. Re:off-topic-a-roony by m50d · · Score: 1
      More open implementations make it more open. You can talk all you like about the community process but the fact is you can get a pretty complete .net implementation using only free software, which is still some way off for java.

      I think they got more users because it didn't exist, but that showed there was a gap. I would certainly prefer having a good .net implementation and java a bit further off than a good java implementation and no .net at all. I don't think the community has suffered at all. And I am curious as to why you claim Java is the better alternative. .net supports multiple languages right out of the box, and c# took the best parts of the java language.

      --
      I am trolling
    34. Re:off-topic-a-roony by m50d · · Score: 2, Interesting

      Well, good, but as with these moves towards open sourcing it it seems too late. And the insane version scheme doesn't help Java at all. Anyway, I have had such horrible experience with swing, being incredibly slow and even more ugly, that I don't want to go near it again. Is the native look and feel done with true native widgets, or just by theming swing?

      --
      I am trolling
    35. Re:off-topic-a-roony by curri · · Score: 1

      Actually, the languages are pretty similar.

      C# has eliminated some of the things in java that annoy me, like having to define every public class/interface in its own file.

      Besides, for me, the fact that Mono is a complete development platform (with GUI libraries etc) and freely distributable make it better.

      I wouldn't particularly mind Sun's JVM not being open source, as long as it was freely redistributable. As it is licensed now, it is a pain to distribute for Linux distros etc. And there is no free, complete platform (gcj and classpath work, but lacking many gui stuff)

    36. Re:off-topic-a-roony by supertopaz90 · · Score: 1

      Just by using themes. The Windows one comes close, but it is still pretty easy to tell - things aren't exactly alike. Better than that ugly blue-shaded crap though.

      If SWT gains a critical mass, it could be interesting to see where it goes. It's mature, but just doesn't have enough users to make it something that people think of. It uses native widgets.

    37. Re:off-topic-a-roony by Anonymous Coward · · Score: 0

      > I cannot see a single reason why a sane individual would prefer C# to Java.

      Maybe they're sick of wrapping every I/O operation with exception handlers to catch ordinary and expected conditions like EOF.

      Or maybe they thought iterators shouldn't use a completely martian syntax.

      Maybe they want generics that actually specialize at runtime and aren't just syntactic sugar for casts.

      Maybe they're just not blinded by ideology.

      I'll lay off the snarkiness if you lay off the "good vs evil" claptrap.

    38. Re:off-topic-a-roony by MonkeySpank · · Score: 1

      How much applications in Gnome are actually coded using Mono? None, AFAICS

      MUINE http://muine.gooeylinux.org/ is a Gnome app coded in Mono.

      Here are a few more:
      http://www.osnews.com/story.php?news_id=9780

  3. Already ditched by skomes · · Score: 5, Funny

    I already ditched java a long time ago. After trying some .net, settled on python, who wants to write 10 lines of code, and have to pass through 2 layers of variables to open a file? Python: open(filename,r/w,0) Java: JSKALDAHSJKDHLSA; ASDJH(ASLDHJKLASH); ASJHDJAKSHDJHASD(); REALLYLONGBUFFERNAME();

    1. Re:Already ditched by crummynz · · Score: 5, Funny

      After close examination of your Java code, I think I've found the reason you were having some problems.

      --
      ~ Crummy
    2. Re:Already ditched by Anonymous Coward · · Score: 0

      You mis-spelled the variable name in that Java code.

    3. Re:Already ditched by mabinogi · · Score: 5, Informative

      OutputStream out = new FileOutputStream(filename);

      next?

      (yes, I know it's still more typing than python, and I know you were tying to be funny, but Java really isn't that much work)

      --
      Advanced users are users too!
    4. Re:Already ditched by linguae · · Score: 5, Insightful

      For small programs, Java can get very wordy and very verbose, especially if you coming directly from C/C++, or from a language like Perl or Python. It does get annoying at first, typing in public in front of nearly every class/method and having to type in System.out.println when a simple printf() or cout or print would do suffieiently in another language. However, once you start making larger programs, Java isn't that bad, and all of those words are there for a reason. It starts making sense after a while, and it really is a nice language, once you grasp the OO concepts and get past some of the annoying differences between Java and C/C++/Python/whatever. It gets really convenient when playing around with Swing.

      Put it like this, I'll bet you that you'll want to code in Java long before you want to code in Visual Basic, or even worse, COBOL. If you thought Java was verbose, Visual Basic is even more verbose, and COBOL takes verbose to another level....

    5. Re:Already ditched by skomes · · Score: 1

      FileReader fr = new FileReader("mydata.txt"); BufferedReader br = new BufferedReader(fr); It's more like that, and then you have to implement some kind of exception check. Nice try.

    6. Re:Already ditched by Anonymous Coward · · Score: 0

      Pffft... Maybe you haven't grokked OO if you need to spell out everything?

      Put it like this, I'll bet you that you'll want to code in Java long before you want to code in Visual Basic, or even worse, COBOL. If you thought Java was verbose, Visual Basic is even more verbose, and COBOL takes verbose to another level....

      What kind of shitty argument is that? Just because there's something worse, doesn't make Java any good. Oh, wait. You must be one of those yanks who, when someone dares to critisise their superior country, come up with some 3rd world dictatorship as in "look they have it worse, we're the best after all". Geez!

    7. Re:Already ditched by Kleedrac2 · · Score: 2, Informative

      Thusly why my default template in jEdit contains;

      public static void main(String[] args){

      }

      public void print(Object o){
      System.out.println(o);
      }

      Makes everything I write just that much easier ... I used to call the print method printf but had ppl use my template get confused (and make me feel old) :)

      Kleedrac

      --
      Sure we wang, can.
    8. Re:Already ditched by killjoe · · Score: 1

      Try this one.

      fileList = Glob.glob(*.gz)
      foreach file in fileList:
      dosomething

      --
      evil is as evil does
    9. Re:Already ditched by killjoe · · Score: 1

      What I hate about java is that you have to type everything three times.

      SomeClass mySomeClass = new SomeClass()

      Well that's just one annoyance, there are a billion others.

      Truly coding in python and ruby is a more joyful experience then coding in java.

      --
      evil is as evil does
    10. Re:Already ditched by Flaming+Death · · Score: 0

      Obviously looked long and hard to find a less verbose language.. and found the most amazing solution that makes file opening a breeze.
      C
      FILE *f = fopen(filename,"rw")
      C++
      fstream f(filename)
      Java
      OutputStream out = new FileOutputStream(filename)
      VB .NET
      OpenFile(F, filename)
      Lua
      io.open(filename, "rw")

      .... etc .... etc ... hardly seems a good way to determine language suitablility.

    11. Re:Already ditched by ultrabot · · Score: 1

      Or to dosomething with contents of each file:

      [dosomething(open(f).read()) for f in glob.glob("*.txt")]

      --
      Save your wrists today - switch to Dvorak
    12. Re:Already ditched by ultrabot · · Score: 0

      Java can get very wordy and very verbose, especially if you coming directly from C/C++, or from a language like Perl or Python.

      C++ gets even more verbose than Java, because you need to manage the memory manually and implement both the .h and .cpp file. Java has a verbose culture regarding the standard library, but you need to deal with various libs with C++ also, with varying cultures of verbosity.

      Plain old C and Perl are not worth this discussion, because they target different niches (low level programming and quick&dirty, respectively).

      Python, on the other hand...

      --
      Save your wrists today - switch to Dvorak
    13. Re:Already ditched by mabinogi · · Score: 1
      Why do it in two steps when you're never going to use the raw reader on it's own?
      If you _want_ to make Java too much work, you _can_ just like you can in any language.

      Also, if I should have checked for exceptions, then you should have checked for error conditions.
      Also your python code opened a file, but did not actually result in a useful filehandle you could do anything with.

      I'm not claiming that Python is _not_ less verbose than Java, just that Java is not as verbose as people make it out to be - even when dealing with the cumbersome Reader / Writer and Stream interfaces.

      A complete (Compiled and tested myself) Open a file, read it, print the contents program -
      import java.io.BufferedReader;
      import java.io.FileReader;

      public class ReadFile {
      public static void main(String args[]) throws Exception {
      if(args.length != 1) {
      System.err.println("usage: ReadFile <filename>");
      System.exit(1);
      }

      BufferedReader reader = new BufferedReader(new FileReader(args[0]));

      String line;
      while((line = reader.readLine()) != null) {
      System.out.println(line);
      }
      }

      }
      --
      Advanced users are users too!
    14. Re:Already ditched by demogorgonx · · Score: 1
      FileOutputStream? I'd be sitting there trying to remember all three words: File, Output, and Stream.

      "Is it FileStream? Something like that? Maybe OutputFile?"

      Then I'd go look it up. :)

    15. Re:Already ditched by Scarblac · · Score: 1

      For small programs, Java can get very wordy and very verbose, especially if you coming directly from C/C++, or from a language like Perl or Python. [...] However, once you start making larger programs, Java isn't that bad, and all of those words are there for a reason.

      Exactly. Java is for large programs. Who cares how many lines Hello World is.

      And the cool thing is, if you want to write short maintenance/testing scripts that use your huge Java library, or you want to manually call some functions from an interactive interpreter prompt, you can do that with Jython. I love the combination of Java and Jython.

      --
      I believe posters are recognized by their sig. So I made one.
    16. Re:Already ditched by mabinogi · · Score: 1

      you type File, hit CTRL+Space in Eclipse and then pick it from the list ;)

      But seriously, knowing the standard libraries is an issue in every language.
      It's one of the things that often makes it hard to move from one to the other. The syntax is usually easy enough, but knowing what's available in the standard libraries can be the difference between frustration and statisfaction with a language.

      --
      Advanced users are users too!
    17. Re:Already ditched by Anonymous Coward · · Score: 0
      Also, if I should have checked for exceptions, then you should have checked for error conditions.

      No, while in Java you have to think about exceptions, a strong point of Python and its like is that you don't. In a lot of situations it is perfectly okay that the code blows up on errors, as the interpreter tells you what went wrong anyway.

      Your example does nothing for your case. Here is the idiomatic Python version of your example. Unlike your code I don't have to run it through the interpreter or test it, because I know it will work just by looking at it (try that with Java):

      import sys
      for line in open(sys.argv[0], "r").readlines(): print line

      It's not just that the Python code is more compact, it's actually better. You could give this code to anyone and they would immediately grasp it.

    18. Re:Already ditched by Anonymous Coward · · Score: 0
      In perl, also complete and tested:
      #!/usr/bin/perl
      die "usage: $0 filename ...\n" if @ARGV < 1;
      print $_ while <>

      Without the error-checking (instead falling back to stdin in the absence of arguments), the complete program would be:

      #!/usr/bin/perl -p

      (You chose the example, not me.)

    19. Re:Already ditched by Anonymous Coward · · Score: 0

      Use different languages for different tasks. While it can be a bit long-winded doing something simple in Java, Java is excellent for writing large programs - so that's what you use it for.

    20. Re:Already ditched by brush2327 · · Score: 2, Informative

      As far as verbosity and printf are concerned some of the new Java 5.0 features are designed to help:

      // Import of static methods and fields
      import static java.lang.System.out;
      ...
      private void someFunction(String someVar) {
      // New printf method
      out.printf("Hello %s\n", someVar);
      }

    21. Re:Already ditched by Anonymous Coward · · Score: 0

      You could also use the static import of the 5.0 of course, and a out.println will be enough ^^

      import static java.lang.System.*;

      public class blah {
      public static void main(String[] args) {
      out.println("blah");
      }
      }

    22. Re:Already ditched by Anonymous Coward · · Score: 0
      What I hate about java is that you have to type everything three times.

      SomeClass mySomeClass = new SomeClass()

      Here's a clue. Try giving your variables an actual name instead of naming them after the fucking class. That way other developers on your team won't have to ask you WTF your cockbiting variable is for, because it'll be fucking obvious and you won't look like a wankstain. Ok, now you can go back to choking on Guido's fat cock.

    23. Re:Already ditched by elmartinos · · Score: 1
      OutputStream out = new FileOutputStream(filename);
      next?

      I have seen this little gem while learning Ruby, which realls shows how simple it is to code in such a dynamich language. The full functional program is a multithreaded server that offers the time to anyone connecting to port 1234:
      require "socket"
      server = TCPServer.new(1234)
      while (session = server.accept)
      Thread.new(session) do |my_session|
      my_session.puts Time.now
      my_session.close
      end
      end
      How much code would this be in Java? I have not tried it, but it shure will be a hell of a lot more complicated.
    24. Re:Already ditched by mabinogi · · Score: 1

      I was not attempting to start a Python - Java comparison.

      The two languages are different and have different goals and suit different people and different jobs.
      As far as that program goes - realistically if someone asked me to write a program to display the contents of a file to the screen, I would not write it in Java _or_ Python. I would say "why don't you just use cat?"
      So how well either language tackles that particular problem is pretty much irrelevant.

      Personally, I come from a C background, and Java makes infintely more sense to me than Python, or even Perl. But that doesn't make Java better, it just makes it the right language for me.
      It also means that I don't really care how Java compares to Python. I only care how it compares to C, and it compares very favourably to C.

      My main point was that whilst Java is certainly not the most concise language in the world, it is definitely not as verbose as people make it out to be.
      It also has the advantage of a large number of tools that take away a lot of the verboseness that does exist both in the language, and in the conventions used.

      But it's not for everyone, as Python is also not for everyone.

      But having said that, I can't resist a passing nitpick. - what happens when no arguments are passed? My code contained checking and a usage message.
      Although I'm guessing that it'll only be another line - something similar to Perl's "or die(message)" syntax?

      --
      Advanced users are users too!
    25. Re:Already ditched by mabinogi · · Score: 1

      Hmmm...I don't know.
      I've never tried a TCP server in java before.
      Or at least, when I have, I've used a 3rd Party library (called SimpleServer). As I was so burned by my experiences with sockets in C (mostly due to inexperience in that particular area) that I wanted someone else to do all the work ;)

      But I'll give it a go and post the result.

      --
      Advanced users are users too!
    26. Re:Already ditched by shutdown+-p+now · · Score: 1

      VB is not verbose. It magically does everything the developer thinks of... well, anything it can do, obviously, which isn't that much.

    27. Re:Already ditched by R.Caley · · Score: 1
      OutputStream out = new FileOutputStream(filename);

      Which would be OK if an OutputStream was usefull for anything much. You'd probably have to wrap that into a PrintWriter, or a BufferedOutputStream or something to get to where you can start work.

      And that's just for simple file IO. When you get to anything interesting in the libraries you seem to always end up creating a FooFactoryConfigurationInterfaceTemplateCreatorCla ssDescriptorSetHandle.

      Java is quite nice, even if making boxed and unboxed values visible is a bit sick, but the libraries are just painful.

      --
      _O_
      .|<
      The named which can be named is not the true named
    28. Re:Already ditched by tacocat · · Score: 1

      Perl wins... But this isn't supposed to be a Python/Perl flame war.

      while ()

      @file_contents = ()

      Can't beat that for ease of use.

      But that really doesn't matter.

      Personally I'm sick of Java and would really appreciate it if Java was taken down a few notches in it's status. This is especially applicable for big mega corps. I'm tired of every problem being solved by java code and absolutely nothing else.

    29. Re:Already ditched by omb · · Score: 1
      I could'nt disagree more:

      This post contains two very great fallacies:

      1 OO -> Very.long.object.names

      2 Pointing at worse tools eg COBOL excuses anything

      Writing good, clear, correct programs is hard enough without having to specify un-necessary defaults for everything!

    30. Re:Already ditched by mabinogi · · Score: 1
      Ok, here it is.
      import java.io.IOException;
      import java.net.ServerSocket;
      import java.net.Socket;
      import java.util.Date;

      public class TimeServer {
      private static class TellTime extends Thread {
      private Socket soc;
      public TellTime(Socket soc) {
      super();
      this.soc = soc;
      }

      public void run() {
      try {
      soc.getOutputStream().write(new Date().toString().getBytes());
      } catch (Exception e) { } finally {
      try {
      soc.close();
      } catch(IOException e1) {}
      }
      }
      }

      public static void main(String args[]) throws Exception {

      ServerSocket server = new ServerSocket(1234);
      while(true) {
      new TellTime(server.accept()).start();
      }
      }

      }
      I have no idea if this is the smallest it could be.
      I'm not too familiar with thread programming, so I'm not sure if I couldn't have done that part slightly smaller.

      So whilst it's not as simple as the Ruby example (nor I expect, the inevitable Perl and Python examples), it's still not bad, and I went from never having done that before, to a completed program that worked first time in 5 minutes.

      Of course this example demonstrates what I find to be Java's biggest bugbear - checked exceptions.
      I'd absolutely love it if exceptions were all unchecked, or at least if the standard libraries made more use of unchecked exceptions than they do, as most of the time there's absolutely nothing you can do except throw the bloody thing - so why shouldn't it just do it automatically without having to include the exceptions thrown in the function signature?

      It's particularly ugly when you are forced to create abominations like the nested exception in the finally block. I _hate_ having to do that.
      But that's the only real issue I have with the language...everything else pretty much suits me fine.
      --
      Advanced users are users too!
    31. Re:Already ditched by mabinogi · · Score: 1
      Thread.new(session) do |my_session|
      my_session.puts Time.now
      my_session.close
      end
      hmmm...could you explain this bit to me?
      I know _what_ it's doing, just not _why_ that syntax makes it do it.

      Could you explain the "do |my_session|" bit?
      --
      Advanced users are users too!
    32. Re:Already ditched by Anonymous Coward · · Score: 0

      While we're comparing languages for fun, here's a Ruby version:

      File.readlines(ARGV[0]).display

      For real line-by-line processing:

      File.readlines(ARGV[0]).each do |line|
      line.display
      end

    33. Re:Already ditched by SpaghettiPattern · · Score: 2, Informative

      but Java really isn't that much work
      I see you never did any plain text parsing in Java. Sure, Java has regex. But you'd be amazed how compact plain text parsing code is in Perl.

      OTOH, I like Java over Perl for it's stringer typing and for it's usable OO environment (usable 'cause multiple inheritance is missing and 'cause I dislike misusing interfaces for this.)

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    34. Re:Already ditched by Haeleth · · Score: 1
      In a lot of situations it is perfectly okay that the code blows up on errors, as the interpreter tells you what went wrong anyway.

      Sorry, boss, our critical web application just crashed for the third time today because we didn't bother to catch any exceptions. But we've got a very informative error message, so that's no problem, right?

      Well, it wouldn't be such a problem if the exception-casting code never made it into production systems because you were doing rigorous unit testing. Except we move on a little and discover that your attitude is that testing Python is unnecessary! I quote:

      Unlike your code I don't have to run it through the interpreter or test it, because I know it will work just by looking at it.

      Well, let's see whether your confidence is justified!
      haeleth@cynewulf ~
      $ cat test.py
      #!/usr/bin/python
      import sys
      for line in open(sys.argv[0], "r").readlines(): print line

      $ cat example.txt
      This is an example.

      haeleth@cynewulf ~
      $ ./test.py example.txt
      #!/usr/bin/python
      import sys
      for line in open(sys.argv[0], "r").readlines(): print line
      Hmm. Not exactly what the specification asked for. That's really rather impressive, you know - I begin to suspect I may have been trolled.
    35. Re:Already ditched by Anonymous Coward · · Score: 2, Informative

      In Ruby, methods can accept blocks (similar to passing arguments). Blocks themselves can be passed arguments, and that's what |my_session| means. A block is passed to the thread initializer, and the thread initializer passes a new Thread object to the block (it "calls" the block, essentially). If the block were passed multiple arguments, it'd look something like:
      Class.method(argument) do |arg1, arg2, arg3, etc|

      Also available is {} syntax, like:
      Thread.new(session) { |my_session| ... }

      One stupendously fantastic thing about blocks like this is that the callee can then do any necessary cleanup. The caller doesn't have to know how to terminate a thread. It just falls off the block, and when it does so, the callee does whatever is necessary. Used very frequently with files, as:

      File.open(filename) do |file|
      foobar = file.read
      end

      So inside the block, "file" is a new File object that can be treated as you would any other File object. Falling off the block automatically closes the file for you, so you don't have to worry about it.

      It took me a couple tries to realize how wonderful Ruby's syntax is, but it didn't take long for the "holy shit" factor to kick in, and I was off and running. You don't really appreciate being "fully OO" until you actually try a language that is.

      For me, Ruby is just about the perfect language; certainly better, from a purely syntax-oriented angle, than anything else. Ruby needs more modules/libraries/gems and could be faster (hopefully the Ruby 2 VM will help with that), but it's still outstanding as it currently stands.

    36. Re:Already ditched by ralmeida · · Score: 1

      You dont need the readlines() method on recent Python because a file object is iterable:

      import sys
      for line in open(sys.argv[0], "r"): print line
      --
      This space left intentionally blank.
    37. Re:Already ditched by DrSkwid · · Score: 1

      jeesh, so much effort, try using a better OS, here's how plan9 does the same

      % cat /service/tcp1234
      #!/bin/rc
      date

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    38. Re:Already ditched by say · · Score: 5, Insightful

      You know, that is an annoyance just because you do not use object orientation much. Java is strongly typed, and it has a lot of advantages. A quite usual way of creating a new variable is:

      Car redCar = new Porsche();

      Or the more familiar:

      List list = new ArrayList();

      This does also enable stuff like:

      Person p = list.get(1); // even if all objects in list are Man and Woman objects!

      If you don't understand the advantages of this kind of casting, you don't understand object orientation, and therefore, you don't need Java.

      --
      Roses are #FF0000, violets are #0000FF, all my base are belong to you
    39. Re:Already ditched by DrSkwid · · Score: 1

      sometimes that works

      red = '#FF0000'

      but sometimes that ends up being

      red = '#00FFFF'

      and then the whole thing becomes a farce

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    40. Re:Already ditched by CastrTroy · · Score: 2, Insightful

      Catching exceptions is more important than you think. After programing in VB.Net, I have to say, I love Java's exception model. In VB.Net, you never know what exception a function might throw, and short of reading all the documentation, it's kind of hard to tell which exceptions are going to be thrown. I like that Java forces you to do something about a problem that may happen, instead of hiding it until it pops up in runtime, when it's impossible to do anything about it.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    41. Re:Already ditched by Anonymous Coward · · Score: 0

      If you don't understand the advantages of this kind of casting, you don't understand object orientation

      Person p = (Person)list.get(1);

    42. Re:Already ditched by bunratty · · Score: 1

      So you figured out on your own that Java isn't good for short one-off programs, scripting, or rapid application development? Man, you are one mental giant! ;-)

      --
      What a fool believes, he sees, no wise man has the power to reason away.
    43. Re:Already ditched by LnxAddct · · Score: 1

      The right tool for the right job. Sometimes java's stronger typing, IDE's, and large platform support are needed. Also, java is very easy to use as a web backend or even on a mobile phone. It is several tims faster then a scripting language (recent benchmarks argue that it is as fast and sometimes faster then a c++ implementation). It also has some amazing abilities with features such as hotspot which dynamically modifies your code at run time to optimize itself as it finds what areas of code are used most often. Java has a ton of libraries and there are many more more reasons I could think of using it. Sure scripting languages may do some things in less lines of code but thats hardly a valid way of measuring a language. Also java imo makes it easier to do complex tasks. Once you start stepping away from simple things, java real starts to shine. I mean printing out a file in sorted order line by line in perl simply consists of "print sort <> ;" as the entire program, obviously your not going to get much shorter then that. Start coding 100,000 lines in perl and all the sudden java is looking really good (one of the things being how java clearly lays out what everything is and what it is doing). I could certainly make out what your script does, but I'd hardly want to look at code like that all day.
      Regards,
      Steve

    44. Re:Already ditched by m50d · · Score: 0, Redundant

      But most programs are small programs. If it doesn't work for the small stuff, it doesn't work, because in the end it's all small stuff. I have tried a lot to work in Java, but all it seems to do is combine the extra typing of C with the runtime performance of Python.

      --
      I am trolling
    45. Re:Already ditched by MemoryDragon · · Score: 3, Insightful

      Actually checked exceptions are a good thing, sorry to say that. A checked exception basically forces you to do something. The main problem unchecked exceptions have is, that they fall on your head at code parts you would never expect them to occur and thus take your program with you. One of the main reasons why java programs are so stable is the excessive use of checked exceptions. With every step you know which errors can occur and you are forced to do something abou it. The downside of this is, that you basically have 20% more code which is dedicated to error handling at the stages the error can occur.

    46. Re:Already ditched by Buchenskjoll · · Score: 1

      I would say that java is the ultimate language for playing around with swing.

      --
      -- Make America hate again!
    47. Re:Already ditched by elmartinos · · Score: 0

      Thanks, I could not have said it better :-)

    48. Re:Already ditched by Anonymous Coward · · Score: 0

      String.getBytes() is deprecated, so your example is invalid. Not to mention Date.toString produces something really ugly like "java.util.Date{year=2005;month=2;}" and so on. Plus the server would stop the first instant a connection attempt failed. The more correct version is:

      import java.io.OutputStreamWriter;
      import java.io.PrintWriter;
      import java.io.IOException;
      import java.net.ServerSocket;
      import java.net.Socket;
      import java.text.SimpleDateFormat;
      import java.util.Date;

      public class TimeServer {
      private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS Z");

      private static class TellTime extends Thread {
      private Socket soc;
      public TellTime(Socket soc) {
      super();
      this.soc = soc;
      }

      public void run() {
      try {
      PrintWriter writer = new PrintWriter(new OutputStreamWriter(soc.getOutputStream(), "ASCII"));
      writer.println(dateFormat.format(new Date());
      writer.flush();
      writer.close();
      } catch (Exception e) {
      } finally {
      try {
      soc.close();
      } catch(IOException e1) {}
      }
      }
      }

      public static void main(String args[]) throws Exception {

      ServerSocket server = new ServerSocket(1234);
      while(true) {
      try {
      new TellTime(server.accept()).start();
      } catch (Exception e) {
      // otherwise a failed connection instantly brings the server to a halt
      e.printStackTrace();
      }
      }
      }
      }

      However, even that's wrong, because technically the Date object itself is deprecated in favor of the hideous GregorianCalendar.

    49. Re:Already ditched by (1+-sqrt(5))*(2**-1) · · Score: 1
      Sure[,] scripting languages may do some things in less lines of code[;] but that[']s hardly a valid way of measuring a language.

      Whose time is dearer: the agent's or the machine's? If the former, then oeconomy of script is a sound argument.

    50. Re:Already ditched by timster · · Score: 1

      I don't think you've been trolled, it's just a really broken program. The problems with it have nothing to do with exceptions though. First, he used argv[0], which everyone knows is the command itself, so the script opens itself. Second, we need a comma after "print line" so that the print command doesn't print a newline after each line, which already contains a newline.

      Here's a simpler program:

      #!/usr/bin/python
      import sys
      print open(sys.argv[1]).read()

      Where exceptions come into play is what happens if the open(), read(), or print statements fail, since all that is possible.

      --
      I have seen the future, and it is inconvenient.
    51. Re:Already ditched by Anonymous Coward · · Score: 0

      Guido's cock is fat?

      Okay. Thanks for the report.

    52. Re:Already ditched by Zangief · · Score: 1

      Mine is similar, but...

      public static void main(String[] args) throws Exception{

      }

      public static void print(Object o){
      System.out.println(o);
      }
      }

      That throws statement ensures everything compiles and, when it drops dead, it comes with a nice stack trace...

      (of course those programs are just for testing small stuff).

    53. Re:Already ditched by roman_mir · · Score: 1

      hate to give away moderation rights for this topic because of you, but I must...

      In Eclipse you do not type System.out.println, you only have to type sysout and then press Ctrl+Space and it will fill in the rest.

    54. Re:Already ditched by Anonymous Coward · · Score: 0

      compact code is hard to read and maintain

    55. Re:Already ditched by cortana · · Score: 1

      The first element of argv is the name of the program that is being run. If you bothered to run your code in the interpreter, you'd have noticed that...

    56. Re:Already ditched by killjoe · · Score: 1

      "You know, that is an annoyance just because you do not use object orientation much."

      It has nothing to do with object orientation. Python and Ruby are if anything more object oriented then java.

      "Java is strongly typed, and it has a lot of advantages. A quite usual way of creating a new variable is:"

      Pyton is strongly typed too it's just that I don't have to worry about the types. The difference is that python is dynamically typed while java is statically typed. There have been volumes written about this subject I suggest you read it. The only possible advantage you get with static typing is the compiler catching errors for you. Apparently some people believe that that's enough of an advantage to lose 30 to 50% productivity. I for one would rather rely on unit testing (which you have to do in either case).

      "If you don't understand the advantages of this kind of casting, you don't understand object orientation, and therefore, you don't need Java."

      If you don't understand the difference between object orientation and static typing you need to go back to school.

      --
      evil is as evil does
    57. Re:Already ditched by one9nine · · Score: 2, Insightful
      A checked exception basically forces you to do something.

      Yeah, this:
      ...
      catch(SuperTerrificCheckedException e) {
      /*
      * I'm too lazy to figure out what to do here,
      * so I'll just leave it blank for now.
      */

      }
      And you're worse off than with an unchecked exception that isn't caught.
    58. Re:Already ditched by GileadGreene · · Score: 1
      Apparently some people believe that that's enough of an advantage to lose 30 to 50% productivity. I for one would rather rely on unit testing (which you have to do in either case).

      I assume that you have actual statistics to back up

      1. your assertion that static typing results in a 30-50% productivity hit, and
      2. your implication that there is not an equivalent 30-50% productivity hit as the result of the extra unit-testing required to catch type errors, repair them, and retest.
      If you do, I'd like to see them.
    59. Re:Already ditched by ckaminski · · Score: 1

      I think you missed the point. arv[0] will open the executing program, not the one you want to cat to the screen. God help you if compiled python ever become more than a pipedream.

    60. Re:Already ditched by molecular · · Score: 0

      do something?
      I frequently find things such as

      try {
      doSomething();
      } catch (Exception e) {
      logger.logln(e);
      }

      or even

      try {
      doSomething();
      } catch (Exception e) { ; }

      in my own code.

      You're forced to do something only if you consider doing nothing to be doing someting.

      90 NOP
      90 NOP

    61. Re:Already ditched by poot_rootbeer · · Score: 1

      It does get annoying at first, typing in public in front of nearly every class/method and having to type in System.out.println when a simple printf() or cout or print would do suffieiently in another language.

      Someone should invent a code editor that has macro function support built into it. That would solve your complaint nicely.

    62. Re:Already ditched by SpaghettiPattern · · Score: 1

      compact code is hard to read and maintain

      That's what failed programmers that become middle managers tell newbie programmers. As always, it depends. There are highly readable short expressions as well as boringly long novels which are unreadable. As a rule of thumb I try to fully understand the algorithm I want to program before actually programming it. By that I can minimize the amount of code and keep it readable at the same time.

      For instance in C, if you implement linked lists "the stupid way" you probably wind up handling head, body and tail members separately in access functions. I've actually seen this. If you think just a bit harder you realize you can handle them all equally.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    63. Re:Already ditched by daem0n1x · · Score: 2, Interesting

      Man, if you're so sloppy as to do things like that, no programming platform will save you.
      Personally, I love Java's exception model, I think it's the best I know, because it forces you to take into account every thing that may go wrong. When one uses a language that allows unchecked exceptions, one cares about writing the code and leaves the exceptions for later, which is never...

    64. Re:Already ditched by msuzio · · Score: 2, Insightful
      Yes and no.

      If the "do something with it" looks like this:
      try
      {
      someExceptionalMethod();
      }
      catch(Exception e)
      {
      }
      ...that's not going to help you, it's just going to make the compiler not complain.

      I actually make it a point to put in a comment like "// do nothing, this is OK" when I do something like that, so it's clear to the next programmer that I meant to just shut up the compiler, and I've either got a case that I know doesn't matter or cannot happen because of other constraints.
    65. Re:Already ditched by Jicksta · · Score: 1

      Don't quit your day job

    66. Re:Already ditched by aCapitalist · · Score: 2, Informative

      We ditched Python for Java for much of our management tools because lack of argument types and return types make cool stuff like intellisense as well just all around documentation next to impossible in Python.

      I don't care about local method variables having types declared, but to me it makes a lot of sense for method arguments and return types.

      And before you flame me, you better go read Guido's blogs over at artima.com because that's one of the reasons he's going to put in optional type declarations in Python 3000.

    67. Re:Already ditched by btlzu2 · · Score: 2, Informative

      It seems that IBM disagrees with you (as do I). I'm a static-type proponent. Dynamically typed languages make me barf. :)

      --
      Zed's dead baby. Zed's dead.
    68. Re:Already ditched by Anonymous Coward · · Score: 0

      I have to disagree with you on visual basic's verbosity. Try writting a web application in VB.NET /ASP.NET vs using servlets/jsp. Sure one could argue that open source product "x" can help you with java, but sun doesn't give you the tools to make it fast to code!

      I am a .net developer at heart, but I have found recently that the closed nature of windows was really hurting my pocket book. I switched to java for financial reasons and I am happy with it. Mono might turn out to be a good thing in the future, but right now its not portable. The BSD and OSX ports are terrible! Just try to run mono on freebsd! I also am nervous about Novell owning mono. It doesn't feel truely open source to me.

    69. Re:Already ditched by one9nine · · Score: 1

      Man, if you're so sloppy as to do things like that, no programming platform will save you.

      You've never worked in commercial software, have you.

      Four points:

      1. I didn't say that's how I do it, I'm saying that how your typical software developer will handle it. Unfortunately, most people are lazy or incompetent. That's not me being cocky, that's me being in software long enough to know better.

      2. The parent post said that (in fact you said it as well) that it "forces" you to take action. What I am saying, or I should say what I just proved in my last post, is that all you are forced to do is declare a catch block. It does not force you to take any sort of action, that is something a developer must choose to do.

      3. You are actually worse of because what will happen is your program will act as if an exception wasn't thrown. You'll expereince a side effect or a bug that you can't explain because it appears that no exception is being thrown while in fact one is but you're ignoring it. If you use a runtime exception (and not catch it), your program will stop dead in it's tracks (if not caught, see next point) and you will know exactly what happend.

      4. There is absolutely nothing stopping you from catching runtime exceptions. If you want to catch and unchecked exception and handle it, by all means do so.

    70. Re:Already ditched by killjoe · · Score: 1

      There have been numerous articles showing that python is a more productive language then java. The exact numbers vary but you can look it up yourself if you desire.

      A big part of that is not having to worry about your types. Just like java programmers became more productive when stopped having to worry about garbage collection.

      --
      evil is as evil does
    71. Re:Already ditched by GileadGreene · · Score: 1
      Do these articles (which I frankly don't have the time or energy to look up) actually state that dynamic typing is what provides greater productivity under Python? Or are you just trying to use their general results to back up your specific bias?

      Aside: I personally have no stake in this debate either way. I'm just looking for hard information instead of anecdotal opinions.

    72. Re:Already ditched by dcam · · Score: 1

      For small programs, Java can get very wordy and very verbose, especially if you coming directly from C/C++, or from a language like Perl or Python. It does get annoying at first, typing in public in front of nearly every class/method

      You still do this for C++. Unless you are writing C and compiling it with a C++ compiler.

      --
      meh
    73. Re:Already ditched by Anonymous Coward · · Score: 0

      > @file_contents = ()

      Perl's not terribly slashdot-friendly though ;) Anyway, you don't need the parens -- assigning to a list gives the operation list context. But you did forget the semicolon. :)

      Perl's exception handling is, however, poor. I know about eval/die, but you cannot subclass the string you die with. I know about Error.pm, but nothing else actually uses it.

    74. Re:Already ditched by mabinogi · · Score: 1

      > String.getBytes() is deprecated, so your example is invalid.
      No. No it is not. In fact, it is the suggested alternative to an actual deprecated method (which just happens to be an overloaded version of getBytes - maybe that's what you're thinking of?).

      > Not to mention Date.toString produces something really ugly like "java.util.Date{year=2005;month=2;}" and so on.
      No. No it does not, java.util.Date overrides toString and provides a default date format. The default format is more than sufficient for this purpose, as the ruby example did no special formatting on the date either.

      Your comment about the exception is valid - but the goal here was not to create the most robust server possible, it was to provide a Java equivalent of the Ruby example. What happens in the same situation in the Ruby case?

      > However, even that's wrong, because technically the Date object itself is deprecated in favor of the hideous GregorianCalendar.
      No, no it is not.
      You could have at least attempted to check those facts before making stuff up.

      Also, flushing a Writer immediately before closing it is pretty much the definiton of redundancy.

      I'll repeat what I said earlier - If you _want_ to make Java verbose, you _can_.

      --
      Advanced users are users too!
    75. Re:Already ditched by killjoe · · Score: 1

      That's certainly amongst the most important differences between java and python.

      Others include more concise syntax, more dynamic objects (can be modified at runtime), meta programing, and functional language like constructs.

      Try these (watch for URL mangling)
      http://www.ferg.org/projects/python_java_side-by-s ide.html
      http://www.mindview.net/WebLog/log-0025
      http://mindview.net/WebLog/log-0063
      http://mindview.net/WebLog/log-0052

      I put a bunch of links to Bruce Eckel's site because he is a well known java expert as well as an avid python programmer.

      --
      evil is as evil does
    76. Re:Already ditched by Anonymous Coward · · Score: 0

      I like static typing myself. Haskell, Ocaml, Alice, all nice and strongly typed. Yet I don't have to keep telling the compiler every bloody time what type it is, because it's smart enough to figure it out. Just that when they can't, or when I make a mistake, the error messages are often less than intuitive (especially Haskell's, though Ocaml has a peculiarly french way of obfuscating its errors)

      Java added nothing new to language technology, except some fancy bytecode verification techniques (and bytecode is as old as pascal). The hotspot JIT stuff came from Self, which was older than Java and not even statically typed.

    77. Re:Already ditched by jc42 · · Score: 1

      It seems that IBM disagrees with you (as do I).

      Well, to a lot of us old-timers, if IBM disagrees with you, you must be right! IBM is the epitome of evil corporatehood, their recent semi-support for linux notwithstanding.

      I'm a static-type proponent. Dynamically typed languages make me barf. :)

      I've used both a lot. I'm a dynamic-type proponent. Anal-compulsive things like types are one of the things that computers are really good at handling. We shouldn't take the computer's job away by giving it to an inferior creature like a human. As a mere human, I'd rather do the things I'm good at, and let the computer take care of the things it's good at.

      Now, you may enjoy simulating a computer, and I won't tell you that you shouldn't live your life this way. But some of us would rather spend our limited time on this Earth actually solving problems rather than typing minutiae that are better handled by a computer. ;-)

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    78. Re:Already ditched by EvanED · · Score: 1

      "The only possible advantage you get with static typing is the compiler catching errors for you"

      And runtime method call efficiency.

      I don't know of an implementation technique for fully dynamic languages that is as simple as vtables. With C++ or Java (or any of the other equivalent languages), function calls are just a double indirect pointer. With a dynamic language, don't you have to do something like a search, or at least calculate a hash (which could be done at compile time if they weren't usually interpreted) and do a comparison or two to be sure you got a match? Is there a better way to do this? /Asking, not judging

    79. Re:Already ditched by killjoe · · Score: 1

      Maybe what you say is theoretically true but practically it doesn't seem that way. If you look at various benchmarks you'll see that sometimes java is faster and sometimes python is faster.

      Maybe this is due to the fact that some python libraries are written in C but the end result is the one that counts.

      either way I have always agreed with the principle that you should be more concerned about programmer productivity then speed of the language. You can always a bigger box.

      --
      evil is as evil does
    80. Re:Already ditched by Anonymous Coward · · Score: 0
      >>It does get annoying at first, typing in public in front of nearly every class/method [in Java]

      >You still do this for C++.

      Only if you're a crackhead.

    81. Re:Already ditched by dcam · · Score: 1

      Oops! I've been writing C# for so long, I am forgetting my C++. My mistake, please accept my apologies. I will be more careful in future.

      --
      meh
    82. Re:Already ditched by MemoryDragon · · Score: 1

      No language can cover a bad programmer... But the difference between a checked case and an unchecked case is, that in the checked case you at least are forced to make the mistake, in an unchecked case, the exception which might be thrown here might fall flat on your face at a part which could be critical and could take down everything. If the programmer decides to swallow an error, than it is up to him, it is not like he would not have known that this part causes the error. Sorry, but if you ever have been into a medium sized system of a few hundred thousand lines of code, you will appreciate the safety net of checked exceptions compared to the trapdoor of unchecked exceptions every minute you code.

    83. Re:Already ditched by GileadGreene · · Score: 1
      Thank you! Those articles were very useful.

      I'm not sure I buy Eckel's reasoning on testing vs typing. I dislike the idea of relying on runtime testing to catch errors - the state space is simply too large. IMHO static typing reduces the size of the state space you need to cover in testing, fairly significantly. But he does make some interesting points.

    84. Re:Already ditched by btlzu2 · · Score: 1

      :) Hey, IBM is not evil anymore. Microsoft is now the target of our distaste.

      Ok, I think this boils down to personality types when you think about it. For me, I'm the type of person that would like as much self-documenting information in the code as possible. I would like this enforced within the language, otherwise, our human tendencies to be sloppy and use x as an int one minute and as a date object the next is too strong.

      Perhaps you want to code quickly and get the job done with less concern about modifiying or maintaining the code later?

      I want to make a program that not only works, but can be easily understood and changed around later on. To me, static typing is one of the only ways to enforce this and it has little to do with letting the computer do the work and more to do with making the code more readable. I know that point is arguable as well, but that's just my view.

      I agree to differ with you though; however, I won't fall for your straw man ("you may enjoy simulating a computer")! :)

      --
      Zed's dead baby. Zed's dead.
    85. Re:Already ditched by say · · Score: 1

      The only possible advantage you get with static typing is the compiler catching errors for you.

      I think you would like to read up a bit, as well...

      --
      Roses are #FF0000, violets are #0000FF, all my base are belong to you
    86. Re:Already ditched by Anonymous Coward · · Score: 0

      Actually it was a Java advocate from Rice University who sold a column to IBM developerWorks. This does not amount to an endorsement of static typing over dynamic typing by the IBM Corporation. Anyone who writes reasonably well on topics of interest to the site's readers can get published there. If you look, you'll see there are plenty of Python advocates who regularly submit articles to that site as well, and they'd probably be more than happy to write up The Case For Dynamic Typing if they weren't busy being productive in their favorite dynamically typed language. :)

      IMHO, if you are very used to writing code in a statically typed language, I would think that you would eventually be pretty good at avoiding doing things that result in type violations. Why, then, when confronted with the task of coding in a dynamically typed language in which you are still free, at the very least, to do all the type checking you want at runtime, does it suddenly become a huge issue for you?

  4. Sun's covert ops by bobdotorg · · Score: 4, Funny

    "Project Peabody" is really the code name for Sun's secret development of The Wayback Machine to send Scott McNealy back to a time when Sun was relevant.

    --
    __ Someday, but not this morning, I'll finally learn to use the preview button.
    1. Re:Sun's covert ops by nathanh · · Score: 4, Funny
      "Project Peabody" is really the code name for Sun's secret development of The Wayback Machine to send Scott McNealy back to a time when Sun was relevant.

      Quiet, you!

  5. eightball says: by gitana · · Score: 3, Funny

    signs point to yes

    1. Re:eightball says: by Anonymous Coward · · Score: 0

      Would that be the same yes that says that Linux is ready for the desktop?

  6. No, they want to keep their integrity. by CompotatoJ · · Score: 5, Interesting

    "Sun has elected not to use an open-source license at this time because its commercial customers are concerned with "forking," or the creation of incompatible editions of the base Java software" Currently, Java seems to be close to, if not the lead in cross-compatibility. They do not seem like they want to lose their integrity as a stable cross-platform language.

    1. Re:No, they want to keep their integrity. by 0x461FAB0BD7D2 · · Score: 2, Interesting

      If there is a fork of Java, it would only seek to improve Java, not change its compatibility. If the fork broke compatibility with Java (Java 2 or Java 5), no one would use it because it wouldn't work with the applications currently written in Java.

      If Sun wants to control Java's development after it opens it, then it is not true open-source.

    2. Re:No, they want to keep their integrity. by Anonymous Coward · · Score: 0

      Isn't it simply impossible to add certain desired features to Java without breaking bytecode compatiblity?

      IMO, Sun should have just declared "Java 5" to be a clean slate.

    3. Re:No, they want to keep their integrity. by serps · · Score: 3, Insightful

      You can say that with a straight face, after the debacle with Microsoft's J++ Runtime of Incompatibility?

      You may have heard of the court case. Took years to resolve. Somehow, I think Sun has learned its lesson about relinquishing control over what is, and isn't, Java(tm)./p.

      --
      "Einstein argued that [...] God is not capricious or arbitrary. No such faith comforts the software engineer." ~ Brooks
    4. Re:No, they want to keep their integrity. by Baki · · Score: 4, Interesting

      Others might argue that the same forking might happen to PHP, perl etc. However, do not forget that MSFT actually has tried to fork an incompatible version of Java, they never tried such a thing with other 'cross-platform' language.

      Why? Because Java is the only real threat. Java's real importance is in 'enterprise' development; many large companies have been developing in Java for the last 3-5 years, the importance of Java in such environments dwarfs any other development platform, except maybe for cobol. Thus Java remains the most likely target for sabotage actions, and needs to be protected vehemently.

      Especially now that Java is in direct competition with .NET, further sabotage actions are not unlikely. .NET is just as protected, if not more (also protected by patents probably). For Java at least the spec is open: anyone may make an alternative implementation. For .NET there is no open formal spec at all, and alternative implementations have an unclear legal status.

    5. Re:No, they want to keep their integrity. by 0x461FAB0BD7D2 · · Score: 1, Interesting

      The reason Microsoft's JVM was a huge problem was that Microsoft used its monopoly power to push the JVM.

      However, with open-source, JVMs and JREs, from Sun and elsewhere, would compete simply on merit. The end result: everyone wins.

    6. Re:No, they want to keep their integrity. by Anonymous Coward · · Score: 0

      > everyone wins
      Except end users trying to run Java apps.

    7. Re:No, they want to keep their integrity. by civilizedINTENSITY · · Score: 4, Insightful
      .NET is just as protected, if not more (also protected by patents probably).

      Mono Developer Meeting
      Miguel and Novell legal staff are currently conducting a formal patent review of mono, and the team had already split up the components of mono into separate ECMA-based and non-ECMA components (WinForms, ADO.NET, etc) to clearly define what RedHat and others could make use of. Importantly, Miguel also said that Ximian had a letter from Microsoft, Intel and HP stating that they would offer *royalty-free* RAND licensing to the ECMA-submitted components of .NET.
    8. Re:No, they want to keep their integrity. by shird · · Score: 1

      This is the biggest problem with open source for me. The problem of people creating forks. There are times when multiple forks are not desired.

      I have written a library which is only practical to have one installation on a machine, and one interface defined. Multiple incompatible versions of this library would cause huge problems, or be very wasteful. It would also take away control from the original developer, which isnt fair, and a major motivation to *not* open the source.

      What license can I use that would effecively prevent forking, but at the same time be open source? AFAIK there is none, which is a major problem. The only thing stopping this being a problem in reality is laziness on behalf of developers that couldnt be bothered to fork the code. Any pointers?

      --
      I.O.U One Sig.
    9. Re:No, they want to keep their integrity. by latroM · · Score: 1

      That's not so much of a problem. If the users want tried and true java(tm) compatibility they should use sun's official java(tm).

    10. Re:No, they want to keep their integrity. by killjoe · · Score: 5, Interesting

      MS did fork java, they called it C# and .NET.

      Ms no longer cares about java now that they have their own version of it.

      --
      evil is as evil does
    11. Re:No, they want to keep their integrity. by killjoe · · Score: 3, Informative

      Sun can open source java but keep the trademark. They can make sure that people who do not pass the compatibility tests can't call their product Java, which is exactly what they did with the MS suit.

      --
      evil is as evil does
    12. Re:No, they want to keep their integrity. by jenesuispasgoth · · Score: 1

      "Currently, Java seems to be close to, if not the lead in cross-compatibility"

      Could you tell me how much cross platform Java is ? the language is specified, I grant you that. The only problem is that there is no Sun JVM on MacOS X (yes I know, there is one Apple gives with its OS, but it's still a 1.4.x version, not a 1.5 for instance). I'm not even speaking of a Sun JVM for Linux PPC, or even for a UN*X which is not solaris...

      Sure, there are various implementations (from IBM, etc.), but tell me : if Java is so cross-platform, why isn't there a JVM for every "famous-enough" OS ? (meaning : AIX, Linux{PPC|other}, MacOS X, etc).

      And while I'm writing that, I can only think of a language truly cross-platform : C. Of course, you're still dependant on the compiler, but not that much compared to the JVM when it's about Java. And OSes like NetBSD or Linux prove damn well that if one engineers well one's programs, C is very portable... And certainly more than Java right now.

      Java is a language I like, because when there is a correct JVM available, you can really do incredible stuff with it; but since Sun and a board of developers, lead architects, etc... make Java evolve so much, so quickly, all JVMs that are not by Sun are ALWAYS behind it.

      So much for the "cross-platform" attitude, then.

    13. Re:No, they want to keep their integrity. by Jason+Earl · · Score: 1

      Exactly, I have always thought that Sun's vaunted cross platform capability was over-rated. Sure, Java is cross platform, as long as you don't include any of the BSDs. Then again, everyone knows that the BSDs are dying.

      Nearly every Free Software toolkit is far more cross platform capable than Java. gcc is ubiquitous and will compile for basically every platform known to man. That gives similar reach to languages like Python, Perl, Ruby, or Guile. Heck, Python runs on my ancient Handspring, for crying out loud. When you start counting up supported platforms even Mono gives Sun's JVM a run for its money.

    14. Re:No, they want to keep their integrity. by R.Caley · · Score: 4, Informative
      What license can I use that would effecively prevent forking, but at the same time be open source?

      By definition of the term `open source' as it is used now, it means that people can get, change and use the source and at least with some restrictions redistribute the resulting changed version.

      I.e. `open source' more or less means `you can fork'.

      The solution is perhaps to grow up and stop wanting to keep control. Life is to short to worry about that kind of thing.

      And, of course, the fact that control is not enforced by the licence doesn't mean that there will be no central control. I think most people would say that Linus has reasonable control of the future of the linux kernel, dispite the fact that anyone could fork it, and many do for special purposes.

      Consider XFree86 vs X.org for an instance of why the ability to fork is a good thing. Sometime when you get bored with working on your library, or fall under a bus, someone else with enthusiasm can take over, and if they do a good job, their branch will take over from yours and, assuming it wasn't a bus, you can go off and do whatever you are more interested in doing at that point.

      --
      _O_
      .|<
      The named which can be named is not the true named
    15. Re:No, they want to keep their integrity. by rjshields · · Score: 1
      I know, there is one Apple gives with its OS, but it's still a 1.4.x version, not a 1.5
      1.5 was only released a few months ago, I would assume most people are using 1.4.x. Give them a chance for goodness' sake!
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    16. Re:No, they want to keep their integrity. by Tough+Love · · Score: 1

      Ms no longer cares about java now that they have their own version of it.

      MS hates Java because it is flourishing in spite of all their attempts to prevent that.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    17. Re:No, they want to keep their integrity. by cyberjessy · · Score: 2, Informative

      For Java at least the spec is open: anyone may make an alternative implementation. For .NET there is no open formal spec at all, and alternative implementations have an unclear legal status.

      While I do not disagree with your argument on why Java needs to be protected, your statement that there is no formal spec for .Net is just ignorance. The specification for .Net and CLR is probably more formal (ECMA standards).

      From the microsoft site:
      The Common Language Runtime (CLR) is Microsoft's commercial implementation of the Common Language Infrastructure (CLI) specification. The CLI specification is an international standard (read ECMA) for creating development and execution environments in which languages & libraries work together seamlessly.

      Read More

      The C# language is also an ECMA formal spec.

      For a serious alternative implementation, Go-Mono. As to its unclear legal status, we have our own Miguel De Icaza discussing these issues, Here.

      I guess he is tired people are raising the same issues everytime. Its been done to death. And Miguel is quite liked inside Microsoft too.

      --
      Life is just a conviction.
    18. Re:No, they want to keep their integrity. by Chanc_Gorkon · · Score: 1

      They are afraid of forking? I'd be more afraid that multiple open source projects are trying to write work alikes because we're tired of Sun's BS.

      --

      Gorkman

    19. Re:No, they want to keep their integrity. by shird · · Score: 1

      The solution is perhaps to grow up and stop wanting to keep control. Life is to short to worry about that kind of thing.

      An easier solution is to not open the source at all. There are valid reasons to prevent forking. The library is a COM automation addon for a single instance app. The last thing I want is people making minor adjustments to the code to accomplish what they want and ship their modified version with their code. As I said, it is only practical to have one installation of the library and the library is shared amongst many other applications. I am happy to "share" control, and the source and everything else. But I dont want different incompatible versions being installed.

      The reason it works for X and Linux etc, is due to lazy developers as I said. The code has too much penetration for a single motiviated developer to make a significant fork. And people can choose which fork they want to use.

      In my case, the library would be installed with each app. I dont want developers to ship modfied versions of the library with their apps, because multiple modified versions cannot be installed alongside each other.

      It has nothing to do with "growing up", it is just being practical. And unfortuantly, there is no open source license which lets you achieve this.

      --
      I.O.U One Sig.
    20. Re:No, they want to keep their integrity. by Baki · · Score: 3, Interesting

      Of course MSFT would not openly adopt java and modify it again, since officially they are using .NET. However since .NET and Java are in fierce competition, for enterprise development .NET is still in its infancy but MSFT is trying to change this, I could imagine MSFT to sponsor or otherwise help 'grassroots' development of competing java versions.

      These versions of course would add some candy to attract developers (such as operator overloading) while destroying the 100% compatability that java offers, creating confusion and thus discrediting java for enterprise development.

      By the way, someone wrote that .NET is open and specified at ECMA. This is not entirely true: Only C# the language and CLR the VM are, but .NET including its framework and libraries are not (e.g. windows forms). For Java OTOH, the complete JDK, i.e. everything you need to build applications not only parts of it, is openly specified and available cross platform.

    21. Re:No, they want to keep their integrity. by Decaff · · Score: 1

      Especially now that Java is in direct competition with .NET, further sabotage actions are not unlikely.

      This is something of a myth, I believe. .NET is being used either for web scripting (ASP.NET) in competition with PHP, or as an upgrade to Visual Basic projects client side. There is little impact at all on Java's main area of use: medium-to-large server side applications.

    22. Re:No, they want to keep their integrity. by alext · · Score: 1

      No, he's being precise: there is no formal spec for Dotnet.

      There is a spec for the CLR and C Sharp, which together comprise approximately 10% of the Dotnet APIs.

      And as for Miguel's attempts at clarifying the legal situation, a subject on which he is hardly qualified to pronounce, the reality is that the legal situation unchanged from three years ago when he recklessly embarked on his cloning mission. The one thing that has changed is that Microsoft has hired a lot more patent lawyers, and has been filing more patents.

      Speculation concerning how much Microsoft wants to give away their platform is starry-eyed at best, wilfully misleading and dangerous at worst.

    23. Re:No, they want to keep their integrity. by R.Caley · · Score: 1
      [The solution is perhaps to grow up and stop wanting to keep control. Life is to short to worry about that kind of thing.]

      An easier solution is to not open the source at all.

      Indeed, it's always easier to sulk.

      There are valid reasons to prevent forking.

      Indeed, but merely wanting to maintain control is not one of them. Control for control's sake is not a reasonable motivation for an adult.

      I dont want developers to ship modfied versions of the library with their apps, because multiple modified versions cannot be installed alongside each other.

      So people get to choose one. And since a fork is better for compatability than a reimplementation, they get to choose between versions which are fairly compatable.

      XFree86 and X.org are again a good example. What proportion of Linux and BSD desktops were running something other than XFree86 until XFree86 became moribund?

      And unfortuantly, there is no open source license which lets you achieve this.

      Because your requirement is fundamentally that you do not want to open source this module. There are licences which don't allow redistribution of modified versions, but by that very fact they are not called `open source'.

      ISTM you feel you'd get some kind of kudos from the label `open source', but don't want to actually do what earns that kudos (letting go to some small extent of your creation).

      --
      _O_
      .|<
      The named which can be named is not the true named
    24. Re:No, they want to keep their integrity. by shird · · Score: 1

      Indeed, it's always easier to sulk.

      How is this sulking? Choosing not to use a particular license for some free library because it could cause problems for the community as a whole?
      XFree86 and X.org are again a good example.

      This is a bad example, you dont have apps installing their own copy of X to run. It is too large, and is very likely to already be installed. My library isn't likely to be installed, because it is not part of any distro or anything like that, it is an addon for an application. People can't "choose" which one they want if applications install their own modified versions in order to work.

      The fact is, there is no license which meets these requirements. Software which needs these requirements but is open source is generally protected from this problem by already being in wide distrbution, and it not being practical for developers to ship their own modified versions.

      Imagine if every java app installed its own modified JRE in order to work. Now imagine if the system can only handle one JRE installation. That is the problem I am facing, and unfortuantly there is no open source license which enforces this. The LGPL kind of comes close, but it is not sufficient.

      --
      I.O.U One Sig.
    25. Re:No, they want to keep their integrity. by R.Caley · · Score: 1
      How is this sulking?

      Decideing not to open source purely because you don't want to lose some control, which was one of the reasons given, and the one I was addressing at that point, is sulking.

      People can't "choose" which one they want if applications install their own modified versions in order to work.

      They can choose which application to install, knowing that some of them are incompatible with each other. This gives application developers a motivation to standardise on one version, or at least a set of mutually compatible ones.

      The fact is, there is no license which meets these requirements.

      Lots of licences meet the requirement of not allowing people to ship modified versions. The only issue is that they are not called `open source', because `open source' has a meaning fundamentally at odds with that requirement. It's like saying there are no CDs which play on LP turntables.

      Why do you feel you need to have that particular label on the licence?

      --
      _O_
      .|<
      The named which can be named is not the true named
    26. Re:No, they want to keep their integrity. by dossen · · Score: 1

      Actually operator overloading shouldn't be too much of a problem, since the obvious way to implement it would be as syntactic sugar - constructs that compile into code already writable in java.

      Say something like:

      public Class Foo {
      public Foo operator+(Foo f) {
      return <The result of adding this and f>;
      }
      }
      ...
      Foo foo = foo1+foo2;

      Into:

      public Class Foo {
      public Foo operator_plus(Foo f) {
      return <The result of adding this and f>;
      }
      }
      ...
      Foo foo = foo1.operator_plus(foo2);

      Sprinkle some of that around, choose a good way to mangle the names, and possibly add some casts and stuff to insure the correct semantics - there you have a java compiler that does operator overloading - without changing the VM.

      Might still make people want to use this compiler, but all it breaks is source compatibility. Incompatible libraries might be worse (incompatible bugs, need to do lots of runtime checking and branching), but that can sorta already happen with third party packages and newer JRE's (I think Sun tries hard to avoid it).

    27. Re:No, they want to keep their integrity. by Mr.+Ghost · · Score: 1
      This seems like a rather naive belief. Forking will occur if Java ever becomes open source. Just like Linux is starting to fork now.

      You truly believe that BEA, IBM, someone else (Oracle?) would not immediately extend in order to differentiate themselves from the crowd with the App Servers (which by the way already attempt to to fork the J2EE standard).

      This ability to fork is exactly why IBM has been hammering Sun about open sourcing Java in the first place.

      An open sourced Java which would eventually fork would then become no different than the various other languages out there like C/C++. There is a whole specialty in that language for people who know how to get code to work properly with all of the various compilers that exist for these languages and they even have a standard to follow but each compiler maker puts their own spin on the language.

      One final point. The JSR process works well to control the language. It work slower than the big guys (IBM/BEA/etc...) want but that is a good thing. Rapid change in a language for the sake of rapid change only leads to confusion and incompatibility.

      My only real peeve with the language is that I wish a deprecated feature meant it would only be around for say 2 versions and then be completely removed from the language.

    28. Re:No, they want to keep their integrity. by ultrabot · · Score: 1

      And Miguel is quite liked inside Microsoft too.

      Now there is a consolation...

      --
      Save your wrists today - switch to Dvorak
    29. Re:No, they want to keep their integrity. by Anonymous Coward · · Score: 0

      Java is not an open standard. They have not gone through ISO, ANSI or ECMA. Sun controls everything. Ask JBoss guys how pissed off they were.
      Liar.

    30. Re:No, they want to keep their integrity. by 0x461FAB0BD7D2 · · Score: 1

      If Java gets open sourced, and if another company or group of developers decides to fork Java and extend it, it is left to the Java developers and consumers to decide which version of Java to use.

      Essentially, only a few versions of Java could survive, which is curiously the way it is now. Most of the world is on Java 1.3 or 1.4, even though 1.5 is out.

      If Sun wants to maintain a semblance of control over Java, they could create something like the W3C or seek to standardize it like C++ is.

      Most C/C++ compilers seek to implement the standard, with the notable exception of Microsoft. But Microsoft's lack of support for standards is a non-issue.

    31. Re:No, they want to keep their integrity. by Anonymous Coward · · Score: 0

      Just like Linux is starting to fork now.

      Linux (the operating system) forked years ago. Don't believe me? Try compiling a large scale system for SuSE that was developed on Fedora Core. The only difference now is that we are seeing more obvious forking of the kernel itself - the RHEL kernels are a good example, being 2.4.x by name but somewhere between that and some version of 2.6.x. In kernel developer land we're also seeing the results of Linus's refusal to aim for stable kernel releases, in the belief that stability is the concern of the Linux OS distributors.

    32. Re:No, they want to keep their integrity. by znaps · · Score: 1

      I don't think it's over-rated at all.

      My company developed a business application for a school last year part of which was a Swing based Applet. We developed on Win2k, and deployed on Windows and Mac OSX machines. It works flawlessly.

      All we had to do was tweak a few screens to fix incorrect button sizes and labels, and this was probably due to bad programming, not any inherent flaws in the JVMs on either platform.

    33. Re:No, they want to keep their integrity. by luiss · · Score: 1

      If "Java" goes open source, it will not be called "Java"!

      Java(TM) still belongs to Sun, and they would only let you use it if they see fit (i.e. pass Java compatability/certification test).

    34. Re:No, they want to keep their integrity. by Jason+Earl · · Score: 1

      My point was that if your idea of "cross platform" is Windows, Macs, and Linux, then just about any modern set of tools will get you there. Heck, you can target Linux, Macs and Windows with C# if you are willing to mix in a bit of Mono.

      The question is what happens when you want to mix in some FreeBSD, or perhaps you have a PowerPC Linux box. Java doesn't help you one bit there. Yet Free Software development kits run on these platforms without any problems.

      What Sun really is selling with Java is a write once, run wherever Sun says is acceptable. Now, that's fine if you just want to hit the major platforms, but even then Mac OS X doesn't have a 1.5 JVM.

    35. Re:No, they want to keep their integrity. by BioCS.Nerd · · Score: 1

      Is that what it really is? If SUN opened up Java everyone could have native LAFs for their Java apps, much in the way that Apple puts a good deal of time into making sure the LAF of a Java app is close to that of a native Cocoa or Carbon app. And in this manner integrity can be assured. Mind you some sort of international body would need to be established to ensure that Java is maintained as a consistent standard. (In that regard I think I'd prefer a dictatorship over the Java language -- Dictatorships can get things done faster. SUN also appears to be a benevolent dictator much like Linus).

      The only question I have for Gosling is why these same alleged customers didn't have the same concerns when Solaris was opened. And if they did, how did SUN manage to quell these fears?

    36. Re:No, they want to keep their integrity. by jechidah · · Score: 0, Troll

      It is amusing to say the least watching microsoft fanboys such as Miguel and yourself trying to shove the legal timebomb called Mono down our throats.

      When are you people going to understand that no serious developer is going to invest time on Mono, a platform that not only is infested with legal issues but is clearly inferior to Java in every possible way. It is obvious that Miguel is trying to promote Mono in order to attract developers (= free labor) and users (= free advertising) while he is making money (backed by Novell).

      I sincerely hope that the opensource community is smart enough to let him and his lets-copy-Microsoft ideas die a horrible death.

    37. Re:No, they want to keep their integrity. by runderwo · · Score: 1
      "Sun has elected not to use an open-source license at this time because its commercial customers are concerned with "forking," or the creation of incompatible editions of the base Java software"
      That's a lame excuse. They have a Java trademark which they can only allow implementations conforming to the Sun specification to use. Then they can tell those "commercial customers" to only buy Java products which carry the Java logo.

      As for accidental confusion when a customer might not know whether a particular build is Java(TM) compliant or not? There are clauses common to many open source licenses that state that derivative versions must be clearly marked as such and that the original author disclaims any warranties for such work.

      Combine trademark enforcement as an enforcement of the de-facto Java standard with a license that requires forks to be clearly marked as non-official forks, and where is Sun's problem now?

    38. Re:No, they want to keep their integrity. by jenesuispasgoth · · Score: 1

      That was exactly one of my points :-)
      It is impossible to keep up with Java's improvements quickly enough, unless you're Sun. And I'm not even talking about deprecated classes where you have to change your old code, etc.
      Java evolves a little too quickly IMO. It would be OK if it was a really "new" language, but it is almost ten years old (Yes, I know, C was even older when the ISO normalization came, and so was C++ -- probably) ! And as long as the language is not normalized "officialy" (by the ISO or something else), the specs for the language are likely to increase again and again, forcing all vendors to submit their new JVM to Sun for their approval, etc...
      ... And forcing me to wait for an "official" JVM for my own platform.

    39. Re:No, they want to keep their integrity. by rjshields · · Score: 1

      I don't really the problem here.. you can use an old JVM if you wish - no one's forcing you to upgrade every time a new version of Java is released. Most libraries out there work with 1.1.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    40. Re:No, they want to keep their integrity. by Joey+Vegetables · · Score: 1

      What license can I use that would effecively prevent forking, but at the same time be open source?

      As others pointed out, you can't, by definition, but what you can do - and what Sun (along with Red Hat, and many others) has done - is to use trademarks to protect yourself.

      You make a product called Foobarlicious. You release it under a license that says you can do what you want, including releasing modified or derived products, except that if it is modified in any way, you have to pass a compatibility test, or else you can't call it Foobarlicious. (You can still redistribute it but you just can't call it that.) This may or may not be GPL compatible but it is definitely Free and Open Source as I understand the definitions of both terms.

      Now, people can fork, but they can't pass the fork off as the official "Foobarlicious" unless it is compatible.

      I don't know why this alone wasn't good enough for Sun. Possibly because of Microsoft's actions - it agreed to very similar terms, as all Java licensees do, and then proceeded to flagrantly violate them.

    41. Re:No, they want to keep their integrity. by rjshields · · Score: 1
      The question is what happens when you want to mix in some FreeBSD, or perhaps you have a PowerPC Linux box.
      You want to run Java on FreeBSD? Take a look here. You want to run Java on Linux on a PowerPC? Try the Blackdown JVM here. What was that point again?
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
  7. Sun's tight control... by a3217055 · · Score: 1, Troll

    Sun has a lot of tight control of java. But I believe IBM also has their own java implementation, and I think that version has alot of proprietary and licensed code. But most of the jvm is not available for all different platforms.... anyone seen a 64bit jvm ?
    Open sourcing java seems good, but the reason Sun may not want to do that is because sun wants to milk the embeded devices market where java can be a real breakthrough.

    1. Re:Sun's tight control... by Wesley+Felter · · Score: 3, Informative

      Sun has 64-bit VMs for SPARC/Solaris and AMD64/Linux. IBM has 64-bit VMs for PowerPC/AIX, PowerPC/Linux, and z/Linux IIRC.

    2. Re:Sun's tight control... by ralphdaugherty · · Score: 2, Informative

      Sun has a lot of tight control of java. But I believe IBM also has their own java implementation, and I think that version has alot of proprietary and licensed code.

      Why do you think that? IBM created a superior background garbage collection for example and gave it back to the community. IBM of course write JVM's for their own OS's, and those JVM's meet Java Community specs.

      It would do IBM no good to have a proprietary JVM. I haven't even heard of proprietary Java extensions from anyone but Microsoft. Would you know anything about that?

      rd

    3. Re:Sun's tight control... by Jovian_Storm · · Score: 1

      IBM's implementation is under the CPL and is completely open-source. No proprietary code anywhere.

    4. Re:Sun's tight control... by Anonymous Coward · · Score: 0

      I think you are referring to some experimental thing and not the "IBM JDK" that people are familiar with. Please provide link.

    5. Re:Sun's tight control... by ralphdaugherty · · Score: 2, Informative

      IBM has 64-bit VMs for PowerPC/AIX, PowerPC/Linux, and z/Linux IIRC

      And IBM's AS/400/iSeries/i5 is 64 bit PowerPC, so the Java JVM on the AS/400 would be 64 bit.

      rd

    6. Re:Sun's tight control... by Anonymous Coward · · Score: 0

      IBM has a clean-room implementation (J9) of Java that is not open source. I think what you're referring to is the JIKES research JVM.

  8. Integrate into FireFox? by SteelV · · Score: 0, Troll

    I'd like to see an open source, "simpler" version of java as an option in FireFox. Currently, I don't have java installed because there are exploits for it (for example, java allows websites to exploit IE even if the user is using another browser, such as FireFox or opera). I don't really need it for anything, either, but I'd use a stripped down version. It just seems too bloated now, for the uses.

    1. Re:Integrate into FireFox? by Acaila · · Score: 1

      How exactly do you propose to make it "simpler"? Its a language not an "addon" to your current browser.

      And secondly java "allows websites to exploit IE" by a malicious website asking you to run a program. You have to click "Yes run this software I know nothing about and cannot verify its source". Its not a weakness in java or firefox, its PEBKAC.

      --
      Acaila
      Growing Old is Inevitable; Growing Up is Optional.
    2. Re:Integrate into FireFox? by Anonymous Coward · · Score: 1, Insightful

      By "simpler", do you mean "not compatible with all applets"? It's hard to imagine what features you could take out and still be compatible.

    3. Re:Integrate into FireFox? by mark-t · · Score: 4, Informative
      The "exploit" to which you refer is not an exploit against Java, or Firefox, or even IE, for that matter.

      It is exploiting a clueless user that doesn't know enough to click "No" when presented with a warning dialog that says that an untrusted application is trying to make changes to the local filesystem, and it asks permission from the user if this should be allowed. Previously, it had been assumed that a user would be ever so slightly clueful enough to not actually permit an untrusted application to do this, especially since they are getting a nice and friendly warning dialog, but hey... I guess user stupidity reaches new lows every week. The people that are vulnerable to this are the same people that think it's a good idea to run native exe attachments in emails from unverified sources.

    4. Re:Integrate into FireFox? by Anonymous Coward · · Score: 0

      How do you propose to pare down Java? What is the security manager not doing that it ought to? How are these "exploits" any worse than what can be accomplished by a downloaded executable?

      I'm curious. Your recommendations don't fit with my limited understanding of Java.

    5. Re:Integrate into FireFox? by NutscrapeSucks · · Score: 1

      You have to click "Yes run this software I know nothing about and cannot verify its source".

      Both Microsoft and Firefox have made UI enhancements to make it more difficult for users to just reflexivly click "Yes" on every modal permission dialog that pops up.

      I think it's perfectly fair to hold Java to the same standard, since it turns out that Java really is not safer than "native" extentions like ActiveX or XUL or Plug-ins (despite years worth of propaganda saying otherwise). "PEBKAC" is a cop-out.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    6. Re:Integrate into FireFox? by SteelV · · Score: 1

      Get rid of all the consoles and stuff that java installs, and just give the basics that it needs to function.

    7. Re:Integrate into FireFox? by m50d · · Score: 1

      You could make it a straight interpreter rather than a fancypants "JIT compiler". I'd expect that would simplify things, though at a cost to performance

      --
      I am trolling
    8. Re:Integrate into FireFox? by ralphdaugherty · · Score: 1

      I'd like to see an open source, "simpler" version of java as an option in FireFox. Currently, I don't have java installed because there are exploits for it (for example, java allows websites to exploit IE even if the user is using another browser, such as FireFox or opera). I don't really need it for anything, either, but I'd use a stripped down version. It just seems too bloated now, for the uses.

      If that simpler Java implementation allowed the user to say yes when asked if they trust a company to install software, then that "exploit" would still exist.

      You may envision something simpler that can only run in the Java sandbox, but probably a browser option limiting users from permitting the install makes more sense, and let the user decide.

      This is a suggestion on that I posted to Sun's home page comments box yesterday. Whether the new JUIL licensing makes this easier to consider I don't know, but these kind of things need to be agreed upon by the community and stay standard.

      rd

      Beyond rewording the Java install security warning into potential consequences, which is much needed as pointed out, is the problem that the .jar after installed also then installed several Windows malware programs.

      If they were .exe's in the .jar file then the JVM should make the data available to OS security inspection with an OS specific security call, even if the API to call has to be provided by the Java Community to, for example, provide a program to invoke identified default AV, etc.

      Also, for many of us it is assumed that what is in a .jar is Java, and although may have been given permission to write files, not assumed that those files are Windows .exe's.

      Whether explicitly named as an executable file or renamed with an OS API call, in addition to the above trusted stuff Java should ask for permission to create an OS native executable which is way beyond the permission we intended to give to access files on the OS disk!

      It is just a one time deal on an install, or in this worst case, several from the .jar, so is not onerous to a user. It also should not involve a lot of overhead as its only the OS API commands to create or rename files to or with an executable extension.

      If any malware was subsequently downloaded and installed by the just installed Java program then another layer of permissions need to be asked for each additional install.

      In other words, it is insufficient to ask if Java can be trusted, then let it install native OS programs unsupervised.

      I am a Java programmer for the past year (writing my own stuff, unemployed) and have a program I plan to deploy, so this is very important to me that users can trust that Java will monitor what they have authorized to get out of the sandbox.

      May not be fair, but Java will earn even more trust from users doing this. Let's make lemonade out of this lemon.

      rd

    9. Re:Integrate into FireFox? by MichaelSmith · · Score: 1
      The people that are vulnerable to this are the same people that think it's a good idea to run native exe attachments in emails from unverified sources.

      Practically everybody, unfortunately.

    10. Re:Integrate into FireFox? by MillionthMonkey · · Score: 3, Insightful

      Both Microsoft and Firefox have made UI enhancements to make it more difficult for users to just reflexivly click "Yes" on every modal permission dialog that pops up. I think it's perfectly fair to hold Java to the same standard

      You're clearly just trying to save face if this is all you can complain about. Not all vulnerabilities involve users clicking Yes in security dialogs.

      since it turns out that Java really is not safer than "native" extentions like ActiveX or XUL or Plug-ins (despite years worth of propaganda saying otherwise).

      The "years worth of propaganda" was probably referring to Java's immunity to buffer overflow vulnerabilities and other attacks that exploit the machine-level details of C-style calling conventions. Or it could have referred to the sandbox security model under which applets can be run safely without even requiring a security dialog- as opposed to ActiveX for example, which is typically implemented in "unmanaged" (but digitally signed) C++, has a security model consisting of nothing but a security dialog, and which must run either with full privileges or not at all- based on whether you feel you can trust the author. You can run Java code in a sandbox and not have to trust anybody. The sandbox has such restrictive security, in fact, that it partly (along with install base and JDK versioning issues) led to the demise of applets relative to ActiveX.

    11. Re:Integrate into FireFox? by mark-t · · Score: 1
      I'm afraid you're right about that... but it's still not exploiting any weakness in the software, so it's not really proper to label it as such.

      I highly doubt anyone will be able to create an environment that can be both useful for people of all levels while still being accomodating for user stupidity.

    12. Re:Integrate into FireFox? by Anonymous Coward · · Score: 1, Informative

      Something that can be fixed right away if your using the JRE 1.5. Just go to the Java Control Panel, go to the "Advanced" tab, expand the security tree, then uncheck "Allow user to grant permission to content from untrusted authority". Most of the time, this is sufficient because the makers of the exploit are using self-signed certificate. If exploits that were signed by a trusted CA starts appearing, then one should uncheck "Allow user to grant permission to signed content" as well. Anyway, to most users, unchecking both will not be affected. Unless of course you happen to be using a signed applet. Signed applets are not often used, and they are used, they are usually only used for internal, corporate stuff at work.

    13. Re:Integrate into FireFox? by afd8856 · · Score: 1

      I've had the same problem with Java. First, there's no exploit, as far as I know, to circumvent the "Click Yes to install" screen that would appear when trying to install software from java. Also, Firefox has the option to disable java, which I did.

      --
      I'll do the stupid thing first and then you shy people follow...
    14. Re:Integrate into FireFox? by Shaper_pmp · · Score: 1

      If they were .exe's in the .jar file then the JVM should make the data available to OS security inspection with an OS specific security call... Java should ask for permission to create an OS native executable which is way beyond the permission we intended to give to access files on the OS disk!

      I'm not overly familiar with the "exploit" you're talking about, but I can think of several ways around this suggested fix.

      Probably the simplest problem is how does the JVM know if there are exe's embedded in the jar file? Now, if there were some standard "exe in jar" packaging scheme then yes, the JVM could look at the .jar file and warn the user about the contents. However (even in this case), what stops someone simply cutting-and-pasting the entire compiled code for the .exe into a string, then having their java code write this string to a file on disk? Bingo, instant executable file.

      Even if the JVM used some kind of heuristics (with the inevitable performance hit) What happens if you do something as simple as XOR the compiled code with a key stored in the file? I can't think of any practical way to determine if there's native-executable code in a .jar file that can't be easily circumvented with even simple encryption.

      The only way I can think of is to totally prevent all code in any jar file from creating or modifying binary files - restrict them to creating text-only files and (IIRC) they can't drop native executables (or at least, the file won't execute properly under windows). However, I have the feeling there are plenty of situations where you'd want to write a binary file that has nothing to do with executable code (can't bring one to mind, but exercise left to the reader), and this would be prevented by blocking all binary file access.

      IIRC there's nothing magical about executable files - they're just strings of characters like anything else. If you can write one type of file, you can pretty much write any kind of file to disk, so there's no way to stop this kind of thing fro mthe JVM...

      --
      Everything in moderation, including moderation itself
    15. Re:Integrate into FireFox? by ralphdaugherty · · Score: 1

      I'm not overly familiar with the "exploit" you're talking about, but I can think of several ways around this suggested fix.

      Probably the simplest problem is how does the JVM know if there are exe's embedded in the jar file? Now, if there were some standard "exe in jar" packaging scheme then yes, the JVM could look at the .jar file and warn the user about the contents. However (even in this case), what stops someone simply cutting-and-pasting the entire compiled code for the .exe into a string, then having their java code write this string to a file on disk? Bingo, instant executable file.


      The so called exploit was covered a couple of days ago in a /. thread, something like "Firefox used to exploit IE".

      Turns out it wasn't a Firefox exploit, or an IE exploit, or even a Java exploit. It was a site that downloaded a Java .jar which prompted Java to ask if the user wanted to trust this untrusted company, with a lot of yellow exclamation marks, at which point most people click ok and the .jar installed a boatload of adware/spyware/malware.

      After what you quoted, I described a scenario for checking for .exe's in the .jar. I suggested three things:

      1) The Java Community provide an OS dependent security call for the JVM to make that would make contents available to any available AV software for inspection.

      2) Monitor calls that create or rename system files. This would be monitoring data flowing through JNI, and would be monitoring for and either disallow or request permission with specific file names OS dependent commands to create or rename files to executable extensions. This is native direct OS API stuff, not trying to determine what any program called might do.

      3) Monitor in a similar way downloads that the .jar software may perform.

      This is not guaranteed to be bulletproof, but it catches straightforward ways to transfer native executables out of a .jar or downloaded to the system, so that a user is asked to trust each executable, not a carte blanche for some obscure and deliberately misleading malware company name to run amuck with an obscure OK.

      I hope that clarifies. Thanks for the feedback.

      rd

    16. Re:Integrate into FireFox? by Anonymous Coward · · Score: 0

      The browser option needs to default to off. I don't see any need for a browser applet to write to my disk. I don't think the people who get hit by this exploit would know to turn the option off.

    17. Re:Integrate into FireFox? by ralphdaugherty · · Score: 1

      The browser option needs to default to off. I don't see any need for a browser applet to write to my disk. I don't think the people who get hit by this exploit would know to turn the option off.

      I agree. The user was looking for Neil Diamond lyrics, not even installing anything. The default should be off. Those few who know they are using something in Java that will use their disk can check it on.

      Java apps, that is native apps on the system, should not be so easily confused with the trusted Java sandbox applets with only a "do you trust this" prompt standing between the sandbox and anarchy.

      The Java apps can be downloaded and installed more explicitly with the users prior knowledge and consent.

      rd

    18. Re:Integrate into FireFox? by Anonymous Coward · · Score: 0

      Of cource FireFox and other browsers could just put a SecurityManager in place, that is called when the java code calls Runtime.exec("evil.exe") and deny it (or present the user with a choice... again).
      This is already possible and _very_ easy.

    19. Re:Integrate into FireFox? by ralphdaugherty · · Score: 1

      Of cource FireFox and other browsers could just put a SecurityManager in place, that is called when the java code calls Runtime.exec("evil.exe") and deny it (or present the user with a choice... again).
      This is already possible and _very_ easy.


      I don't see a problem with that, maybe I'm missing something. "evil.exe" is already on the system, passed AV, was already requested to be installed, etc., so is inherently trusted. It's the creation of "evil.exe" from a .jar that I'm addressing. :)

      rd

    20. Re:Integrate into FireFox? by Marcus+Green · · Score: 1

      I assume you disabled JavaScript as well if you are genuinly concerned about security, you did, didn't you?

    21. Re:Integrate into FireFox? by afd8856 · · Score: 1

      To tell the truth, no, for two reasons:
      1. I still trust Firefox's Javascript implementation
      2. I visit some sites that need that (gmail is one of them)

      --
      I'll do the stupid thing first and then you shy people follow...
    22. Re:Integrate into FireFox? by Shaper_pmp · · Score: 1

      Yeah, I saw the article, but didn't read up on the in-depth details of how it worked at the time. Anyway...

      1) The Java Community provide an OS dependent security call for the JVM to make that would make contents available to any available AV software for inspection.

      This still doesn't solve the problem of encryption (even something as simple as XORing). The problem is recognising native executable code as different from JVM bytecode, when all you're looking at is essentially a string of (optionally encrypted) characters. IIRC, you'd have to make the .jar's contents available and crack any encryption or it'd be essentially worthless.

      2) Monitor calls that create or rename system files. This would be monitoring data flowing through JNI, and would be monitoring for and either disallow or request permission with specific file names OS dependent commands to create or rename files to executable extensions. This is native direct OS API stuff, not trying to determine what any program called might do.

      Granted, this has a chance of working, but it would be a bit of a nightmare to keep the list of "executable files" up-to-date - straight off the top of my head I can think of exe, com, bat, vbs, js, wsh, pif, cmd and lnk files - any of which can be used to create or somehow launch executable code (and microsoft do seem to like frequently creating new executable types).

      Assuming the list is kept up-to-date asking the user before creating or opening any of these filetypes would work, but you'd have to be careful to make the user understand what was happening, and we'd essentially end up with the same problem as before - user blithely clicks "yes" and the whole thing unravels...

      The major problem is the naive user is in the loop. The "Firefox exploit" (sic) worked because the user didn't know any better than to click "yes, I trust this company" - replacing this simple question with a slightly more complex one ("yes, I trust this company to download/open/rename this file to that filename") doesn't stop the problem. If anything it only make it worse (since in my experience if a user doesn't understand a question they tend to just hit "yes").

      Basically, to avoid naive user attacks you need to

      1) Educate the user (not likely, at least in the short term - classic users are lazy and stupid), or

      2) Take the naive user out of the loop - have some automatic way of detecting and preventing the exploit, so a naive user can't drop their spyware defences.

      You can't fix a social exploit without educating the user or taking him out of the loop...

      --
      Everything in moderation, including moderation itself
    23. Re:Integrate into FireFox? by ralphdaugherty · · Score: 1

      This still doesn't solve the problem of encryption (even something as simple as XORing).

      Anti-virus deal with that. They look for binary patterns, and yes much of it is encrypted. The point is to make the payload available for standard existing anti-virus inspection, just as any other payload coming onto the system is inspected.

      The list of executable extensions is OS dependent and is already done by email monitoring for attachments. It is the same extension list, everything that is executable, which I was surprised to find out awhile back included the wallpaper extension.

      These security checks would be handled by a JVM call to an Java Community OS security interface. None of it involves the user. They aren't supposed to click on executable attachments and they do, so many email systems have to ban executable attachments.

      I contend the Java security dialogue is obscure at best. There is no way that I would know that that gives permission to install Windows programs. If I don't know that, I don't know how very many others would know it either.

      But your points are well taken. It must be automatic, and I lay out three steps to make that automatic detection and stop it. The Java Community needs to act on it. Thanks.

      rd

  9. Prety Hot Property. by Anonymous Coward · · Score: 0

    "Proponents of making Java open-source argue that a different license and development process will help accelerate usage of Java, which faces ongoing competition from Web open-source scripting tools, such as PHP, and Microsoft's .Net line of tools.""

    Ummm, excuse me? I wouldn't call PHP a competitor to Java. .Net maybe, but not PHP.

  10. Suns past stance on this by Anonymous Coward · · Score: 1, Funny

    No
    No
    No
    No
    No
    No
    Maybe
    Haha... No

  11. What's so significant? by Jovian_Storm · · Score: 3, Interesting

    Slightly off-topic, but what impact will Sun's open-sourcing of the JVM have? We already have several Open Source JVMs, Kaffe and IBM's RVM(Research Virtual Machine). Since the Java specs are anyway open, is there any point if Sun opens up the JVM implementation?

    1. Re:What's so significant? by Wesley+Felter · · Score: 2, Informative

      Slightly off-topic, but what impact will Sun's open-sourcing of the JVM have?

      An irrelevant question, since Sun has no plans to open-source their VM.

      Since the Java specs are anyway open, is there any point if Sun opens up the JVM implementation?

      Writing your own implementation is really, really hard. Especially since the "spec" doesn't specify everything. So in the near future Sun-derived VMs will be the only complete ones.

    2. Re:What's so significant? by morzel · · Score: 1
      Writing your own implementation is really, really hard. Especially since the "spec" doesn't specify everything. So in the near future Sun-derived VMs will be the only complete ones.
      Sun is marketing Java as the only real cross-platform solution. Therefore proper cross-platform support for the JVM is of key importance to them.
      Extending the JVM in such a way that it would break third party (i.e.: mostly IBM's) implementations would be very counterproductive as they have no interest in supporting every platform out there themselves.

      I agree that writing a JVM is not exactly an easy thing, however it is not in Sun's best intrest to be the only vendor writing JVMs.

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    3. Re:What's so significant? by m50d · · Score: 1

      Kaffe is up to what, java 1.2 with a bit of 1.3 compatiability? A free 1.5 implementation would be a lot better.

      --
      I am trolling
    4. Re:What's so significant? by ralphdaugherty · · Score: 1

      Slightly off-topic, but what impact will Sun's open-sourcing of the JVM have?

      Allow Sun to show that they are receptive to the community clamoring for Java to be open sourced while still having a shot at maintaining a standard non forked Java.

      rd

    5. Re:What's so significant? by rhavyn · · Score: 1

      Writing the VM is easy, there are several VMs that seem (it's hard to prove since they don't have the TCK) compliant. It's the class library that is nearly impossible to clone. And, to the best of my knowledge, there is no Java implementation available that doesn't use Sun's class library right now. So, for all intents and purposes, Sun is the only vendor who can supply a compliant Java today.

    6. Re:What's so significant? by steve_l · · Score: 2, Insightful

      1. Remember that jvm and library is different. There are good OSS JVMs, but the libraries are a trouble spot.

      2 All the main OSS libraries build and run on Kaffe, including things like the SWT window toolkit, xerces parser, etc. Look at the Gump to see how well it is going: http://brutus.apache.org/gump/kaffe/

      3. A lot of focus in the gump/ant dev groups is about improving gump builds. If we can clean build the OSS stack on the OSS platform, we will be independent of Sun.

      4. the big issue with libraries is testing compliance. One thing we want is for sun to open up the TCK for Java so that OSS implementations can test against the official java TCK

      5. Although the TCKs are opening up, it is patchy and trouble. TCK access is only under NDA, which makes it hard to broadly test and debug, which is what OSS relies on.

    7. Re:What's so significant? by Anonymous Coward · · Score: 0

      So, please contribute to the 1.5 branch of GNU Classpath then.

      (Oh and Kaffe has substantial parts of 1.3 and about 75% of 1.4)

    8. Re:What's so significant? by m50d · · Score: 1

      Why should I bother when I can use other languages that are free right now? I'd like a free java 1.5, and it would make a difference to me, but if I'd have to do it myself I'm just going to use something else.

      --
      I am trolling
  12. Why Java open-source will never happen by blackhedd · · Score: 2, Insightful

    Because it doesn't need to. Java is now so big and so corporate that stability is far more valuable to its constituents than innovation.
    It will be the development system of choice for corporate development for another decade, providing jobs for all the new and soon-to-be CS graduates who aren't taught anything else. Yet Java is already completely ossified.

    1. Re:Why Java open-source will never happen by Tanaric · · Score: 1

      "Java is now so big and so corporate that stability is far more valuable to its constituents than innovation." Um, what? Where were you when Java 5.0 came out? The new Java generics package is absolutely beautiful, the enum implementation allows for more control than you could ask for, and the new for loop, combined with autoboxing of primitives, gets rid of a lot of the wordy code Java had before. I'm leaving out the rest of the cool features of 5.0, or the work of external parties like Eclipse (compilation at type-time owns). How did Java stop innovating?

    2. Re:Why Java open-source will never happen by blackhedd · · Score: 1

      Where was I when Java 5 came out? I'd been waiting three years for it and complaining loudly that a fully open process would have produced it much earlier. There isn't much in Java 5 that isn't derivative of other work. That's not a criticism, it just follows along my point that Java is now synthetic rather than innovative- that's what Sun and the other consitituencies WANT from Java. Generics are templates. The enum implementation permits a degree of clarity and conciseness that shouldn't have been lacking in the first place. Hell, even the fancy wait-free concurrency that everyone raves about is nothing more than pretty words over a coding style (minimal sync-sets) that has been around for a dozen years.

  13. zerg by Lord+Omlette · · Score: 2, Funny

    If it were up to me (I know it's not, so shut up ;_; ), I would put it in the public domain and pretend I wasn't the one who wrote it. Then I'd be all "Oh wow, Java's so cool, you can even download all the source code for it!"

    And then I'd get featured on slashdot as "Sun's Java Went Open Source" instead of some silly speculation that Sun might make up some magical license that lets you look at the code but not do anything w/ it.

    Will open sourcing Java source code mean that the language will get submitted to a standards organization like ECMA or ISO or something?

    --
    [o]_O
    1. Re:zerg by morzel · · Score: 2, Informative
      some magical license that lets you look at the code but not do anything w/ it
      "Open Source" can be exactly that (getting access to the source code)
      If you want to be able to do something with the code and distribute the end result you should look at "Free Software".

      By definition Free Software is Open Source but not necessarily vice versa.

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    2. Re:zerg by mabinogi · · Score: 1

      > Will open sourcing Java source code mean that the language will get submitted to a standards organization like ECMA or ISO or something?

      It's already under control of a standards organisation - the JCP.

      Whilst it's lead by Sun, there are members from all through the Java community, making it arguably a more relevant standards body than ECMA or ISO as far as Java is concerned.

      Submitting Java to ECMA or ISO would not achieve anything that cannot be achieved via the JCP, and would possibly even be detrimental to its development.

      --
      Advanced users are users too!
    3. Re:zerg by Anonymous Coward · · Score: 5, Insightful

      "Open" means not merely "affording unobstructed view", but also "unrestricted as to participants", "available for use", "obtainable", and "without restrictions".

      So, your objection is that the "open" in "open source" can be interpreted to mean merely available to be viewed, despite the other meanings of the word open. Which is no worse than the problem "free" has, in "free software", since gratis software is quite common.

      Here's the thing -- a random member of the public, hearing the word "free software", will immediately jump to the conclusion that it doesn't cost anything. Especially since the way the word is most often used in the media as "gratis", and since the Windows world is full of "freeware" -- most of it low quality software that supports the proposition "you get what you pay for".

      The same person will not have any idea what "open source" means, since he is unlikely to even know what source code is. Instead of being misinformed by the term, he will notice there is something here he doesn't understand.

      Which is better, from a public-education point of view? The term that immediately misleads your audience from what is meant, or the term that is a semantic nullity, in which you can pour meaning?

      Hint: they're less likely to listen if you tell them their first conclusion was wrong than if you don't have to tell them they were wrong.

    4. Re:zerg by Lord+Omlette · · Score: 1

      I can't believe I was so wrong about this, and yet I read TFA.

      Sorry about that. ^^;;

      --
      [o]_O
    5. Re:zerg by commodoresloat · · Score: 0
      And then I'd get featured on slashdot as

      So you're saying the main reason to open source Java is to get featured on slashdot? There are easier ways, you know. Just go back a couple days and copy and submit an older post.

    6. Re:zerg by Anonymous Coward · · Score: 0

      From http://www.opensource.org/docs/definition.php :

      Open source doesn't just mean access to the source code.

    7. Re:zerg by shutdown+-p+now · · Score: 1
      By "common sense" definition (which you used for OSS, and now I'm returning the favor), Free Software is software which is free. The name doesn't imply the kind of freedom.

      On the other hand, by Stallman's definition, Free Software is "free as in speech", copyleft, etc. At the same time, by OSI definition, Open Source is something more than just software for which you can see the code.

    8. Re:zerg by marcosdumay · · Score: 1

      As english names are so confusing, I stil prefer libre.

  14. That would be nice..Mohammed to mountain. by Anonymous Coward · · Score: 0

    Well the nice thing about .Net isn't the VM. But more what I call bringing Mohammed to the mountain. By having multiple languages that compile down basically to one language. You take out the some of the adoption pain.

    1. Re:That would be nice..Mohammed to mountain. by MightyMartian · · Score: 1

      There's certainly nothing to stop someone from making a bytecode compiler for any language that can run on the Java VM. I do recall that NetRexx was a language like that.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:That would be nice..Mohammed to mountain. by cpghost · · Score: 1

      Already done: Jython

      --
      cpghost at Cordula's Web.
  15. Nobody Cares, quit bringing this up again by bigbinc · · Score: 1, Interesting

    Why does everybody in IT have to be a fortune-teller. First, google is not going to create a global internet filesystem for the entire world and eliminate the computer. If you are a software developer. You only look 6-9 months ahead and google's take away the computer plan won't happen for 900 years. Second, Java is a simple language. Java mainly benefits from the amount of libraries and other tools that are already on the market. We have been looking at Java's source for the last several years now anyway. Nobody really gets excited. I would watch the language tools that are already out there, so don't wet your pants on java being open-sourced. Yay or nay, it probably won't effect the market too much. Geeks who live in dim-lit caves will probably have something new to play with, that is all

    --
    ---- Berlin Brown http://www.newspiritcompany.
    1. Re:Nobody Cares, quit bringing this up again by dahlek · · Score: 1
      I live in a cave, what of it?!

      It's dry, I've removed all of the bat-guano from the floor, and adjusted the stalactites and stalagmites so I don't run into them with my forehead (or stub my toes).

      IMO, you are just jealous...

  16. Doesn't matter much by Anonymous Coward · · Score: 3, Insightful

    Sun is in trouble because GCJ is getting so much better. It has a strong chance of becoming the "defacto" version on Linux very soon. RedHat engineers already have Eclipse built and running on it, and tightly integrated with Gnome and Glade development. It's starting to look really nice, and SWT compiles natively into Linux binaries. Sun will likely maintain the lead on Windows pretty easily, but they stand a big chance to lose out to GCJ on Linux. No biggie, because Linux isn't a real server platform after all, right Sun? ;)

    If Sun wanted to make themselves insanely relevant very quickly, they would fully embrace Debian and support it extremely well. Then, they should work to standardize on http://www.autopackage.org/, or something very similar to it. Then, they should work to get Java much better integrated into Firefox and vice versa. Here is a good article on it the level of integration between the JVM and the browser, which is just pathetic at the moment:

    http://www.softwarereality.com/soapbox/swing.jsp

    I wish there were a sane event model to share between Java and the Browser so that I could use the browser as a display technology and have access to all of the Java class libraries for networking and such.

    1. Re:Doesn't matter much by LarsWestergren · · Score: 1

      Then, they should work to standardize on http://www.autopackage.org/ [autopackage.org], or something very similar to it.

      JPackage perhaps? :-)

      There is also a popular request for enhancement hereurging sun to make the Java RPM play better in Linux, i.e. respecting the filesystem standards for where to place documentation etc.

      I doubt that GCJ is going to take over on Linux though. Not that they aren't doing FANTASTIC work, but there is still lots of catching up to do and Java is a moving target.

      --

      Being bitter is drinking poison and hoping someone else will die

    2. Re:Doesn't matter much by Anonymous Coward · · Score: 1, Interesting

      Well, JPackage is interesting, but it's still a centralized repository. Look at the faq here:

      http://www.autopackage.org/faq.html#2_1

      Basically, centralized repositories (apt-style) do not give each publisher/software house the ability to control *their own distribution*. That, in my estimation, is the #1 reason why more companies don't distribute software packages. Sure, there's an issue of non-standard toolkits, etc, but the first obstacle to standardizing anything is the install. Autopackage provides the possibility of a single way to install AND uninstall applications on every Linux distribution. That's why it's important.

      Sun should support this on Solaris, and distribute all of the software from the projects they underwrite (OpenOffice.org) so to help get things going.

      Take some time to read through the entire site. I think it's the most important thing necessary for Linux right now. If I, with over ten years of experience using Linux, absolutely loathe installing applications and find it completely unnecessarily difficult, imagine how new and inexperienced users feel!

      That is all off-topic, but Sun is still in some kind of trouble. There are so many things they could do with Java, but they aren't, so this is why the calls to open source are intensifying. They should let it go and see what happens, then pull in all the popular innovations back into the "standard" java platform. They have the ability, but I think they're missing the leadership to do it.

      The final thing is that their overall concept of end-user experience basically sucks hard. One example is Java Web Start. While it's a really great idea, it's so awful from the experience of a user, that I refuse to use it. Another prime example is the default look of Java (not to mention the Java desktop). It looks nothing short of pixel vomit. Sure, some people create amazing applications with it, but unfortunately, most applications aren't going to stray much from the default. The result is a perception that Java apps look like trash. If JGoodies, for example, is necessary to get a decent look out of a java app, then why doesn't Sun support that? It's free (as in BSD free), so WTF? Instead they ship this bluish look with the same ugly icons. I almost fell out of my seat when I saw the new look and feel for Java 1.5. Perhaps slightly better than the defualt, but still FUGLY.

    3. Re:Doesn't matter much by LarsWestergren · · Score: 1

      Basically, centralized repositories (apt-style) do not give each publisher/software house the ability to control *their own distribution*. That, in my estimation, is the #1 reason why more companies don't distribute software packages. Sure, there's an issue of non-standard toolkits, etc, but the first obstacle to standardizing anything is the install. Autopackage provides the possibility of a single way to install AND uninstall applications on every Linux distribution. That's why it's important.

      Ah, I see. I wasn't aware of all the things Autopackage could do.

      One example is Java Web Start. While it's a really great idea, it's so awful from the experience of a user, that I refuse to use it.

      My experience is the complete opposite. Have you tried to download the demo for Puzzle Pirates? That uses Webstart. Looks great, works great. Completely OS independent, and they have skinned webstart to give it a game UI look and feel. Not difficult to use at all, just double click on a jar to start the game and any patches are downloaded and installed automatically and then the game starts.

      --

      Being bitter is drinking poison and hoping someone else will die

    4. Re:Doesn't matter much by Coryoth · · Score: 1

      Sure, there's an issue of non-standard toolkits, etc, but the first obstacle to standardizing anything is the install. Autopackage provides the possibility of a single way to install AND uninstall applications on every Linux distribution. That's why it's important.

      I think Autopackage is fantastic, and am looking forward to the day when most developers package their software that way. If you're looking for a standardised way to install and manage software though, I'd suggest you look into Smart as well.

      It's complementary to Autopackage - Smart covers respositories and distribution provided packages (As nice as Autopackage is, it isn't designed for install/upgrade of the base system). Smart is effectively a replacement for apt/yum/urpmi etc. It is a package manager and dependency solver. The important point to you is that unlike all those tools mentioned it is completely pluggable for backends and channels. That means it can (and does) support .rpm, .deb, and even slackware .tgz. Moreover it can understand apt repositories, urpmi repositories, yum repositories, red-carpet channels etc. It can even mix and match between those if you like (though messes may result from randomly mixing distro repositories).

      The point is that, in theory, every current major distro (presumably even gentoo, I haven't looked at the details, but I imagine an ebuild backend can be written as well) can use Smart as the base software install/patch/upgrade interface, regardless of what they do behind the scenes. That means (presuming it gets the uptake it deserves) we could see a (from the user point of view) single way to install/patch/upgrade base software on every linux distribution - the fine points of package format, repository layout etc. can be hidden behind Smart's common interface.

      Combine that with Autopackage's interface for third party/additional applications, and managing software on Linux will look more clean, consistent, and uniform than anythign else.

      Jedidiah.

    5. Re:Doesn't matter much by Anonymous Coward · · Score: 0

      But GCJ got the licensing upper hand for wide spread adoption in GNU/Linux systems regardless how much it is implemented.

      GNU Class Path has very nearly implemented JDK 1.1, there are Java bindings for GTK and GNOME, which could attract a lot of developers.

    6. Re:Doesn't matter much by Anonymous Coward · · Score: 0

      99.99% of Java programmers couldn't care less about GCJ. The Java JIT'ers beat it hands down:
      http://www.shudo.net/jit/perf/
      Even MS C# beats GCJ. GCJ is one of the slowest Java implementations around. Even Mono is faster!

    7. Re:Doesn't matter much by Alex · · Score: 1



      If Sun wanted to make themselves insanely relevant very quickly, they would fully embrace Debian and support it extremely well. Then, they should work to standardize on http://www.autopackage.org/ [autopackage.org], or something very similar to it. Then, they should work to get Java much better integrated into Firefox and vice versa. Here is a good article on it the level of integration between the JVM and the browser, which is just pathetic at the moment:


      Relavent to who exactly ?

      Alex

    8. Re:Doesn't matter much by lokedhs · · Score: 4, Insightful
      Sun is in trouble because GCJ is getting so much better
      Why would an omproved GCJ put Sun in trouble? They're getting another Java implementation done for free == more Java == good.

      Now if you say they are afraid that if they BSD-license Java and then end up having the GCJ team dictating what Java is and is not, then yes. That is exactly what Sun means when they say there is a potential problem with forking.

    9. Re:Doesn't matter much by strider44 · · Score: 1

      he means that their implimentation of java may be in trouble, at least in terms of the linux platform. If GJC becomes the standard on linux then even if they open source the compiler, noone will use it. Like NeroLinux, they could have taken control but it'd be just too late.

      Not totally sure I agree with him though.

    10. Re:Doesn't matter much by lokedhs · · Score: 1
      Yes, I understood that. But why is that a problem? The Java implementation is as free as it comes, and the source code is free from https://mustang.dev.java.net/ . Sun doesn't make money directly from people using their Java implementation.

      If it would happen that everybody used some other implementation (even though that is quite unlikely for a very long time) then all that would mean is that Sun could save a lot of money.

      Sun are quite pragmatic. If they could make someone else develop a product for them, they would.

    11. Re:Doesn't matter much by ultrabot · · Score: 1

      Why would an omproved GCJ put Sun in trouble? They're getting another Java implementation done for free == more Java == good.

      Isn't this exactly what Sun sees as a big problem, and the reason why they haven't open sourced Java?

      --
      Save your wrists today - switch to Dvorak
  17. I'm looking forward to this by NutscrapeSucks · · Score: 3, Funny

    As soon as Java goes open source, I plan on forking it. Job 1 will be to add first class support for COM and XPCOM objects. After that's done, I'm planning on adding Delegates for event-driven programming. Good RAD-Designer support is important too.

    Of course, there might be some minor incompatibities with other JVMs, and the initial releases will be Windows-only, but since Java is such a neat and productive environment to program in, I think people will overlook these issues. Anyone interested in joining this project, please contact me.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
    1. Re:I'm looking forward to this by bigbinc · · Score: 0

      Someone mod this post up. There needs to be more support for lowerlevel libraries. Especially the popular windows libraries. Somebody has to clean up the jvm garbage collection though.

      --
      ---- Berlin Brown http://www.newspiritcompany.
    2. Re:I'm looking forward to this by mark-t · · Score: 1
      I expect that if Java goes open source, any unauthorized forks which may arise will not be able to be called Java, or even openly claim interoperability with Java. as Java will still be a trademark owned by Sun.

      You may be able to get away with calling it a virtual machine suitable for running browser applets and other highly machine independant code.

    3. Re:I'm looking forward to this by Xtifr · · Score: 1

      That's nice, but if it's properly open-sourced (i.e. GPL), MSFT's not going to touch your "fork" with a ten-foot pole. So, you're not going to get rich quick or anything. And it's not going to gain you very much, since you already have the capability of building that system, since java supports linking to external libraries. So, you'll have this system that you'll use to...do what, exactly? Hey, good luck with your project, dude, hope you have fun.

      Having support for COM/XPCOM/whatever has really destroyed perl and python, and made it so that there's no cross-platform code written in those languages. I'm sure it will destroy java just as thoroughly. Oh wait, did I leave off the <sarcasm> tags?

    4. Re:I'm looking forward to this by Anonymous Coward · · Score: 0

      He can always market it under a new name, say '.Nut'.

    5. Re:I'm looking forward to this by pchan- · · Score: 1

      I'm in. But we're going to have to add support for explicit pointers, with arithmatic and array operations. And gotos. Also, let's throw in operator overloading. And a select(2) call and asynchronous IO implementation. And #defines, and header files. And inline assembly. Also, we'll have to make the garbage collector optional for people who want to handle memory allocation themselves, and implement a malloc(3) and free(3).

      We'll call it Java.add(1).

    6. Re:I'm looking forward to this by ip_fired · · Score: 1

      Oh, I don't think the parent (or grandparent to this post) had any desire of calling it Java. Maybe he can come up with a witty name like B## or something.

      --
      Don't count your messages before they ACK.
    7. Re:I'm looking forward to this by Anonymous Coward · · Score: 0

      I'm in. But we're going to have to add support for explicit pointers, with arithmatic and array operations. And gotos. Also, let's throw in operator overloading. And a select(2) call and asynchronous IO implementation. And #defines, and header files. And inline assembly. Also, we'll have to make the garbage collector optional for people who want to handle memory allocation themselves, and implement a malloc(3) and free(3).

      We'll call it Java.add(1).

      A more appropriate name would be Unreadable Spaghetti (TM)

    8. Re:I'm looking forward to this by lokedhs · · Score: 1
      And a select(2) call and asynchronous IO implementation
      I know you were joking, but Java has had a the equivalent the select(2) call for quote some time.
    9. Re:I'm looking forward to this by davecb · · Score: 1
      NutscrapeSucks writes As soon as Java goes open source, I plan on forking it. Job 1 will be to add first class support for COM and XPCOM objects.

      I hope that is an tease. If it's not, Microsoft will be really, really happy if you do.Perhaps you should apply to them for funding.

      Your forked Java will only work well on Windows with native COM, XPCOM and possibly NET. For your java to be "run everywhere", then arguably you should contribute to the MONO project.

      By the way, the task of writing MONO is only slightly smaller than writing WINE, whose team has been working on it for more than a few years (:-))

      --
      davecb@spamcop.net
  18. Already ditched-Typing "Briefs". by Anonymous Coward · · Score: 0, Funny

    If you really want to save your, er, um...typing hand? I would suggest you learn APL.

  19. So... by Anonymous Coward · · Score: 0, Funny

    Do we still hate Java or what? I'm confused.

    1. Re:So... by m50d · · Score: 1

      Yes, we still hate it. They're trying to make us not hate it by pretending that the reasons we hate it don't really count. But they do. Until Java shows up in Debian main, keep hating it.

      --
      I am trolling
  20. Get informed by BortQ · · Score: 4, Informative

    Anyone who reads Jonathan Schwartz's blog will know that Sun is gonna open-source java. He's been hinting about it for a while now, interspersed with hyping up the open-source release of solaris. Sun seems to understand that going open-source is there best chance of survival in the software world.

    --

    A Multiplayer Strategy Game for Mac OS X, Windows, and Linux
    1. Re:Get informed by QuantumG · · Score: 1
      Jonathan Schwartz is an incompetent boob. I really hope the Sun board get some worth out of him because when it comes to open source issues he doesn't have a clue. My most favourite quote:

      "The most interesting thing about Linux, aside from the social movement aspect, is the fact that it is the first Unix to run on x86."

      This is from the COO of Sun Microsystems. You know, the creators of SunOS 4.0.2, which ran on x86 hardware back in 1989? 2 years before Linus even thought about writing a kernel? That's just blatant incompetence. The board should give him a gag order.
      --
      How we know is more important than what we know.
  21. But if sun open sources Java... by mark-t · · Score: 0, Redundant
    That would be one less thing for Java critics to whine about.

    I mean I guess there's still the speed issue, and oh yeah, the swing-is-ugly issue, but really... who does Sun think they are taking away one of the single strongest and fundamentally irrefutable arguments that the anti-Java camp ever had?

    1. Re:But if sun open sources Java... by Look+KG486 · · Score: 0
      Speed and Swing. It's a damn shame people equate the speed and look of the AWT and Swing kits to Java in general. Java is a great tool for behind the scenes, server-side programming. Networking, RMI, databases. It's great for these things.

      I urge those on the fence or on the other side of it from Java to put away any Java book you have centered around crappity applets, AWT, or Swing and give some of the aforementioned strengths a closer look.

      --

      "Play is the only way the highest intelligence of humankind can unfold." -- Joseph Chilton Pearce

    2. Re:But if sun open sources Java... by bunratty · · Score: 1

      I thought the speed issue was largely addressed, and now the main issue is it's a memory hog.

      --
      What a fool believes, he sees, no wise man has the power to reason away.
  22. if not java == cobol: - java is not cobol by bigbinc · · Score: 0

    Raise your hand if you know anything about cobol. ..."Don't see any hands" Why are people comparing a language still popular in the year 2005 to a language used in the sixties and seventies. If Sun could really create a fast VM, and people are actually excited about downloading a JRE. I see java being used as a lower level language over higher dynamic languages like Jython/Ruby/Groovy. All of the eyes should be focused on the team that reduces the java startup times, the 100MB memory footprint. And for the sake of Moses. Get rid of the default "I-am-too-cool-look-and-feel". If Sun does this, possibly adopts a dynamic language project. Sun could actually go after MS, possibly even google. Look at the recent jolt awards. Most of the best software engineering projects were java based. Cobol, java is not. Elegant, not that either? http://www.sdmagazine.com/jolts/ Cobol has a little different feel than... dog.jump(); ... 100200 MAIN-LOGIC SECTION. 100300 BEGIN. 100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS. 100500 DISPLAY "Hello world!" LINE 15 POSITION 10. 100600 STOP RUN. 100700 MAIN-LOGIC-EXIT. 100800 EXIT.

    --
    ---- Berlin Brown http://www.newspiritcompany.
    1. Re:if not java == cobol: - java is not cobol by wcdw · · Score: 1

      So what you're really saying is that you don't know COBOL either? :) You could at least have started with the proper IDENIFICATION DIVISION line.....

      There are some of us who still remember COBOL (the 6th language I ever learned, I believe, although it's been too many years ago to remember).

      Most of us won't admit it any more, though!

      --
      If you're not living on the edge, you're just taking up space!
    2. Re:if not java == cobol: - java is not cobol by linguae · · Score: 1
      Why are people comparing a language still popular in the year 2005 to a language used in the sixties and seventies.

      Because Java is being deployed in businesses everywhere. Many of the ancient IBM mainframes are being replaced with servers running Java applications on them. Java of 2005 is compared to COBOL of the 1960s-70s because of its popularity and widespread use in businesses. Businesses like Java's enterprise tools, scalability, and employability (since it seems that most universities are teaching Java as a first language now of days, so the fresh college grads would already get to work coding Java apps).

      Technically, Java != COBOL, though. The only similarity that these languages have is there popularity in businesses. Other than that, they are very different languages; it would be like comparing C and BASIC (gotos, line numbers and all).

    3. Re:if not java == cobol: - java is not cobol by clard11 · · Score: 1

      Many of the ancient IBM mainframes are being replaced with servers running Java applications on them

      Businesses don't have to do this - they can deploy J2EE apps directly on your so called ancient IBM mainframes. The same Java and WebSphere code runs directly on big blue iron.

      --
      catch (ModDownException mde) {post.modUp("Interesting")}
    4. Re:if not java == cobol: - java is not cobol by BarryNorton · · Score: 1
      Technically, Java != COBOL, though. The only similarity that these languages have is there popularity in businesses. Other than that, they are very different languages; it would be like comparing C and BASIC (gotos, line numbers and all).
      There's no wonder it took Java so long to get parametric polymorphism with that level of understanding prevalent.

      Dijkstra's argument against GOTO, Hoare's against pointers, and Nygaard's for the object-oriented approach were also all in the "1960s-70s".

      In a few more decades we might actually have an industry using higher-order functions, inductive datatypes, a generalised inclusion polymorphism not crippled by being tied to code reuse via 'inheritance' and, who knows, maybe even dependent types. Then people might actually realise that the comparisons being drawn between imperative languages are pretty insubstantial and more about library and IDE support than language features.

    5. Re:if not java == cobol: - java is not cobol by 16K+Ram+Pack · · Score: 1
      I know COBOL pretty well, and for complex data processing, I'd rather use it than a lot of other languages.

      The Data Division/File Section stuff just works. Want to know how an input file is laid out? It's all there in one place, and it's simple.

    6. Re:if not java == cobol: - java is not cobol by wcdw · · Score: 1

      I at least partially agree with that. It *is* easier to write self-documenting code in COBOL.

      However, it's never been a panacea. I've seen some very obfuscated COBOL in the real world. And even e.g. the input file layouts can be pretty useless when there are 25 different record types in the file, and the field names are all "XYZ PIC X(5)."

      There are some types of programs for which I'd still prefer COBOL. However, I try to avoid those projects. ;)

      I've long been a believer in using the right tool (or language) for the job. The problem I saw with COBOL is that shops which use it tend to use it almost exclusively. Which makes economical sense - it's harder to maintain a multilingual stable of programmers - but does force it into totally unsuitable applications.

      --
      If you're not living on the edge, you're just taking up space!
    7. Re:if not java == cobol: - java is not cobol by laejoh · · Score: 0

      So what you're really saying is that you don't know COBOL either? :) You misspelled IDENTIFICATION DIVISION.

    8. Re:if not java == cobol: - java is not cobol by wcdw · · Score: 1

      :) Actually, I noticed that just after I hit submit, and have been waiting for someone to call me on it.

      My response? That's what the compiler is for; to catch my typos!

      --
      If you're not living on the edge, you're just taking up space!
    9. Re:if not java == cobol: - java is not cobol by laejoh · · Score: 0

      ;) and btw: your sig is very applicable to cobol!

  23. What about the Linux ports like Blackdown? by Anonymous Coward · · Score: 0

    How did they do a Linux port without the source? Were they licensed by Sun?

    And did Sun ever make Java source code available for viewing only (not modification), or did they never make even this available?

  24. Java and "Unsupported" Platforms by linguae · · Score: 4, Interesting

    It would be great if the Java JDK were open-source, or at least distributed with a less restrictive license. Installing Java on "unsupported" platforms is a nightmare. Take FreeBSD, for example. First, I have to install the Linux version of Java, because for some reason, the native Java port requires the Linux version for bootstrapping purposes. Next, I have to manually fetch the sources for Java from Sun (since Sun prohibits redistribution other than from Sun's site, and the latest precompiled package for Java is for FreeBSD 4.x, which doesn't work under FreeBSD 5.3; not to mention that I can't really do anything with the sources other than compile them; the license is very restrictive). Finally, I have to compile them, which took me 18 hours to compile on my computer (I'm not trolling; the fastest computer I own is a 475MHz K6-2 with 64MB RAM; I'm poor). For Sun to advertise that programming in Java is about "writing once and running everywhere," I guess "everywhere" is defined by Sun's view on the world. The only reason why I compiled the JDK in the first place is because I need it for my upcoming classes.

    It would be great for all developers if Java were open sourced under an agreeable, OSI-compliant license. Developers of "unsupported" platforms would be able to port the JDK to their favorite operating systems (and redistribute sources and binaries of the JDK, too), which would raise the number of developers using Java, which in turn raises the number of people using Java-based applications. Next, I don't think Sun has to worry much about Java being forked. Look at C, C++, Python, Perl, and Ruby. C and C++ are ANSI-certified, and Perl, Python, and Ruby are open source. As far as I know, there aren't any forks of C, Perl, and the other languages that I've listed.

    In the meanwhile, I wonder how good are the free, open source interpretations of Java and how they stack up to the Sun JDK?

    1. Re:Java and "Unsupported" Platforms by jab · · Score: 3, Insightful

      I have to agree, a true open source Java would be a major improvement. On my platform (Debian) I can install python or php or haskell or gcj trivially, and the package maintainers makes sure any rough edges are smoothed out. The net result is it all just works.

      Yesterday, I tried to install Java because a colleague is developing a web application with a Java component in the browser, and I wanted to try it and maybe help him out. That meant installing a Debian helper package. Then manually downloading Java, clicking through some license agreement nobody reads. Running the helper package, typing answers to questions, paging through the same license agreement in the terminal, having to type out "yes" and hoping things work. Not impossible, but at least 10X more work than every other piece software on my system, especially if I want to keep up to date with point releases

      And of course it ended up not working - my Firefox still refuses to run Java for some reason. I ended up taking the path of least resistance which was VNC to a Windows computer - a pathetic and painful workaround. Normally I'd file a bug and the package maintainer would smooth out these system integration issues, but Sun's redistribution terms are preventing that. To add insult to injury, I think I remember reading that Sun sued Microsoft for NOT distributing Java at one point, which makes me wonder about corporate schizophrenia. If Java were true open source, I'm confident things would finally get smoothed out and I'd be much more inclined to develop for the platform and trust that it would always be there for me.

      Furthermore, there's now a few useful open source programs written in Java that also get hampered. For example, the Lucene search toolkit can't currently be built without Sun's SDK. Therefore, it can't run on the Debian autobuilders and gets relagated to second class citizenship status. As both a proprietary and an open source software developer, my life would be easier, happier and I'd be far more Javaphilic (as opposed to just plain grumpy) working on an open source platform.

    2. Re:Java and "Unsupported" Platforms by nacturation · · Score: 1

      As far as I know, there aren't any forks of C, Perl, and the other languages that I've listed.

      I find that hard to believe. How many different C implementations are there, and are they all fully 100% compatible with each other? Now, in commercial versions you don't get forks as the code is copyrighted and can't be reused for another project. But I'd be really surprised to not find any forks.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    3. Re:Java and "Unsupported" Platforms by Anonymous Coward · · Score: 0
      First, I have to install the Linux version of Java, because for some reason, the native Java port requires the Linux version for bootstrapping purposes.

      This is just a guess, but the Java compiler is itself probably written in Java. Just like most C compilers are written in C. (gcc is a good example of such a C compiler.)

      If you were bootstrapping a C compiler written in C, you'd need a C compiler to do it. You don't notice this requirement on most operating systems since a C compiler is already supplied. However, when you need to do the same thing on FreeBSD, there is no supplied java compiler (or JVM), so you have to have one temporarily in order to build your own. It's really no different from a compiler for any other language.

      By the way, is your best machine really a 475 MHz K6-2 with 64MB of RAM? If so, and if you live in/near Austin, TX, I will give you a 1 GHz Athlon motherboard and CPU. It's just sitting in a corner here...

    4. Re:Java and "Unsupported" Platforms by downbad · · Score: 1

      there have been plenty of C "forks" (C++, Small-C, Embedded C++, Cyclone, Objective C, etc). it's kind of hard to "fork" the perl & and python languages because the standard libraries and syntaxes change with almost every minor revision of the interpreters.

    5. Re:Java and "Unsupported" Platforms by Anonymous Coward · · Score: 0

      I think I remember reading that Sun sued Microsoft for NOT distributing Java at one point

      It was something like this:

      SUN: "Hey, Microsoft is shipping an incompatible version of Java, make them take it out!"
      COURT: "Hm........" [long pause] "OK."
      SUN: "Yay!"
      [pause]
      SUN: "Hey, Microsoft is trying to bundle a competing product with Windows, make them include Java!"
      COURT: "Hm........"

      I forget the outcome, or if there even was one, but I think the final answer was "no".

      But, yes, Java is a great language, as long as you use Windows. I've had to get it working on Solaris, and it's no picnic on that, either! You'd think Sun would at least be able to make installing Java on Solaris easy, but - nope.

      You have to through the same process you went through with Linux, minus the helper package. Page down through the license agreement and type "yes" at the end. Then it unzips to a directory within whatever directory you're running the package in. (Whoops, I guess /root/j2sdk_1.4.2_02 is an acceptible place for Java...)

      Java is "write once, run on Windows well and everywhere else poorly", which is really too bad.

    6. Re:Java and "Unsupported" Platforms by Decaff · · Score: 1

      Java is "write once, run on Windows well and everywhere else poorly", which is really too bad.

      Absolutely true. About 8 years ago. Then Java on Linux was slow and buggy. Now I transfer major projects back and forth between Linux and Windows with no effort and no 'running poorly' problems. Everything works the same - file handling, threading, networking, GUI apps.

    7. Re:Java and "Unsupported" Platforms by Anonymous Coward · · Score: 0

      You might try apt-get install gcjwebplugin

      It works on a few of the java applets that I have tried it with, and failed on a few others... it is still in development but is something to watch in the future.

    8. Re:Java and "Unsupported" Platforms by Anonymous Coward · · Score: 0

      The Java compiler is written in Java. Various things like Ant and the Tomcat JSP engine (Casper?) all access it directly through Java.

      The Sun implementation also manages to leak memory. (Known bug.)

    9. Re:Java and "Unsupported" Platforms by Anonymous Coward · · Score: 0

      Once they start running, they're usually OK. Although I find that most GUI applications are really flakey under Linux and Solaris, which is strange.

      My point was that it's a complete pain to set up Java under Linux and Solaris. Once they're installed and you get everything set up ($PATH, $JAVA_HOME, etc.) then it's fairly painless.

      But the Windows version is still far easier to set up.

    10. Re:Java and "Unsupported" Platforms by Decaff · · Score: 1

      Once they start running, they're usually OK. Although I find that most GUI applications are really flakey under Linux and Solaris, which is strange.

      I simply haven't found this. I use NetBeans under Linux for hours each day, and have had no problems at all.

      My point was that it's a complete pain to set up Java under Linux and Solaris. Once they're installed and you get everything set up ($PATH, $JAVA_HOME, etc.) then it's fairly painless.

      I think saying it is a 'complete pain' is exaggerating somewhat! You either do a simple rpm install, or just unpack an archive, and that is it! Add the java/bin directory to your path and you are away - that is only two actions.

      Some programs do need JAVA_HOME, but again, that is only one command.

  25. Patches, surely by m50d · · Score: 2, Interesting

    It seems to me there's a completely obvious solution to this: only allow patches against their version to be distributed, not already-modified versions. And don't let modified versions use the trademark. That way it would be completely obvious which was the real java.

    --
    I am trolling
  26. YAY! by thegamerformelyknown · · Score: 2, Insightful

    Acknowledged, Java has some downfalls (slow, etc) and it is not a native programming language, but overall, Java is a great way to go. Java applications developped for a website is a powerful tool, instead of using php. And Java games are very popular in the cell phone industry right now, not flash. Overall, I think the possibilities that Java offers are enough in itself to warrant making it open-source. But I'm biased... I just started learning it.

    1. Re:YAY! by ralphdaugherty · · Score: 1

      Acknowledged, Java has some downfalls (slow, etc) and it is not a native programming language...

      I just completed my first project in Java, rewriting my Double Deck Pinochle DOS 8086 game in Java, and I was pleasantly surprised. On my first go round on playing cards, I accidentally didn't have a stop between players and I had a clear screen call (blank the text area) in there instead.

      It went through the logic of playing all four cards of a trick and displaying to screen with a clear and I didn't even see the screen flicker.

      It was only a text area, and I'm now replacing with a panel and then further GUI enhancements, but Java was instantaneous going through complex logic. (Java 1.3 on 1.2 Ghz Win98)

      rd

    2. Re:YAY! by kobaz · · Score: 1

      Use most any language these days and throw it the most complex logic you have ever seen, and it should do fine. Logic is not all that hard for a compiler/interpreter/computer to handle.

      Do something that will take a significant amount of cpu time to execute, say sorting something. As a quick example take *any* sorting algorithm and run it using java, and then run it using c. This is where java's raw slowness pokes its ugly head.

      --

      The goal of computer science is to build something that will last at least until we've finished building it.
  27. No, they want to keep their integrity-First date. by Anonymous Coward · · Score: 0

    "If Sun wants to control Java's development after it opens it, then it is not true open-source."

    Wow! Some choice.

    Closed-source: Maintain integrity, especially against forces hostile to it. hint, hint.

    Open-source: Subject Java to completely random forces with odds that would make a gambler nervous.

    Guess we know which companies will bet on.

  28. Here is the reason: workpower for industry by Anonymous Coward · · Score: 0

    The primary reason is to get workpower for the industry.

    If the industry demands people skilled with Java (for whatever reasons), then people skilled with Java is what they shall get.

    Now, I personally find this a bit sad. First of all, we as people do not live FOR the software (or any other industry). Second, true innovation comes from NOT having to think about whether whatever you might come up will sell 1 billion dollars in the next five years. I wish we could skip the money-focused thinking especially in institutions which are supposed to teach people who want to learn (unless that's what they go to learn about!).

    That said, I think Java is very good to learn OO things from. It sort of automatically teaches good design and clear OO-based thinking. It gets you to know the basics, in a way. Add to that some reading, and pretty soon you'll have a good picture what OOP, OOA and OOD are about. From thereon, you can develop your skills as far as you can, and since you've understood the concepts, you are no longer bound by just Java as language. You can switch to Python, it will be easier than starting it from scratch.

  29. Its that time of the month for Sun. by NanotechLobster · · Score: 1

    Dude, would they just make up their minds? They keep saying they may then they wont then they may then they wont etc. etc. Sun, please stop teasing those of us who actually would like to see Java improved.

  30. Re:Why do colleges proselytize with java? by Anonymous Coward · · Score: 2, Informative

    Students should be forced to learn in a bondage-and-dicipline language like Java. Once they understand a type system, they can better understand when to break the rules.

    We've already been down the Python/PHP "typeless" road with teaching Visual Basic, and the end result is a lot of sloppy programmers.

  31. Deja Vu by imbezol · · Score: 0

    Don't Care. Tastes Good.

  32. Re:No, they want to keep their integrity-First dat by 0x461FAB0BD7D2 · · Score: 1

    Netscape opened Mozilla up to the world, and see how far that has reached?

    Had AOL controlled Mozilla every step of the way, Mozilla wouldn't be where it is now. Sure, Mozilla had its ups and downs, and experienced many random forces, but they survived.

    If Sun truly cares about Java, they are free to create something like the W3C, where other companies and developers have a voice, to make sure there is a standard for Java. Any rogue developer whose JVM chooses not to follow the standard will be ignored because the JVM would not work with the majority of Java applications out there.

  33. Wrong rival by m50d · · Score: 0, Offtopic

    I don't think it's GCJ they're worried about, it's Mono. Mono does the write once run anywhere thing, has better (native) look and feel, and is open source. I think Sun has been surprised by the speed of Mono development, which they now realise they could have harnessed for Java if they were willing to open it up. Sun is in real danger here, because if Mono continues to develop at the same pace it will leave Java far behind.

    --
    I am trolling
    1. Re:Wrong rival by Anonymous Coward · · Score: 1, Interesting

      Why would they be worried about Mono? It's open source after all. :) I don't even think Mono is on the radar. It will always be held back by licensing concerns by the stain of Microsoft. Sure, everyone is going to blabber about how it's immature to reject something just because it's Microsoft. That's what MS does to everyone else, so I think it's appropriate to treat them the same way. ;)

    2. Re:Wrong rival by m50d · · Score: 1

      They'd be worried because it does what java does and does it better. Really.

      --
      I am trolling
    3. Re:Wrong rival by downbad · · Score: 1

      No it doesn't. Have you even used mono?

    4. Re:Wrong rival by Anonymous Coward · · Score: 0

      Really? Where's the J2EE appserver on Mono? How do I use EJBs? Is there any technology that even matches J2EE for Mono?

    5. Re:Wrong rival by m50d · · Score: 1

      Yes, and Java. I haven't done big projects with either, but I've made a few applications, and Mono seems nicer.

      --
      I am trolling
  34. and how's that working out? by Xtifr · · Score: 3, Insightful

    Let's see: we have kaffe, gcj, and a handful of other open source attempts to clone java, all of which are not exactly one-hundred percent compatible, and none of which would exist if java had been open source in the first place. We have MSFT pushing their own completely incompatible java-like system.

    Now, lets look at some fairly popular languages that have been open-source since the beginning: perl, python, tcl, ruby. Gee, not one of them has shown the faintest sign of forking. My conclusion? Sun is run by a bunch of idiots. (Really too bad, because I used to be a big fan back in the eighties.)

    1. Re:and how's that working out? by LarsWestergren · · Score: 4, Insightful

      Think about the "fairly popular" bit. None of these languages have become as prevalent as Java. With the industrial adoption of Java has come a huge pressure to add more stuff to it, and an increased possibility of forks when people don't get what they want added. See the many different scripting add on libraries for instance.

      We have MSFT pushing their own completely incompatible java-like system.

      Imitation is the sincerest for of flattery. Microsoft has cloned Java, and now you are going to blame Sun for the fact that it isn't 100% compatible.

      Let's see: we have kaffe, gcj, and a handful of other open source attempts to clone java, all of which are not exactly one-hundred percent compatible, and none of which would exist if java had been open source in the first place.

      I think you have to explain your reasoning a bit here, because no matter how I try to read this it sounds like you contradict yourself.
      "Open source versions are forked. Therefore, if it had been open source there would be no forks"?

      --

      Being bitter is drinking poison and hoping someone else will die

    2. Re:and how's that working out? by aesiamun · · Score: 2, Insightful

      Isn't ActiveState's Perl and Python distrubtions forks? They implement functionality that isn't by default in the original perl source.

      If i'm wrong, I apologize.

    3. Re:and how's that working out? by killjoe · · Score: 1

      " Think about the "fairly popular" bit. None of these languages have become as prevalent as Java. "

      Define "prevalent". Certainly PHP is just as popular if not more popular then java when it comes to web development. Perl is ubiquitius and python is almost as popular as perl.

      So what is your definition of prevalent such that java is prevalent and php is not?

      --
      evil is as evil does
    4. Re:and how's that working out? by LarsWestergren · · Score: 1

      My answer is that Java is a lot more than web development. On my mobile phone I have 10 games written in J2ME for instance. On my desktop I use Azureus, Eclipse, Puzzle Pirates.

      --

      Being bitter is drinking poison and hoping someone else will die

    5. Re:and how's that working out? by Anonymous Coward · · Score: 0
      Now, lets look at some fairly popular languages that have been open-source since the beginning: perl, python, tcl, ruby. Gee, not one of them has shown the faintest sign of forking.

      I love Perl. In fact, if it's not my all-time favorite programming language, it's close. But, the reason you don't see different, incompatible implementations of Perl is that Perl has no standard except the reference implementation. There isn't even a grammar for the language. Not only that, but you can't make a grammar for the language, because it's not context-free; you have to have a Turing Machine just to parse Perl! (In fact, you have to execute Perl in order to parse it.)

      So, I contend that there aren't different, incompatible versions of Perl out there for two reasons: (1) there's no good reason to do it, and (2) it's just too complicated a language.

      Furthermore, why is it important for Sun's Java implementation to be open source? There are craploads of non-open-source tools out there for every other language, and nobody faults anyone for that. Intel has its own C/C++ compiler -- is it open source? Nope. Does Intel get guff for that? Nope, because the C and C++ languages are open standards, and that's good enough.

      Now, the same thing is true of Java. Anyone who wants to can read the standards and make their own Java compiler and their own JVM. In fact, this has even been done. So, why the double standard?

      Open computing is not just about open source. It's also about open standards. Java has open standards. Sun doesn't provide an open source reference implementation, but the information is out there to do it, and big pieces of the puzzle have already been done. Meanwhile, certain other open source languages (PHP and Perl come to mind) have open source, but they don't have an open standard because they don't have any standard at all. The reference implementation is the only standard, and that's no real standard because it can change at any time. In fact, because of the lack of a standard, you could even argue that it's too dangerous to have multiple implementations of some of these open source languages. The man who has one clock always knows what time it is, but the man who has two is never sure; and, the same thing would be true if you have two reference implementations but no standards document to tell you which one(s) are right and which are wrong on a given issue.

    6. Re:and how's that working out? by Xtifr · · Score: 4, Informative

      Think about the "fairly popular" bit.

      Ok. I'm thinking of perl. I'm thinking about various systems I've seen and worked on over the last couple of decades. I'm thinking "fairly popular" is a pretty serious understatement when talking about perl. Tcl/Tk? Maybe not so much, but I've still seen lots and lots of it running behind the scenes on all sorts of systems. Python? Ok, I haven't seen much enterprise penetration there. Yet. But it's pretty new, relatively speaking. And it's already got zope, plone and gnue, and looks like it's only going to be growing from there. (Anyway, I can hope, 'cause python sure seems to me to suck less than perl, java, or tcl.)

      Microsoft has cloned Java

      From what I've seen, they haven't merely cloned it, they've actually improved on it. I know, a blasphemous thing to say on /., but I really don't care.

      I think you have to explain your reasoning a bit here.

      Ok. I didn't think it was that tricky of a thought, but since you ask.... Kaffe and gcj are not forked from each other, they're forked (very loosely speaking) from the design of their not-open-source predecessor. Nobody is trying to fork kaffe or gcj - they're already open source, so there's no particular reason to fork them. And if java had been open source from the start, there never would have been any reason to create these competing projects.

      Ask anyone involved with either project (kaffe or gcj) if they would have even considered working on those projects if java had started as open source! If java had been open source there would be no kaffe or gjc! Period! I don't know how I can explain it any more clearly than that!

      And, for that matter, if java were open-sourced, even at this late date, I would expect to see kaffe vanish almost instantly, and I wouldn't place any bets on gcj's long-term prospects.

    7. Re:and how's that working out? by afd8856 · · Score: 1

      I don't know about the perl version, but ActiveState's Python is not at all different from the main python. What they offer is optimized compiled binaries, with some extra libraries that would be harder to get and install (PythonWin, PIL libraries, etc). That's as much of a fork of python as slackware is a fork of linux. Is just a diferent bundling.

      --
      I'll do the stupid thing first and then you shy people follow...
    8. Re:and how's that working out? by JimDabell · · Score: 4, Interesting

      Now, lets look at some fairly popular languages that have been open-source since the beginning: perl, python, tcl, ruby. Gee, not one of them has shown the faintest sign of forking.

      Actually, there are at least six forks of Python:

      • CPython (the canonical version)
      • Jython (compiles to Java bytecode)
      • Psyco (JIT compilation of a sort)
      • Pypy (Python implemented in Python)
      • ActivePython (ActiveState's fork)
      • IronPython (compiles to .NET bytecode)

      In practice, it's not much of a problem, I don't see why people are so scared of forking.

    9. Re:and how's that working out? by JimDabell · · Score: 1

      Oops, there's also Stackless Python. I knew I forgot one.

    10. Re:and how's that working out? by mav[LAG] · · Score: 4, Interesting

      Psyco (JIT compilation of a sort)

      Psyco is just an extension module for CPython, not a fork. And you can add Pyrex to that list - a fork of CPython which adds C data types.

      --
      --- Hot Shot City is particularly good.
    11. Re:and how's that working out? by k98sven · · Score: 1

      "Open source versions are forked. Therefore, if it had been open source there would be no forks"?

      Wrong. Open source versions aren't 'forked' by any sense of the word. They're not based on Sun's code base. Nor do they have any goal or intent to be incompatible.

      Unless you mean that duplicating every single Sun bug, including the ones Sun has acknowledged as bugs, is what is neccessary for 'compatibility'. But by that metric, future versions of the Sun JDK won't be 'compatible' either. Sun does fix bugs. Sometimes.

    12. Re:and how's that working out? by m50d · · Score: 1

      There are three different open source attempts to write a Java setup. At least one of them happened for the sole reason that Sun's one is not open source so couldn't be included in Debian. So if it was open source from the start there would be at least one less fork. The fact is refusing to open the language has not prevented it forking, it has encouraged more forking to happen. You could argue that the greater ease of forking from having the full setup available to start your fork would have led to more forking, but I doubt it because people dislike "unofficial" versions. Especially if they kept the trademark, I can't imagine any non-Sun forks gaining popularity unless they were at least 20% better than Sun's, in which case the benefit from those improvements probably outweighs the damage done by forking.

      --
      I am trolling
    13. Re:and how's that working out? by SQLz · · Score: 0
      Nobody is trying to fork kaffe or gcj - they're already open source, so there's no particular reason to fork them.

      And how would one go about forking software that is not open source to which they don't have the source code to? Kind of hard to fork a source tree with no source code.

    14. Re:and how's that working out? by SkeptiNerd75 · · Score: 1

      Hey, don't forget Stackless Python, a fork of CPython that removes all dependencies on the C stack (with some very cool results). Too bad that development seems to have stalled, though.

    15. Re:and how's that working out? by GileadGreene · · Score: 1

      Also Stackless Python.

    16. Re:and how's that working out? by poot_rootbeer · · Score: 1

      Microsoft has cloned Java

      From what I've seen, they haven't merely cloned it, they've actually improved on it.


      Improved the language design and syntax, perhaps. But has C# improved on the cross-platformability of Java? Do you have a lot of options for the toolkits you use to develop and deploy C# applications, or are you locked into a single vendor? (Okay, a single vendor plus a FOSS project playing catch-up.)

      Elegance in the guts of a language does count for something, but it's by no means the sole or primary indicator of quality.

    17. Re:and how's that working out? by MyIS · · Score: 1

      "Improving" it? Microsoft added proprietary extensions into the standard "java" (or "javax" - I don't remember) namespace. That means that they disguised their own hooks as the standard Java API. Also, the Microsoft VM fiasco - that's the stuff that made poopooing Java on desktop so popular. I can only see this happening again.

      Seriously, give it a rest folks. You can tinker with Java's real source code already, you just won't get Sun's seal of approval if you try and pass it off as a real thing.

      --
      http://zero-to-enterprise.blogspot.com/
    18. Re:and how's that working out? by joeytsai · · Score: 1
      Actually, there are at least six forks of Python:
      A "port" is different than a "fork". None of those python ports you mention is diverging away from mainline python. A comparable example is if you said User Mode Linux is "forking" from the normal linux kernel.

      The "fork" that everyone is afraid of is pretty rare, but still does happen - xfree86, emacs, gcc.
      --
      http://www.talknerdy.org
    19. Re:and how's that working out? by Anonymous Coward · · Score: 0

      > Microsoft added proprietary extensions into the standard "java" (or "javax" - I don't remember) namespace.

      They did no such thing. What they did do was leave out RMI, which got sun hopping mad, since that was the primary means of client/server communications for applets. They also left out JNI, though Sun never cared much about that where it concerned applets. All of MS's actual extensions were in the ms.* namespace, much like sun's were in the sun.* namespace.

    20. Re:and how's that working out? by Anonymous Coward · · Score: 0

      ActiveState's perl is different packaging and distribution. It's exactly the same language. Any additional functionality is from extra modules included in the distribution, not modifications made to the code.

      Same thing goes for python (though python.org now has an installer for windows that's just fine to use. The recommended win32 perl is still ActiveState Perl)

    21. Re:and how's that working out? by cameronpurdy · · Score: 1
      Let's see: we have kaffe, gcj, and a handful of other open source attempts to clone java, all of which are not exactly one-hundred percent compatible, and none of which would exist if java had been open source in the first place.

      Let's see, we have the JDK for free, so WTF are people cloning it in the first place? ;-)

    22. Re:and how's that working out? by Anonymous Coward · · Score: 0

      In practice, it's not much of a problem, I don't see why people are so scared of forking.

      My interest in Java is mainly for Applets. I would love to use Swing and other advanced features of later versions of Java but most of the people who use my Applets don't have Sun Java JRE on their computers and use MS Internet Explorer leaving me to deal with it's default MS Java 1.1.4.

      They are NOT technicians or geeks. I'm talking about the "REAL" world here!

      My life is complicated enough by MS. I DON'T need more sh!t from the OSS community.

  35. Open source good, Close Source Bad by WaldoXX · · Score: 1

    Whats the harm in going open source? Dosnt the principle apply that the more you give the more you get in return! Just Look at Linux!

  36. Re:Speaking of Java..anyone know by LarsWestergren · · Score: 4, Informative

    Perhaps if you could tell us why you thought Eclipse and Netbeans suck it would be easier to come with a suggestion?

    Anyway, some of the most popular would probably be JBuilder, JDeveloper, IntelliJ IDEA, KDevelop...

    If you prefer more light-weight IDEs, you can always use ANT together with something like Emacs or JEdit.

    --

    Being bitter is drinking poison and hoping someone else will die

  37. Byte Code Is "Open" by nate+nice · · Score: 2, Insightful

    Considering that Byte Code is essentially open, you can construct a language how ever you want and have it compile to Byte Code so that the JVM will execute it. So, in this regard it's open.

    As for opening it to a standards committee, I hope Sun never takes this route. The committee mind for just about anything is terrible. Many great artists won't work with committees and I think Java is better served if Sun calls the shots on it.

    I don't know much about the licensing of J2EE but for people that don't want to pay (do you have to?) you can always use something else or pay for .NET.

    I don't care one way or the other really if Sun "Opens" Java but I'd rather them or a small group of people call the shots on the language. Gosling et all for instance. Whatever they do, I hope Java doesn't fall victim to ANSI or IEEE or whatever as the language will never advance.

    --
    "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    1. Re:Byte Code Is "Open" by mikelin.ca · · Score: 2, Interesting

      I agree that centralized control is a good thing. Then we don't have to wait 10 years between changes versions of the standard like with c++. Also if standard people also implement the thing, they'll only include things they intend to implement. There won't be orphaned features in the standard that never get implemented like template export.

    2. Re:Byte Code Is "Open" by Anonymous Coward · · Score: 0

      Exactly this tight control by SUN is the reason that Java has lost to C#, which is clearly a superior language. No sympathy.

    3. Re:Byte Code Is "Open" by m50d · · Score: 1

      The implementation is not open though. Which means that I can't fix bugs in it, I can't make a special version to run on my weird machine, and as someone else pointed out using it on an OS sun doesn't support is a nightmare.

      --
      I am trolling
    4. Re:Byte Code Is "Open" by toriver · · Score: 1

      It's been shown already that the Java byte code specification heavily favors a Java-style language, making it cumbersome to support a variety of others. In contrast, Microsoft designed .NET specifically to abstract out as much of the human-interface language as possible.

      Nonsense, C# was designed for the CLR and CLS, other languages have been "retrofitted" with various degrees of success. Have you seen the restrictions put on C++ programs to make them able to run in the CLR? Take one step outside those restrictions, and you're in "unsafe" country, aka. native land.

      There are a lot of languages which have a Java-oriented implementation.

  38. Precision in an IT world ... by foobsr · · Score: 1

    ... GONE.

    Proponents of making Java open-source argue that a different license and development process will help accelerate usage of Java, ...

    would - (slashdot spelling: wood). Ok, WTF.

    CC.

    --
    TaijiQuan (Huang, 5 loosenings)
    1. Re:Precision in an IT world ... by iapetus · · Score: 1

      The proponents of making Java open-source are just extremely confident.

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
  39. Re:No, they want to keep their integrity-First dat by Anonymous Coward · · Score: 0

    > Netscape opened Mozilla up to the world, and see how far that has reached?

    Yeah, they went from a 50% marketshare to 5%.

    Not to completely troll your point, but Java is still the dominant platform and doesn't really *need* OSS mojo for whatever.

  40. Mono viability by grahamsz · · Score: 5, Insightful

    While i haven't done much research, a little casual testing suggests that opensource JREs run a lot more java software than mono runs .net software.

    1. Re:Mono viability by joto · · Score: 1
      While i haven't done much research, a little casual testing suggests that opensource JREs run a lot more java software than mono runs .net software.

      Not unlikely. But mono isn't just targetting running .NET software. It's targeting running mono software :-) And there seems to be quite a lot of goodies in the work!

    2. Re:Mono viability by lupus-slash · · Score: 5, Interesting

      Given than mono can run basically the same java programs as the free java VMs (since they all use GNU classpath and the lib implementation is the limiting factor) and it runs many .net programs out of the box, mono is much more viable than any free software java implementation.

    3. Re:Mono viability by Anonymous Coward · · Score: 0

      Given than mono can run basically the same java programs as the free java VMs (since they all use GNU classpath and the lib implementation is the limiting factor) and it runs many .net programs out of the box, mono is much more viable than any free software java implementation.

      Now we need to get Java VMs to run C# code...

    4. Re:Mono viability by namekuseijin · · Score: 1

      of course, you know the one really cool feature of the GNU java compiler - GCJ - is that it is a traditional, fast, ahead-of-time compiler, which is what makes it really unique and interesting. No slow VM or theoreticaly fast JIT...

      --
      I don't feel like it...
    5. Re:Mono viability by lupus-slash · · Score: 2, Interesting

      Mono has an ahead of time compiler, too, so that's kind of a moot point.
      It's true that GCJ can currently generate code that runs faster than the code generated by the mono jit, but there are some considerations for that:
      *) they need to fix their ABI and most things will get an additional indirection so it will get slower.
      *) the code generated by mono is good enough for most tasks.
      *) in real life code there are many factors involved: mono uses Boehm's libgc in a better way so many things have better memory use (we have fixes we submitted upstream for it, too). The standard library implementation is important, too, and C# allows for more efficient patterns than GCJ could not optimize (like using valuetypes, unsafe code blocks etc). For example you have the misconception that GCJ compiles code and doesn't use a 'slow' VM: this is not true: it very much uses the gcj VM, which may be fast, but it's still a VM.
      So, overall, GCJ is an interesting approach, worth pursuing by people interested in it. It's still not an alternative to mono and it certainly doesn't prove that mono is not viable:-)

    6. Re:Mono viability by lupus-slash · · Score: 1

      There are proprietary programs that allow that with some limitations already.
      It's much harder than the other way around because the java VMs would need a lot of code and substantial changes to the JITs teh garbage collectors etc to be able to support C# code.
      Mono didn't need any java-specific change to be able to run the ikvm JVM.

    7. Re:Mono viability by AusG4 · · Score: 2, Interesting

      So what?

      Most benchmarks show GCJ lagging behind the modern "just in time" JRE's in performance.

      This is largely because GCJ is, well, quite poor... it certainly -could- be faster (in theory). The point is that, just because it's ahead-of-time compilation doesn't make it faster...

      The devil is still in the details.

      --
      bash-3.00$ uname -a
      SunOS panda 5.10 Generic sun4u sparc SUNW,Ultra-2
    8. Re:Mono viability by Anonymous Coward · · Score: 0

      lol - why don't you just type what you mean:

      I don't know much about .net or java for that matter but I hate MS so Java must be better...

      Facts:

      - .net is a far more open platform than java
      - c# and the .net platform are standardized java is not
      - mono is still a young project that is making improvements by leaps and bounds on a regular basis

      I don't love or hate ms or sun so if I seem pro .net rather than java there is two reasons for that:

      1) to counter your pro sun post
      2) because I think .net is the better platform

      That said I also think java is unquestionably more platform independant.

    9. Re:Mono viability by grahamsz · · Score: 2, Interesting

      I didn't realize .net was standardized. I know that c# is and possible the 'virtual machine' equivilent.

      Personally i do prefer java. Although c# and the .net framework are really quite impressive and are a huge technology leap for microsoft.

      There seems to be a wealth of compatible JRE's so it's hard to believe that the lack of an international standard has really hindered java.

    10. Re:Mono viability by Anonymous Coward · · Score: 0

      Never underestimate marketing.

      People understand the "Got Java?" t-shirts well enough, and misinterpreting them is pretty harmless.

      But just you try and wear a "Got Mono?" t-shirt...

      People will look at you like you're diseased or something.

  41. Sun is backwards by Anonymous Coward · · Score: 0

    If they had to pick, they should have opened java instead of solaris.

    At least microsoft realizes this. "Developers developers developers!" heh

  42. Java doesn't "scale down" by DavidNWelton · · Score: 1

    I wrote a brief article on systems that scale down, with programming languages in mind. You are correct that all the Java baggage comes into its own when you start writing larger programs, but for beginners, or people just wanting to whip something together, it is baggage.

    http://dedasys.com/articles/scalable_systems.html

  43. gcj is nice by DavidNWelton · · Score: 4, Interesting

    I've been using gcj to develop Hecl ( http://www.hecl.org/ ) with, and so far I've been pretty happy. I found one compiler bug, which I reported and which was then promptly fixed. At FOSDEM, I also had occasion to go visit the Free Java developer room, and the impression I get is that these guys are making enough headway that it doesn't matter what Sun does at this point. Redhat had something like 3 or 4 very sharp developers (Tom Tromey, for instance) working more or less full time on gcj and ClassPath. Sure, Sun has way more people, but for now, all the free guys have to do is play catch up with the spec, not surpass Sun. That comes next;-)

    By the way, I don't think blackdown is actually open source in that it's based on the Sun code.

    I'm curious - does the new Fedora actually ship with gcj and gij as 'Java'? That will be an interesting development to watch.

    1. Re:gcj is nice by k98sven · · Score: 5, Informative

      I'm curious - does the new Fedora actually ship with gcj and gij as 'Java'? That will be an interesting development to watch.

      Actually, yes. Red Hat has actually aliased 'java' to them in the default install for quite some time now.

      The more interesting thing is that FC4 will for the first time include natively-compiled Java packages. And not just any packages, but Eclipse and Apache Tomcat.

    2. Re:gcj is nice by LDoggg_ · · Score: 1

      Actually FC2 had tomcat, but it was dropped in FC3
      Nice to see it coming back in FC4

      One really cool thing that they did with FC2 was plug tomcat into Apache with mod_jk, which always seems to be a pain. I went ahead and installed Sun's jvm and tomcat from jakarta.apache.org, but the hard part was done by redhat.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
  44. Re:Does this mean... by Look+KG486 · · Score: 0

    No, it means free as in the right to bear arms.

    --

    "Play is the only way the highest intelligence of humankind can unfold." -- Joseph Chilton Pearce

  45. i dunno by SweetAndSourJesus · · Score: 2, Interesting

    Lots of people use PHP instead of JSP, even for "enterprise*" applications.

    *PS: The word "enterprise" in any software context is bogus.

    --

    --
    the strongest word is still the word "free"
    1. Re:i dunno by jbarket · · Score: 1

      I agree completely, but I understand what the grandparent poster is getting at.

      He thinks that .NET is a fair comparison because if you intended to write a "real," non-web application in .NET, you could C# yourself to death until it worked. The same is true for Java. Both can be used in specific ways (ie JSP and ASP.NET) to produce web applications.

      PHP is a serious competitor when it comes to web applications. After coding both for a number of years, I don't believe pre-.NET ASP has a single advantage to PHP.

      In my opinion, using C# or Java for an average e-commerce site or groupware application is similar to using a handgrenade to kill a cockroach.

      It gets the job done, but goddamn was it excessive.

      --

      -----
      jonathan barket
  46. perl pones jew by Anonymous Coward · · Score: 0
    Or even:
    something foreach <*.gz>

    Or to the post above mine:
    use Tie::FileStore '%f';
    something foreach @f{<*.gz>}

    (oh wait, I never released that module, so only I can do that...yay cowardice)

  47. Distribute JRE with Linux distro by Ranx · · Score: 5, Insightful

    Until now, you are only allowed to distribute the JRE with Java software. This has always been an problem for creators of Linux distributions who like to include Java in their distribution.

    I seems Sun is gonna change their license at this point so every Linux distribution can distribute the JRE and support Java out of the box.

    This is probably the most important part of the license change and I hear nobody about it.

    --

    Me
    1. Re:Distribute JRE with Linux distro by gibson_81 · · Score: 1

      Couldn't they just include a "Hello, World" written in Java?

    2. Re:Distribute JRE with Linux distro by m50d · · Score: 1

      IIRC the JVM has to be included for the primary purpose of running the java app you bundle with it. So unless you can make a good argument that the main reason you included the JVM was so people could run "Hello, world", no. Many distros include enough java programs (azureus, jedit, etc.) that they can make that argument and include it on their CDs, but when you're doing it over ftp you can only really put it on the isos, because when you have the file available separately you're distributing it on its own.

      --
      I am trolling
    3. Re:Distribute JRE with Linux distro by henni16 · · Score: 1

      I'm using SuSE since about version 6.0 and it came with JDKs including the source in every version.
      Or do they have some special deal with sun about distribution of Java ?

    4. Re:Distribute JRE with Linux distro by Espectr0 · · Score: 1

      Until now, you are only allowed to distribute the JRE with Java software.

      Slackware has distributed the JDK for quite some time now

  48. Write once, run somewhere by Macrat · · Score: 4, Funny

    Java is crossplatform. Runs on Windows 2000 AND Windows XP.

  49. Java is open like C by CaptainPinko · · Score: 3, Insightful

    Java is a langauge and say it is prorietary is like saying C or C# are proprietary. I have read the freely available documentation on Java and you'd be surprised how complete it is. There is no need to reverse engineer anything since JavaDoc spells it all out for gou, and heck Sun provide the source code to the files too! It bugs me that people perfer Mono'a C# over Java because it's "more free". Well it's only free because people coded it up. If they spent half the time coding a JVM that they've spent coding a Mono they'd be done years ago. And if Sun keeps their own implementation proprietary, well they own so let them. You can use IBM's or Apple's or your own. Why don't people stop using C since Intel still offers it's own closed source compiler? Java is really spread wide open from letting people participate with JSR (though just like in democracies unless you are with someone big you won't get heard.. but you are free to try), and even poke around with the source. Is there some big piece that I'm missing that would bother anyone besides GPL Zealots?

    --
    Your CPU is not doing anything else, at least do something.
    1. Re:Java is open like C by k98sven · · Score: 4, Informative

      Java is a langauge and say it is prorietary is like saying C or C# are proprietary.

      Wrong. There are many implementations of C. There are three of C# (excluding the runtime).

      There is no need to reverse engineer anything since JavaDoc spells it all out for gou,

      No it doesn't. Sun's documentation is terrible in lots of places.

      and heck Sun provide the source code to the files too!

      Looking at Sun's sources if you want to make your own implementation is legal suicide.

      It bugs me that people perfer Mono'a C# over Java because it's "more free".

      It IS more free (see below).

      If they spent half the time coding a JVM that they've spent coding a Mono they'd be done years ago.

      Well, I would certainly like to to see more resources go towards free Java development, but the missing thing at the moment isn't a VM. There are lots of free JVMs (gcj,kaffe,jamvm,sablevm,jikesRVM,cacao and so on), some of which are quite mature.

      The missing part is the class library.

      You can use IBM's or Apple's or your own.

      These are not seperate implementations; They all use Sun's code, notably the class library. They are all covered by the same licensing restrictions set by Sun.

      Is there some big piece that I'm missing that would bother anyone besides GPL Zealots?

      Yes. For instance, what if you'd like to include the install of the runtime in your own installer? Can't do it.

      What if you do embedded work and would like to exclude the parts of the runtime you don't need in order to save space? Can't do it.

      What if you do find a bug in Sun's code, and include a work-around in your code? Bravo. You just violated Sun's license.

    2. Re:Java is open like C by horza · · Score: 1

      Java is a langauge and say it is prorietary is like saying C or C# are proprietary.

      Java is a platform, not a language, dependent on a Virtual Machine and a ton of libraries. C is a solely a language targetted at being compiled directly into machine code.

      I have read the freely available documentation on Java and you'd be surprised how complete it is.

      It's a user guide, not a guide to what's under the hood.

      There is no need to reverse engineer anything since JavaDoc spells it all out for gou, and heck Sun provide the source code to the files too!

      It gives Java source to some of the libraries. Not to the JVM itself.

      It bugs me that people perfer Mono'a C# over Java because it's "more free".

      I don't know where you get that idea. Most prefer to avoid Mono C# because they know M$ is going to pull the rug on them at some point.

      Well it's only free because people coded it up. If they spent half the time coding a JVM that they've spent coding a Mono they'd be done years ago. And if Sun keeps their own implementation proprietary, well they own so let them. You can use IBM's or Apple's or your own.

      There is kaffe and gjc. Java is a bit of a moving target though and not easy to keep up with. If there was one standard Open Source version then we wouldn't need a dozen different versions all trying to play catch-up with the 'official' Sun version.

      Why don't people stop using C since Intel still offers it's own closed source compiler?

      Try reading the history of C. If the language B wasn't Open Source then C wouldn't have existed at all!

      Java is really spread wide open from letting people participate with JSR (though just like in democracies unless you are with someone big you won't get heard.. but you are free to try), and even poke around with the source. Is there some big piece that I'm missing that would bother anyone besides GPL Zealots?

      You must be a young programmer to be satisfied with a few scraps thrown out to you. The thing you are missing is the bigger picture.

      Phillip.

    3. Re:Java is open like C by k98sven · · Score: 2, Informative

      There is kaffe and gjc. Java is a bit of a moving target though and not easy to keep up with. If there was one standard Open Source version then we wouldn't need a dozen different versions all trying to play catch-up with the 'official' Sun version.

      That's not quite true though, because there is: GNU Classpath. Which is used by just about every free VM out there. Kaffe and GCJ are major contributors to Classpath.

      Repeating myself, the class library is the major issue. It's much, MUCH less work to write a VM than to implement the entire class library. Also, the VM changes less than the class library; new packages get added a lot more often than new language features.

    4. Re:Java is open like C by Tim+C · · Score: 1

      It's a user guide, not a guide to what's under the hood.

      No, the JVM spec and Java language spec are freely available online in HTML and pdf format, or to buy in book form.

      There are restrictions placed on people wishing to implement their own JVM/JDK and refer to it as "Java", "a JVM", etc. That's to prevent people from trying to do exactly what MS did and embrace and extend Java by adding classes into the java.* and javax.* package hierarchies.

    5. Re:Java is open like C by m50d · · Score: 1
      Yes, it's because people spent more time on Mono, but the fact is, people have spent the time on Mono which they haven't on Java. So, *right now*, you can use all of Mono's C# api as free stuff, which is enough. Wheras what is available of Java (1.2 and a smidgen of 1.3 last time I checked) is not enough. I refuse to use any features of C which are icc-only, or borland-only, but the entire C language is supported by gcc, so I can use it and remain free. Once all of java is supported by free compilers, I will start using it. And no I'm not going to write the compiler to do that, why should I when I can use Mono right now? And IIRC the license of the source sun lets you look at is so restrictive that you're actually worse off from the point of view of making a free implementation.

      Java is not free because there is no free implementation of it, unlike C. The fact that the documentation and things are available means nothing while there is no free implementation. It may make a difference in the future, but at the moment Java is not free while C and C# are.

      --
      I am trolling
    6. Re:Java is open like C by Anonymous Coward · · Score: 0

      Wrong.

      It has generics, not templates.

      And they aren't enforced at runtime, only compile time.

      And various operations strip the information at compile time, so it's still possible to skip the type checking.

      Making them - totally worthless.

      But instead of

      MyObject object = new MyObject();

      You can now do

      MyObject = new MyObject();

      Ah, progress.

    7. Re:Java is open like C by Anonymous Coward · · Score: 1, Interesting

      The missing part is the class library.

      Just to give people an idea, in the current version of Java, there are 3,270 classes in the default class library. (!!)

      This isn't doing any cheating, either, like counting classes in "sun." or anything like this, this is based on the list of classes given in "All Classes" for the JavaDoc for 1.5.0.

    8. Re:Java is open like C by Anonymous Coward · · Score: 0

      Yes, yes, of course...

      Makes it even worse...

  50. Re:Why do colleges proselytize with java? by Anonymous Coward · · Score: 0
    Why do colleges proselytize with java? Why not python also ?

    Because Python is relatively new and CS programs only change their "standard" language about once a decade. It makes life a little easier on everyone (profs and students) if they aren't all having to switch to a new language every semester, especially when the new language doesn't provide any truly compelling advantages over the others.

    PHP ?

    Because PHP is rancid pile of festering monkey crap "designed" by people who have the same level of CS knowledge as Homer Simpson.

  51. Do we want a Java monopoly? by Dewin+Cymraeg · · Score: 1
    It's weird that people are scared of .NET and Python, Perl, etc. As though we wanted one solution for everything!

    Surely the most important thing is that there is choice! Java is not about to die a death, and it's good that there's competition because it makes Sun make Java better!

    I don't care whether it's open source or not. What practical difference would it make to me? Absolutely none!

    1. Re:Do we want a Java monopoly? by Anonymous Coward · · Score: 0

      I! Like to use! Exclamation! Marks! It makes! me! !feel! s!m!a!r!t!!!

  52. GJC by lokedhs · · Score: 5, Informative
    Well, the compiler itself it quite good, and actually manages to create code that runs faster than Sun's VM on occations. Last I looked, however, the Sun VM is faster overall, since it can do stuff like inlining virtual methods, which a static compiler is unable to do.

    However, the biggest problem with the GNU compiler is the lack of compliant class libraries. The GNU Classpath project, which aims at creating an open source cleanroom implementation of the Sun class libraries are severely behind. My optimistic guesstimate would place them at being about 3 years from full 1.5 compatibility, at which time we're probably using the beta of 1.7.

    However, GNU Classpath has an easier job ahead of them than the Mono folks, which begs the question as to why they chose to go with the Microsoft technology in the first place.

    1. Re:GJC by RevAaron · · Score: 1

      However, GNU Classpath has an easier job ahead of them than the Mono folks, which begs the question as to why they chose to go with the Microsoft technology in the first place.

      Since when was writing OSS about what was the easiest thing to do? As the cliche goes, the easiest thing for Linus to do was to suck it up and run DOS, telnet'ing into the Uni's Unix boxes for doing anything along those lines. Or hell, get a Mac and run MachTen.

      I'm not going to be so silly as to use words like "better." But why go with the MS tech? Because .NET is a lot cooler, has a lot more appeal to a lot of folks than Java. On .NET I can use my preferred language and access all the libraries written by the sad schmucks who put up with inferior languages like C++, C#, J++, etc. And they can access mine. A great idea, a VM designed to host multiple languages.

      And yes, there are other languages for the JVM, but very, very few provide two-way language interop and none provide it on the level of .NET.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    2. Re:GJC by Anonymous Coward · · Score: 0

      Have you actually tried mono?

      I haven't, but I have tried JAVA and it sucks in a Free Software environment. All the Free java compilers and class libraries are buggy in incompatible ways.

      This quote from the freenet developers made me laugh. "Some perceived minor irritations may arise due to the implementation of Freenet in Java. Java is not like C, so some porting issues are bound to arise. Porting is hard sometimes."

      There you have it. C is write once run anywhere. java is a pain the butt. With mono at least there is only one open source implementation so potentially it might be useful where java currently is not.

    3. Re:GJC by lokedhs · · Score: 1
      I haven't, but I have tried JAVA and it sucks in a Free Software environment. All the Free java compilers and class libraries are buggy in incompatible ways.
      Correct.
      Java is not like C, so some porting issues are bound to arise. Porting is hard sometimes."
      That quote simply strikes me as bizarre. I'm at a loss as to how to respond to it because it's jsut so wrong. I can't think of any features of "portable C" that even the crappiest free Java implemenations cannot do portably.
      There you have it. C is write once run anywhere. java is a pain the butt. With mono at least there is only one open source implementation so potentially it might be useful where java currently is not.
      So what you're saying is that if we killed all but one of the the free Java projects, as well as all the commercial Java implementations, leaving only, say, Suns VM and SableVM/Classpath, Java would be as portable as .net?

      That is true, of course, but highly irrelevant.

  53. I know one by lokedhs · · Score: 1
    CORBA

    Seriously. Why, oh why, did Sun put it in the base J2SE?

  54. Distribute JRE with Linux distro-Web Start. by Anonymous Coward · · Score: 0

    "I seems Sun is gonna change their license at this point so every Linux distribution can distribute the JRE and support Java out of the box."*

    Oh it's a bigger win than just "we can now include lot'sa java apps on our DVDs". When you include "Web Start" (Java's "one-click" installation). The picture is even brighter. That overcomes two complaints with Linux distro's. Ease of installation, and ease of keeping current.

    *BTW SuSE comes already set up with Java.

  55. Re:You won't make this crowd happy by Anonymous Coward · · Score: 1, Insightful

    While the parent was marked as a troll, I think the author was actually serious.

    Here's some more facts:

    + In bed with Microsoft? That would be why they produce StarOffice - a competitor to MS's main cash cow.
    + In bed with SCO? Sun really doesn't seem to want any more lawsuits - that's why they bought a SCO licence, and that's why they paid off Kodak.
    + Despite you whining bastards constant Sun-bashing, Sun has tried to be nice to the OSS community - there's no way they're going to start lawsuits - see the comment above, too.
    + Sun's licence is incompatible with the CPL entirely because they don't want Solaris merged into Linux, and can you blame them?

  56. Four Legs Good, Two Legs Bad by BarryNorton · · Score: 1

    What's the harm in going Communist? Doesn't the principle apply that the more you give the more you get in return? Just look at Russia!

  57. They canned that project by commodoresloat · · Score: 1

    Something about a cease and desist from archive.org.

  58. oh fuck not again! by Anonymous Coward · · Score: 0
    Raise your hand if you know anything about cobol

    Sorry, I got to this discussion late. Are we having another Y2K scare?

  59. Advanced Placement Computer Science and Java by Gnuosphere · · Score: 1
    As a technology teacher, I have yet to embrace teaching the Advanced Placement Computer Science course to high school students. The reason? I do not wish to teach students using a proprietary language. The AP Computer Science course requires learning Java.

    Not only does this one-language narrow approach limit the teacher and student, but the whole proprietary aspect of it just acts as a kick in the face.

    1. Re:Advanced Placement Computer Science and Java by Gnuosphere · · Score: 1

      "The students are there to learn, not to have your value system enforced upon them."

      I don't understand your logic. The AP Computer Science structure is put forth in such a way that forces students to learn java.

      The IB (International Baccalaureate) program, however, forces no language upon the students. The language is chosen by the teacher and programming is taught in a much more conceptual manner. It is a much more solid and educationally sound program.

      So yes, my "value system" - as you call it - is one where the students have more choice in how they will learn the fundamental concepts in a class.

      I suppose that "teaching" - in your ideal definition - is a profession that should never question the status quo and build students up to become mechanical cogs in the clockwork of society. No, I have a much different view of what it means to educate - sorry to disappoint you when I advocate free-thinking, choice, and independence when it comes to learning.

      Sorry I am letting you and society down being a "shitty teacher" by not getting students to follow what is popular. I apologize for being a human being with "values". As "they" say - "Those who can, do. Those who can't, teach."

    2. Re:Advanced Placement Computer Science and Java by Anonymous Coward · · Score: 0

      You're stupid. It's fairly easy to learn C++ and other similar languages after learning Java. Easier still to apply the data structure concepts learned on Java to the other programming languages once learned. Java is just there to standardize the learning environment (no more apvector, etc.). It also makes learning a lot easier because students get stack traces instead of segmentation faults. Of course it helps that you can get an entry-level Java position at $70k, but that's not why the AP board chose it.

    3. Re:Advanced Placement Computer Science and Java by cameronpurdy · · Score: 1
      As a technology teacher, I have yet to embrace teaching the Advanced Placement Computer Science course to high school students. The reason? I do not wish to teach students using a proprietary language. The AP Computer Science course requires learning Java.

      Yes, as a brilliant teacher and would-be social activist, you certainly know better than the AP board. And businesses that use Java. Stick it to the man!

    4. Re:Advanced Placement Computer Science and Java by cameronpurdy · · Score: 1
      I just find it pathetic that you are screwing your students to make some point that is important to only you.

      But you're the teacher ..

    5. Re:Advanced Placement Computer Science and Java by Gnuosphere · · Score: 1

      "You're stupid."

      I see you are not interested in a serious discussion. A discussion that we could both learn from.

      The AP "choosing" - or more accurately - dictating - what language will be taught is not in accordance with constructivist teaching. The AP (registered trademark of the College Board btw) curriculum is structured in a way that encourages competition as a means of learning.

      In case you did not read my last post or do any investigation yourself, I highly recommend you look at the IB (International Baccalaureate) program. It does not require a specific language. Obviously you think that the language IS the standard - which is baloney and a superficial way of looking at the process of learning when it comes to computer programming. To become a good programmer, you must understand concepts - concepts that are language independent. For example, to teach inheritance or polymorphism, you do not need to standardize the language. You simply need to choose a language that supports the concepts you wish to cover.

      If you wish to discuss this with me further and perhaps convince me through reasoning that I am doing something unethical by encouraging a more abstract approach to computer programming, then you will have to discontinue the attempt to insult me with your posts. Your nature of communication is not one that bothers me, but makes me disinterested in your ideas. Perhaps you have some good ideas to offer and it would be a shame if I was not enlightened with them due to your abrasive and rude nature of communication.

      However, I thank you for taking the time to respond to my post and feel free to get back to me once you've examined both the AP and IB programs, and can come up with a reasoned critique as to why you feel the AP is a superior approach and advocation of another program is harmful to my students education.

      Since I am "stupid" and you are an aware and intelligent person, I would like to hear what you have to say - but you will have to learn to respectfully communicate. Remember, I am a human being - not a borg in cyberspace. If your immediate reaction is to throw an insult out, I wish you much luck in your face-to-face communication with other beings during the course of your life. You will need it.

    6. Re:Advanced Placement Computer Science and Java by Gnuosphere · · Score: 1
      "I just find it pathetic that you are screwing your students"

      The AP classes can be done independently. I have never told my students not to take the AP Computer Science exam. And I would be more than glad to help them find resources and answer questions to the best of my ability. Because I find the AP program to be vastly inferior to the IB program - after scrutinizing both to death (how about you?) - this does not imply I am "screwing [my] students". Now if I had come here and said -

      "I am a technology teacher but I refuse to teach programming" and you said I was crazy and was doing the students a disservice, you would be correct.

      Please see my response to "Anonymous Coward" (much of it applies to you) and once you've done some more research into both programs, feel free to send me your thoughts. If you continue to use an abrasive and insulting tone, I am afraid I will likely lose interest in what you have to say. I would very much like to hear your thoughts - that is, if you can enter into the act of persuasion rather than antagonism.

      "But you're the teacher .."

      In this dialogue I am not. We are equals. Now please take the time to do your homework, and offer me something that can be reflected upon. And don't extol the "virtues of Java". I know that Java is an excellent (although "sexy") language - but this is not what is in question. There are many fine languages to choose from. This is not what is in question. What is in question is an approach to learning. The fact that Java is proprietary is actually a secondary issue with me - but it is still a kick in the face.

  60. Re:Speaking of Java..anyone know by rpozz · · Score: 1

    Emacs!

    Seriously though, IBM has an article on it here.

  61. Clueless by omb · · Score: 1
    This is yet further evidence, if that was needed, of the cluelessness and lack of direction now pervading SUN.

    I, for one, am really sad.

    SUN used to be a great computer company, hugely innovative and a major donor to the community.

    Gosling's FUD and marketspeak cannot hide the fact that 3 months after OpenSourcing at least 20 of the most annoying bugs and the huge bloat of the current Java implementation would be gone.

    Two simple examples, which pose NO risk of INCOMPATIPILITY: (a) a '\n' to JDB does nothing, it should repeat the last command so n '\n' '\n' ... would step through a program like it does in Perl, (b) add a pre-fork option to JVM startup so executing "Hello World" didnt take 5-10 seconds an the average laptop. This would change the face of development by making much of the containerisation un-necessary.

    As one who uses C, C++, Perl and Java in my everyday work I cannot stress too strongly that tools developed behind a baracade quickly suffer from the prejudices of a small team, while, in the OpenSource arena natural selection means that good ideas are quickly adopted.

    Finally, the fear of forking and incompatibility relating to Java is a reflection to SUNs FUDing in the past. Six months of creative matketing could easily reverse that. Many IT managers are realising that, as we all know, a tool does not a good programmer make! Many are beginning to turn away from Java. This is unwise but something must be done about the bloat and verbosity of the current Java paradigm.

  62. Duplication Errors != Intentional Forking by Shaper_pmp · · Score: 1

    "Open source versions are forked. Therefore, if it had been open source there would be no forks"?

    Not quite - the different versions black-box reverse-engineered from the proprietary product aren't all perfectly compatible. The products which are open-source (and so can be intimately inspected by all) haven't forked at all.

    There's a big difference between multiple re-inventions and forking a codebase - if you can't see how something works but try to copy it, you're going to make mistakes or have to make assumptions at some point, and those can introduce (unintentional) incompatibilities.

    It think the grandparent was trying to show that if it's open-source (ie, you can inspect every line of code form the get-go), the evidence is that it's pretty very rare for anyone to intentionally fork the codebase.

    --
    Everything in moderation, including moderation itself
  63. Bundled Java With Windows/IE by Anonymous Coward · · Score: 0

    Surely an open source Java would open the door to an MS modified version of the JRE being bundled with (but not part of) Windows or IE?

  64. Moderation ... by gibson_81 · · Score: 1, Funny

    Where is the "+0, RMS Clone" moderation option? =)

  65. Only as much as they have to by tacocat · · Score: 1

    Sun will only open source enough to hedge their bets against eroding their market foothold. And not a penny more.

    Their stock sucks. From a Wall Street point of view, they are not a very healthy company. They are trying very hard to sell and re-sell themselves as a capable Enterprise solution for corporations. But it's getting harder to do.

    At the high end, they are being eroded by the other high end hardware available through HP and IBM. Their reliability of hardware has suffered badly in the last decade and that's costing them market share in related products as people start moving to other platforms.

    Erosion is also happening at the low end of the market by the likes of Linux where x86 architecture can compete.

    If they make the use of JVM, through JRE, easy to use on the low end, they have some chance of getting a foothold on small companies before they turn into large corporations. This path is what they don't want because as a company grows, they may try to make their existing platform (PHP, Perl, Python) work in their more demanding environment.

    This results in a drop in the market for Java developers.

    This also affects the developer environment as well. If you have a linux box and want to write some code, you aren't very likely to spend an entire weekend trying to get some sofware running when you already have several good tools to choose from. One of the reasons I never really took up Java development was because of issues related to getting things working correctly at the JVM level on my distro of choice.

    That being the case, developers will look to other platforms, starving the Java Market of designer resources.

    Releasing JRE into a open license agreement addresses the issue of keeping the market space viable, but it doesn't address the issue of developing resources. Of course, with schools pushing Java hard and everyone older than 12 years old in India learning Java, they may not have to.

    Perhaps it all makes sense in their grand scheme of world domination?

  66. Running different races by nonmaskable · · Score: 1

    Mono and Java are running different races (client vs. server side), and both of the races are over.

    Sun wrote off Java on the client and focused it as an enterprise server technology (which it is great at), which is why they've never done anything useful about the sucky AWT/Swing stuff.

    Mono on the other hand seems mostly focused on the client side. While the technology really rocks, the taint of Microsoft licensing/patent fees will always make it problematic for many.

    It's too bad but if Sun had open sourced Java and gotten on the SWT bandwagon it would have provided some competition and maybe kept Mono from getting momentum.

    1. Re:Running different races by jechidah · · Score: 1

      You are seriously misinformed. Why would SUN want to jump on the SWT bandwagon ? SWT is an abomination. Saying that it is faster than Swing for client side applications shows how clueless you are on the matter.

      "Sun wrote off Java on the client and focused it as an enterprise server technology (which it is great at), which is why they've never done anything useful about the sucky AWT/Swing stuff."

      Have you ever seen Java 5 ? Swing is definately faster than SWT. In Java 5, Swing is even faster than native widgets in Linux (Yes i'm talking about GTK2). Now, who is the one that sucks ? ;-)

      SWT is not a step forward, it is slower than a midget with no legs, bug-ridden and makes programming GUI's seem like torture. The improved Swing in Java5 shows how much Java has evolved. It even puts GTK2 to shame. Just compare the speed of eclipse/SWT and netbeans/Java5 on Linux.

      Please, for your benefit, get your facts straight and stop chanting the same old mantra you heard ages ago.

    2. Re:Running different races by nonmaskable · · Score: 1

      Saying that it is faster than Swing for client side applications shows how clueless you are on the matter

      Your reading skills could use some work. Where did I mention SWT or Swing speed? On my machine they're both blindingly fast.

      I do agree about the pain of coding SWT. But the fact that I can write an app in SWT and not have it look & feel like cr4p makes it worth it.

      The rest of your comments just tell me you need to put the crack pipe down.

    3. Re:Running different races by jechidah · · Score: 1

      Oh i'm sorry but when you say that SUN wrote off Java on the client side (sucky AWT & Swing) and that SUN should have gone with SWT instead, what do you mean ?

      "But the fact that I can write an app in SWT and not have it look & feel like cr4p makes it worth it."

      You must be on a different planet than me if you mean that SWT with look&feel that only works on Windows (messy, dog-slow, ugly in Linux and osX) is better than Swing l&f. Now, who is the one making *HEAVY* use of that crack pipe ?.

      Grow up.

  67. Re:Why do colleges proselytize with java? by mabinogi · · Score: 0

    > Because PHP is rancid pile of festering monkey crap "designed" by people who have the same level of CS knowledge as Homer Simpson.

    I think I love you!

    --
    Advanced users are users too!
  68. Isn't that backwards? by Anonymous Coward · · Score: 0

    I've had exactly the opposite experience. I didn't mind Java's verbosity at first -- I figured the Java guys knew what they were doing and all this crap had a purpose -- but as my program grew, it became much more noticable (and annoying).

    Needing twice as many lines of code (or more) isn't so bad if you only have 3 methods; if you have 300 classes it can add thousands or tens of thousands of lines of code that doesn't add anything to your program.

    True, things like arrays/ArrayList/Vector are there "for a reason" (the latter two mostly historical reasons, today), but that doesn't make them good. Having to convert an array between array-type-1 and array-type-2 does not help my program in the least.

    I've ported significant Java programs (>50,000 lines) to Python; they're *significantly* shorter in Python (4:1 isn't uncommon). (Interestingly, they're also usually faster in Python, since it's so simple I can add optimizations that wouldn't have been practical in Java.)

    When you have to compare it [Java] to COBOL to make it sound good, you know something's wrong. No, I won't deny that Java is much better than COBOL; that doesn't make it good.

    I've never used Visual Basic (it's not really my thang), but it does have the benefit that it makes apps that have the real Windows L&F -- not "almost", like Swing. I never thought I'd say it, but I'd use VB before I used Java again.

  69. Re:WTF? by t_allardyce · · Score: 0

    which faces ongoing competition from Web open-source scripting tools, such as PHP, and Microsoft's .Net line of tools.

    What im saying is how has Java faced competition from PHP, only fools use jsp

    --
    This comment does not represent the views or opinions of the user.
  70. OMG!! by marco_craveiro · · Score: 0

    is there a script in slashdot that periodically repeats the same stories??!?!? :-D kde vs gnome: which one is better? will sun release java as open source? emacs and vi, which one is the king of editors? :-D

  71. Verbosity doesn't matter by 16K+Ram+Pack · · Score: 1
    It's mostly irrelevant. If you have to type half a dozen lines in to do something and you are doing it a great deal, just wrap it in a class.

    COBOL is just fine. For file handling, I don't know many languages that are better.

  72. Re:WTF? by 16K+Ram+Pack · · Score: 1

    Why do "only fools" use JSP?

  73. Native compilers for Java by jdfox · · Score: 1

    ...and it is not a native programming language...

    Actually there are native compilers available for Java: Gcj, J2exe,
    Excelsior JET and Manta.

    There are downsides to using native compilers though, including a) the need to maintain separate platform versions of your app, and b) the loss of the ability to decompile back to Java source. But some developers don't mind a), and the more proprietary ones positively love b). :)

    Kaffe, on the other hand, isn't a native compiler in the sense that the compilers above actually cough up an executable for you at the command line. But it has a just-in-time (JIT) compilation system which translates the bytecode to native machine code on a method-by-method basis as the application is executed. This really boosts Java app performance a lot.

  74. log4j by Anonymous Coward · · Score: 0

    ...or you could use log4j from Apache and have a very powerful logging engine that's fairly simple to use and fast.

    </shameless plug>
  75. Depends by turgid · · Score: 2, Funny
    Do we still hate Java or what? I'm confused.

    Not if it comes from IBM. We only hate the stuff from Sun, and we also like .NET in the form of Mono, because Miguel started that so it must be cool.

  76. Believe it or not: Java is Sun's next cash machine by Anonymous Coward · · Score: 1, Insightful

    Many people don't realize that Sun is beginning to cash-in big amounts of dollars from Java. That's because any Java-enabled Phone, PDA, Digital TV set-top-box, or gadget-du-jour means a royalty to them, up to $1/box. There are already several millions of these gizmos, and a lot more are to come in the next years with the advent of HDTV. Sun is even lobbying to put Java within DVD players (in order to replace the crappy system used to author interactive menus, that is).

    Why on earth would they open-source something that looks like the next goldeen goose ? That would be pure business suicide.

    Waken up people. It's all about the money ! Not about "forking" and other stupid claims made to distract the open-source zealots from the real issue.

  77. Not good enough by Anonymous Coward · · Score: 1, Informative

    Sorry, A letter of intent from som MS lackey is not a legal document from the company.

    And royalty-free RAND is not necessarily open source compatible. More than one Microsoft product has been licensed as "you use this library for any purpose except on open source applications" or "you use this library for any purpose but only on a Microsoft licensed operating system".

    1. Re:Not good enough by Anonymous Coward · · Score: 0

      > Sorry, A letter of intent from som MS lackey is not a legal document from the company.

      Actually, if MS legal agrees it is, it is. What part of "intent" don't you understand?

  78. Yes by ultrabot · · Score: 1

    Do we still hate Java or what?

    Yes.

    --
    Save your wrists today - switch to Dvorak
  79. The biggest problem for sun is... by jonwil · · Score: 2, Informative

    How to make sure any released "derived works" of their JRE, JVM and JDK are 100% compatible with their official releases.
    Look at what happened with microsoft, they took the sun JVM and did an "embrace, extend and break 3rd party compatibility" act on it and so Microsoft (up until sun forced Microsoft to remove it) was shipping a JVM that was incompatible with the official VM from sun (and people actually built java apps that only work on the Microsoft VM)

    What sun should do (IMO) is to release the code under an Open Source licence. BUT, if you want to use the sun java trademark (e.g. to represent that what you have released is a java VM or whatever), you need to pass a compatibility test and get a stamp from sun. Then, they could release the compatibility test to the world so that everyone can test their code before it goes to sun for approval. The same test could apply to any java VM or compiler (e.g. GCJ).

    People who want to modify (and share modifications to) the JDK, JRE and JVM can do so. (e.g. people wanting to port the JRE/JDK/JVM to a new platform/OS)
    People who want to try out "unapproved" modifications can do so (with the full knowledge that they arent official and may not be 100% compatible with the official sun releases)
    People who want "java" so they can run java apps can feel safe and only download stuff approved by sun.
    If the licence was like GPL where source must be
    released if binaries are released, it would help prevent what happened with Microsoft and the MSJVM (since any incompatible modifications would mean that you wouldnt get approval and couldnt call it "java" and also any modifications you make would need to be returned to the community).

    Because of the rules for the use of the java name, there would be every incentive for anyone making changes to the JRE/JDK/JVM to do the compatibility test and get their changes approved (the licence, the trademark licence and the other factors would work against any incompatible forks showing up especially since companies like MS with an interest in incompatible forks would not want to use code under a licence like the one I suggest)

    Developers would have a big incentive to write 100% compatible java code (since they would be instantly able to see that their development setup is not "compatible" and unless there is a good reason to use that incompatible VM (e.g. like what happened with the MS VM being used because it was shipped with windows, IE etc), they would be more likely to choose one that had the "java" name and sun "seal of approval".

    And by having a dual licence and/or a "copyright assignment" like OpenOffice/StarOffice, they could also continue offering commercial licences for java like they do now (just like they use outside code contributions to OpenOffice in the commercial StarOffice product)

    There are probobly holes in my plan somewhere through, something I havent thought of.

  80. Why is there a problem seeing the code? by lokedhs · · Score: 1
    Project Peabody" adds two licenses that make it easier for outsiders to see the code.
    All you have to do is to head over to https://mustang.dev.java.net/ and download the source. You don't even have to register. The source package (56 MB) is two mouse clicks away from that page.
    1. Re:Why is there a problem seeing the code? by slim · · Score: 2, Informative

      Any employer with enough lawyers is going to give you guidelines on when it's OK to look at source code, and when it is not.

      At my previous employer (a big IT company you'll have heard of), we were not allowed to even LOOK at GPL software without going through an approvals process first: for fear of "infecting" proprietary code with GPL methods.

      I've not looked at these new Sun licenses, but maybe the idea is that a corporate legal team can look at them and far more easily say "sure, we're happy for you to look at that source".

  81. I don't have any problem with the java license by BohKnower · · Score: 1

    Besides the fact that my favorite linux distributions cannot ship the sun jre/jdk out of the box (pls don't tell me about JDS) and I cannot emerge it without download it from the sun website.

    Sun is right to make sure tha every jvm is compliant with every bytecode. Write once, runs everywhere need to be preserved by all cost.

  82. debugging VM bugs by Pastis · · Score: 3, Interesting

    One of the key thing that opening Java would give is the possibility to debug issues ourselves.

    For example I have crashes with the official Sun's VM. I am unable to debug the problem properly without access to the code (and I won't do that with a proper license). For sun I have to go all the way to create a test case, which is not easy when it comes to isolate a problem in a complex application.

    I am sure I would go faster with access to the code. Instead of spending time making a test case, which I am not sure Sun is going to have a look at.

  83. You troll by Anonymous Coward · · Score: 0

    While I agree with you generally, you have to realize that Sun's licensing is a hindrance. You can't just port Java to OpenBSD, for instance.
    You can say it doesn't matter, but it's just an example (on the other hand, the safest OS in the world is nice thing to have as a server -- say you're a banking instituion, wouldn't you say so?).
    And by the way, you're just trolling, or disinformed. Gnome developers are interested in Windows.Forms in order to run apps written for Windows. There's cross-platfrom for you, something java never really achieved.

    1. Re:You troll by iamacat · · Score: 1

      You can port Java to any OS you want, you just can't fork the language or VM specification. Your port has to pass Java compatibility tests before you release it to the public. Have a look at blackdown.org for some 3rd party ports. Maybe you are the one for OpenBSD port?

      And you are kidding that .Net has better cross-platform compatibility than Java. I am running NetBeans on my Mac without any trouble. Please present a Visual Studio 2005 (which is rewritten in .Net) screenshot running on Mono. Besides Windows.Forms is designed around existing Windows APIs, not how people would like to write UI applications. Swing on the other hand could be rescued with good visual design tools. I am tempted to write a translator for InterfaceBuilder projects.

    2. Re:You troll by arkanes · · Score: 1
      Visual Studio 2003 is *not* written in .NET, no matter how many times people claim that, and Mono works fine on the Mac. Windows.Forms doesn't but, contrary to belief, it's not the only GUI option you have under .NET either.

      Now, even though the rest of your post was wrong, you are correct that claiming that Mono has more cross-platform support than Java is silly.

  84. Need COM support? It's there. Go directly to... by Anonymous Coward · · Score: 0

    The JACOB project:
    http://danadler.com/jacob/

  85. when you go to a bank by Stu+Charlton · · Score: 1

    Your teller is probably using Java based software to bring up your account details and conduct your transactions.

    This holds double true for brokerage trade executions , matches, and settlement.

    And then there's your phone bill. Chances are that is touched by Java somewhere -- on the website, in the call centre, etc.

    etc.

    PHP is prevalent on the web, but not as prevalent in major business applications.

    --
    -Stu
  86. Yo! JAVA has no spec! C# went through ECMA! by Anonymous Coward · · Score: 0

    You sure as shit don't know what you're talking about. Sun was the one who pulled itself out of the process of going through a specification process. Microsoft went ahead, and C# was released with ECMA blessing.

  87. mod parent up by Anonymous Coward · · Score: 0

    Blackdown is just Sun's JVM with some customizations, nothing more, nothing less. Guess it's similar to the IBM JVM or is that one a complete implementation from scratch by IBM?

  88. you asked for it... by Stu+Charlton · · Score: 1

    This works. Is it awful? Eh, verbose, but otherwise ok... Python is certainly more compact. But frankly, the tasks one does in Java are usually very different from what one would do in Python. Very different emphases.

    File[] fileList = new File(".").listFiles(new FilenameFilter() {
    public boolean accept (File dir, String name) {
    return name.endsWith(".gz"); }});
    for (File eachFile : fileList) {
    do something
    }

    --
    -Stu
    1. Re:you asked for it... by killjoe · · Score: 1

      I think you made my point. The idea that you have to implement a class just to do do a glob is sick to me.

      And yes it's more verbose, and more ugly to read. I also happen to think inline class declarations are lame too but I guess it's not that much worse then passing codeblocks around in ruby.

      --
      evil is as evil does
    2. Re:you asked for it... by BigBadDude · · Score: 2, Interesting
      Nop, you havent made a point. Unless your point was that there are always crappy programmers misusing OOP and Java.
      for(String s : new File(".").list() ) if(s.endsWith(".gz")) do_something(s);
      now, we just did something that does not have immediate support in the language, demonstrating the flexibility of Java. How easy is it to do that in your-favorite-programming-language ?
    3. Re:you asked for it... by killjoe · · Score: 1

      "now, we just did something that does not have immediate support in the language, demonstrating the flexibility of Java."

      You don't want to get into this pissing match. All objects in python and ruby are malleable at runtime. You can't beat them for flexibility.

      --
      evil is as evil does
  89. definition of fork by SQLz · · Score: 1

    Maybe I'm wrong or just stupid but to me, a fork is forking an existing source tree to take it another direction.

    Some examples:
    Xorg is an Xfree fork
    Cedega is Wine fork

    I don't think a fork means to follow some specs and write some code, for example:

    GJC is not a Java fork, its an implementation.

    Nor is a fork downloading patches for your windows machine. (someone mentioned it)

    I don't know where all these people are getting these crazy definitions of fork, my only guess is that some "informative" posts are spreading false information.

    I mean, a lot of people talk about forks like if they exist, they creep their way into the servers at night and fuck things up. You don't have to use a fork if it exists and it will probably live and died without you even knowing about it.

    Forking the code in another direction is good for open source because those developers who forked the code can now work under their own terms and when a developer does that, he usually does his best work. Are all forks successful? Hell no, but its possible some of the code will find its way back to the original project, or other projects, and thats how open source lives on and flourishes. Its the most insane code reuse technique ever created.

  90. java vs. .NET??? by jonathanduty · · Score: 2, Insightful

    I've never understood the argument that open-sourcing java will convince people to choose it over .NET? Why would someone choose .Net over java because java is not open source?

    1. Re:java vs. .NET??? by ReelOddeeo · · Score: 1

      Why would someone choose .Net over java because java is not open source?

      Because Mono is open source. It runs on every platform, including Windows. You can even have a completely private embedded mono within your own C application -- i.e. as a "scripting" language, or for loadable platform independant plug-ins. Let me give you an example....

      For example, OpenOffice.org accepts UNO packages. In OOo 2.0, you don't even need to use the pkgchk command to install UNO packages, you just pick Tools --> Package Manager from within the office gui.

      An UNO package can be written in Java. But Sun controls java. OOo cannot distribute its own private Java implementation. But OOo does distribute its own private Python implementation within OOo. As much as I love tinkering with UNO packages written in Python, it is presently a fact that the Python-UNO bridge is less than ideal for reasons I won't elaborate on here.

      Now you can also use BeanShell and JavaScript to write UNO packages, or even scripts. But both of those are implemented in.... Java. So OOo is very much at the mercy of Sun's Java.

      Now imagine if OOo could distribute its own private Mono implementation as well. This is an advantage that Mono would have over Java. Third party office developers could build UNO packages with Mono code that is JIT natively compiled, and works on any platform, and is independant of Java's and Sun's future.


      another example

      The GIMP. Suppose that every implementation of the GIMP (even on Windows, maybe especially on Windows) had GIMP# and Mono pre-installed. Now, GIMP third party plug-in developers could use, instead of C, a high level, safe, JIT compiled, language to write plug ins. The binary of those plug ins, just as with UNO packages for OOo, would be portable to GIMP on all platforms. i.e. only have to distribute one binary and one source. As with OOo UNO packages, your third party plug-in would work in a version of OOo (or the GIMP) that is running on an OS that may not even be invented yet!

      --

      Those who would give up liberty in exchange for security and DRM should switch to Microsoft Palladium!
  91. Bottom line is... by Anonymous Coward · · Score: 0

    Bottom line is: the community owns Mono.
    Sun owns Java.
    So all you smug Leenox weenies out there: Java is not free. There's no Java for BSDs yet.

  92. The only fork they would fear by alucinor · · Score: 2, Interesting

    ... would be IBM's fork of Java. There would be enterprises that would adopt that, even if it was no longer called "Java".

    IBM would soon "Eclipse" the Sun.

    --
    random underscore blankspace at ya know hoo dot comedy.
  93. Sun does not get it: need Linux compatible license by MarkWatson · · Score: 1, Interesting

    The problem is that Sun's Java is not installed by default in most Linux distributions. As a Java developer (also use Ruby, Lisp, and Python a lot) the best situation for me would be to have Java installed by default on Linux and Windows - like on OS X.

    For server side Java (web apps), which is mostly what I do, it does not matter too much because setting up a JDK, Tomcat, etc. is easy enough. It is a different matter however for Java client apps. Java is not that bad anymore for GUI applications and it would be great to not have end users having to install a JRE themselves.

    BTW, natively compiling Java applications with GNU gcj is really getting to be a viable alternative to running under the JRE. I have been playing with Java and SWT also - looks promising.

  94. Re:Why do colleges proselytize with java? by outcast36 · · Score: 1

    I actually asked my professor this. His answer was really simple.

    Free runtime, free IDE, free docs.

  95. i think sun will lose. by pinky1 · · Score: 1
    here my arguments.
    Java was long time _the_ VM. And because they were the only option they could make their game "we own java and we alone decide were we go".
    But now time has changed.
    There is another System C# and the CLI. People say that it has advantages to java. I'm not that deep in java and c# to confirm that. But for me it sounds logical. Java was the first VM and since them there was enough space to learn more about the concept and learn from the mistakes of java.
    But i think that's not the main reason. I think both platforms are well enough for most of the usual tasks.

    But MS will push .Net on windows and i'm sure that this will be one of the main platforms for developing on windows in the future. So you have a great integration in windows. On the other hand you have Mono. In most cases it will be compatible with .Net, so your programs runs on windows, unix and MacOS.
    But at the same time you can have full integration in one platfrom:
    - windows: .Net activeX, COM,...
    - Unix: Gtk#, gnome#, gst#,...
    - MacOS: coca#

    so you have all options: best integration or portability.
    And all this bases on a ISO standardised C# and CLI.

    So the arguments for .Net:
    - comparable to jave (maybe better)
    - multi language support
    - based on a open standard
    - platform independend or best integration (depends on what costumer wants)
    - Free solutions with Mono (were everyone can decide what to do with the software)

    And what have sun to over?
    That there name is not Microsoft? That may be an argument for some kidies but not for the whole IT market all over the world.

  96. Sun's marketing clowns by null+etc. · · Score: 3, Funny
    One nice thing about an open source Java is that maybe Sun's marketing clowns would have less input into the "naming" of Java.

    Java 1.1 = Java
    Java 1.2 = Java2
    Java 1.3 = Java2 version 1.3
    Java 1.4 = Java2 version 1.4
    Java 1.5 = Java2 version 5?!?!?!

    I mean crykies, I'm almost in fear of what Java 1.6 will be named. And prepare to move into a bomb shelter when Java 2.0 comes out.

    1. Re:Sun's marketing clowns by hsmith · · Score: 1

      1.6 "mustang" will be named java 6.0, for whatever reason.

      i just assume they will never go to 2.x, but continue on with 1.x up until forever.

      the whole "java 2.0", "java 5.0" is stupid to begin with.

    2. Re:Sun's marketing clowns by fantastic · · Score: 2, Informative

      See this article for some inside info on the naming.

    3. Re:Sun's marketing clowns by turgid · · Score: 1

      Well, they named their cool new Opteron workstations which run Linux and Solaris "Java" workstations. Lots of people wonder why they'd buy a workstation to "run Java" when what they want to run is Linux, Windows or Solaris.

  97. Scripting? by atlacatl · · Score: 2, Insightful

    Web open-source scripting tools, such as PHP You can't make a fair comparison between the Java technology (whatever that means) and PHP.

    PHP has its uses and Java has its uses. And Java is not a scripting language. Just because you can deploy a web site using JSP, you can't put Java in the same category as a web scripting language, me thinks.

    --
    Esta es una firma en Espanol.
  98. COBOL vs. Java by RedMage · · Score: 1

    COBOL is to Java what Neal Stephenson is to Issac Asimov. Both write good science fiction, but in the end they are really two different things entirely, syntax-wise.

    (With applogies to the High School set who didn't have to endure analogies on the SAT this year...)

    If I have to write lots of "rows and numbers" type programming, COBOL isn't bad. (but still not my first choice these days.) However, I don't think I want to write a GUI or the server side to a web site in it. Ditto for VB.

    Of course, the whole comparison thing is meaningless unless you take into consideration what each language was designed for and when it was designed. COBOL has been around a LONG time (computer time wise), and certainly has been surplanted by new technology. There would be very few compelling reasons for me to start a new system in COBOL today. Java is (basically) a refinement of C++, with much better library support. As such, it's syntax is C based, which also has been around a long time. The C-like languages survive for two reasons: flexibility and terseness. (word?) C-like languages work on data structures, whereas COBOL-like languages work on 'business' or 'work' structures. That is the inherenet flexibility of the C-like languages vs. the COBOL-like languages. I can get C/C++/Java to work with basically any structure I want, but I'd have to bend over backwards to get COBOL to do a linked list. And I can do it in fewer characters to boot. (Programmers are lazy, ya know.)

    You want your new whiz-bang language to survive? Make it flexible, make it terse, and make it fast. Perl met this criteria for many people. Java does too. VB was an aberation, surviving mostly on the sheer force of Microsoft's will. BASIC-like languages were certainly useful for what they were, but I'd argue today that a good scripting language like PHP is more appropiate for now.

    --
    }#q NO CARRIER
  99. In Koreal by Anonymous Coward · · Score: 0

    In Korea, only old people use EJB's.

    Seriously, EJB's are the worst thing to ever come out of the Java camp that has managed to (sort of) survive.
    See EJB's 101 Damnations

  100. Re:Speaking of Java..anyone know by ogonek · · Score: 1

    Well, isn't it obvious why Eclipse and Netbeas suck? Because the BileBlog said so! Sorry, I'm too lazy to find a quote on netbeans.

  101. That's a license violation from SuSE then by Anonymous Coward · · Score: 0

    unless they have a special contract with Sun that costs an undisclosed amount of cash that allows them to do it. See Attachment D of SCSL for commercial use of J2SE source code.

    cheers,
    dalibor topic

  102. Re:WTF? by RedMage · · Score: 1
    only fools use jsp


    This of course makes no sense on a lot of levels. The choice of a tool is completely dependent on the environment in which it is being used. If I have a mostly Java based system, with business objects and a database layer, it makes a lot of sense to use JSP's over PHP. A lot of that choice comes from the magnatude of the system in development, developer skills, etc. I'd even consider mixing the two technologies under certain circumstances. Large multi-tier systems are complex beasts that can quickly get out of control, and JSP's fit nicely into that scheme. PHP is a powerful scripting language with many great features in its bag of tricks, but it's still a scripting language and should be used correctly.
    --
    }#q NO CARRIER
  103. You can't study Sun's code to learn from it by DaliborTopic · · Score: 5, Informative
    You can even study Sun's source code to learn general concepts for your own project as opposed to just "lifting" it.
    No you can't. Read the fine license, in particular the definition of Modifications in SCSL 2.3. Sun claims copyright on any code independently implementing any portion of the SCSL-licensed technology *if* you agree to their license. So please don't look at their code if you intend to contribute to free runtimes in the future. It's the same as Microsoft's Shared Source in a different wrapping. cheers, dalibor topic
    1. Re:You can't study Sun's code to learn from it by iamacat · · Score: 1

      This kind of rights only exist in their imagination. Sun owns 1. valid patents on their code, 2. copyright on their code, 3. copyright on code I write while on their payroll.

      Even if I sign a contract, they can not enforce it in respect to me writing totally new code on my own time, even if I learned some skills from them. There are all kind of laws on the books to prevent that, like anti-slavery amendments, the fact that a contract should have considerations for both parties, and specific prohibition in California (where they are based) against restricting a person's future employment.

      I am sure they are a few of Sun's former Java developers working on .Net and there is nothing to be done about that, unless they actually copy and paste the code from their stashed away copies. Also if you follow SCO vs IBM, the former has to come up with increasingly more ridiculous accusation precisely because they can not get any rights to IBM's own code, despite any contracts with AT&T.

      You can also legally study GPLed code to get ideas and skills for your commercial or BSD-licensed project - and almost everyone does. Take this, RMS!

    2. Re:You can't study Sun's code to learn from it by DaliborTopic · · Score: 1
      Even if I sign a contract, they can not enforce it in respect to me writing totally new code on my own time, even if I learned some skills from them. There are all kind of laws on the books to prevent that, like anti-slavery amendments, the fact that a contract should have considerations for both parties, and specific prohibition in California (where they are based) against restricting a person's future employment.

      Good luck in the US court system. I heard they have 7*10**9 USD in cash to burn, so that should keep them going for a while.

      Sure, Sun's claims are stretching the law in the same direction as SCO tries to do with IBM with one major difference: SCO has nothing in their licenses to back such nonsense up, Sun has it right there in front of you when you agree to the SCSL, and if you agree to the terms you are bound by them, unless you fight for your rights in court.

      As I said, good luck. That's not a legal fundament I'd base any business on.

      cheers, dalibor topic

  104. Gentoo Java fact I was very impressed with by BigGerman · · Score: 2, Informative

    Recently I discovered a Gentoo feature that now IMHO makes it the most enterprise Java friendly distro.
    Besides supporting bunch of JVMs, Gentoo integrates all the Java stuff in Gentoo way: you can just "emerge jboss" and you will end up with a complete server environment with all the scipts, etc. Very nice.

    1. Re:Gentoo Java fact I was very impressed with by taj · · Score: 1



      I would be very carefull with gentoo. They should at least say which jre they tested if any. I get gentoo specific issues on a fairly regular (but not frequent) basis.

      I've run into problems with gentoo applying patches to the kernel that just break Java [TM] flat out.

      I like gentoo as a distro. Its a little rice like if you know what I mean, but I like it.

      But with java [no TM] I think gentoo's future is not in supporting commercial JRE's which it really sucks at but rather gcc4 and the goodies comming there that its really good at.

      Trent Jarvi
      www.rxtx.org

  105. Kaffe wouldn't vanish, we'd just merge Sun in by DaliborTopic · · Score: 1
    And, for that matter, if java were open-sourced, even at this late date, I would expect to see kaffe vanish almost instantly, and I wouldn't place any bets on gcj's long-term prospects.

    Hardly. Kaffe already does a lot of things better than the non-free implementation does on a variety of platforms, and so does gcj. If there is *any* good, maintainable code in Sun's implementation after they hypothetically licensed it under an open source software license and the license was GPL compatible, then someone would merge it in, and make it work well.

    Kaffe and gcj are not 'Java'. They are in a lot of ways better than the non-free implementations. And they are catching up quickly in those areas where they are not.

    Sun's source code is simply getting more and more irrelevant every day. And that's a good thing for the Java platform, as it needs a second leg to stand on.

    cheers, dalibor topic

  106. Patches for 1.5 support are very welcome by DaliborTopic · · Score: 1
    Don't hesitate. Send them to the Kaffe Mailing list.

    For the class libraries, please go ahead and start sending patches for the 1.5 branch of GNU Classpath.

    cheers, dalibor topic

  107. Kaffe on GCJ by DaliborTopic · · Score: 1
    There are GCJ bindings in Kaffe that need a volunteer to update them to the latest GCJ version (4.0) that supports a binary compatibility ABI. That way, you could run Kaffe's JITs over GCJed class libraries and get the best of both worlds. Hop on the Kaffe mailing list if you are interested.

    cheers, dalibor topic

  108. Sun's license prohibits any real use of the code by DaliborTopic · · Score: 1
    So why bother?

    cheers, dalibor topic

  109. nope. by Anonymous Coward · · Score: 0

    For starters, you cannot call something Java unless it passes Sun's tests, which they charge you to run. In addition, all their books they ever made have a license in front that says basically if you read this you cannot make your own Java from scratch for free. you become bound by their license, even if you don't ever use their implementation in your life.

    Practical upshot: you cannot just write a Java compiler/environment and call it Java.

    I cannot think of another language that was a success that you couldn't write your own implementation for.

    Sun really screwed the pooch on this one by using a license that was designed to enrich them and stifle all innovation. And kicking their language off the most popular platform (Windows) was stupid too.

  110. Re:Believe it or not: Java is Sun's next cash mach by flibberdi · · Score: 1

    I don't think so....

    When was the last time you saw an ad for some device claiming "midp v.X.X"?? If you buy a device (say a mobile) the seller usually have no idea of what version of midp the device is, heck most people don't know what j2me is.... Face it, in the beginning people was exited over the possibility of running "cool apps" on their phones...well some years down the line and most people learned that the chances of some "cool app/game" working on their device is slim, you have to d/l the app/game version for that particular device...

    Having been close to j2me developers, I can tell you they HATE sun..see, to much of the api is "up to the implementation" , so the "write once run everywhere" is a sad joke... And people has realized that...none is going into a store and ask "is this midp 2.0?? does it have sockets, more than one?? server sockets, does it support jsrxxx?....

    Head over to the j2me.org forum and you will see (apart from the same newbie questions over and over again) questions like "I would like to do this, and then the user can do this, then the software do zat, how do I do it?" to which an answer is posted - "it depends on which device you are using, but for the most part....nope..can't be done"..

    To be honest I made some developing myself, but soon got fed up with it and moved over to Symbian, which limits the number of potential custormers - the device has to be a "smartphone"... but then again, doing it in midp x.x also limits the number of targeted devices... Oh, and I tell you, once you got your app through QA, some bug shows up, which you fix..and everything is dandy until you realize that you broke the builds for some devices you scream about bugs in the kvm, read the affected javadoc and realize that it is possible to interpret the api in great many ways and often it's "up to the implemntator"...

    Good lord, I get to upset...can't spell, feel light headed..I need to take a nap.

  111. Sun clueless on what developers need/use. by Anonymous Coward · · Score: 0

    I agree. I read his blog for sheer entertainment value, as his thinly-veiled attacks on Red Hat, the FSF, and free/open source developers routinely top anything I could have imagined. Shocking! C/C++ still matters! What a fool.

    It is really an interesting look into the Sun executive mentality.

    Watch out dinosaurs! That astroid hit already!

    It's not just Java that Sun has mis-managed. It's C/C++ developers as well. People forget that at one point in the late 90's, a lot of embedded software engineering was hosted on Sun boxes. That market is mostly gone now. Also gone: telecom, financial services, others. Sun has not had a compiler that competes, feature wise, with the GNU compilers for four or five years. While the FSF developers were competing against top-of-the-line compilers like KAI/icc, and forming industry consortia (Apple, Red Hat, Intel, SuSE, IBM), Sun was sleeping. To add insult to injury, they charge an amazing ammount for these crappy tools. (Sure, they will always optimize better on sparc64. That's not the point really, unless they can beat GNU compilers by 70% and match standards compliance and feature-wise. They can't.)

    Since the FSF released gcc-3.4.x, Solaris support has improved remarkably (no thanks to Sun, of course: thanks to Eric Botcazou).

    Since linux of the late 90s developers are used to
    a platform that comes with GNU tools installed and ready to use. Oh, and did I mention this is at no cost? Hello? Plus all the other bits: recent bash, python, perl etc all working out of the box. Yes, we can get and install this stuff for Sun boxes. That's not the point. Make it easy, free, and painless. Stupid, stupid, stupid.

    Also not helping: performance of linux on cheap boxes is 3-4 to 10x better than more expensive Sun hardware.

    It is really sad to see Sun forget that it's the developer, stupid. Their technical documentation still reigns supreme, and has helped linux developers clone the best of Sun's API. Their contributions to POSIX and ELF are outstanding. Too bad their executives forgot that C (and later C++) built unix.

  112. keep from harm by Anonymous Coward · · Score: 0

    >Sun Microsystems wants to send Java closer to the open-source world, yet keep it safe from harm

    Is this the most biased statement ever?

    How can it state that a commercial software company cannot produce decent software?

    1. Re:keep from harm by grahamsz · · Score: 1

      I think by harm they want to prevent it from being fragmented and risk losing a single standard.

      Probably a reference to MS's attempt to create it's own 'enhanced' jvm

  113. Seriously? by razmaspaz · · Score: 2, Insightful

    Java, which faces ongoing competition from Web open-source scripting tools, such as PHP

    Is that a joke?

    I mean PHP is great and all, but are there really fortune 500's out there going "you know what lets replace our entire java infrastructure with PHP"?

    --
    I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
  114. Who cares? by Anonymous Coward · · Score: 0

    For those who haven't noticed, Sun is just as bad as Microsoft in every regard. They are equally antagonistic towards Open Source. Java peaked years ago and its future is anything but certain.

    Too bad, they could have been the good guys and Java could have been important. Of course, that would never happen. McNeally and Gosling were drinking the same Kool-Aid as Gates right from the start.

  115. Re:Believe it or not: Java is Sun's next cash mach by Anonymous Coward · · Score: 0

    I don't think you understand. All the devices described by the parent post are compliant with standard(s) which mandate both a Java VM (which can be from any vendor) as well as standard-compliant class files from Sun. Even if you write your own VM, or buy one from a third-party, you're still going to pay a royalty to them because of it.

    If these class files were open-source, you wouldn't need to pay anything to embed them.
    Note that this has nothing to do with the technical quality of the various Java embedded APIs(MIDP, JavaTV, JavaMedia, JavaWathever...). It's all about mandatory royalties imposed by industry standards.

  116. NetBSD Package System by Anonymous Coward · · Score: 0
    Then, they should work to standardize on http://www.autopackage.org/, or something very similar to it.

    Actually, NetBSD's package system would be a better choice since it's portable everywhere. A colleague of mine has systems running Solaris, NetBSD, OpenBSD, FreeBSD, RedHat Linux, etc. They don't want to have to deal with building separate packages for each *NIX variant, so they're using NetBSD's system instead of the native package systems.

  117. The only problem with open source Java is .. by Giggle+Stick · · Score: 1

    That the sound card won't work anymore. :(

  118. Re:Sun's license prohibits any real use of the cod by Anonymous Coward · · Score: 0
    Do you see a lot of projects grabbing source from GCC and using it?

    Sure, to be free to do whatever you want with the source is nice and all, but let's not kid ourselves into thinking it's strictly neccessary.

  119. Re:anyone does want to be fucked? xDDD by Anonymous Coward · · Score: 0
    YES!!!

    James Gosling & Mc Nealy.

  120. I fault Microsoft by brlewis · · Score: 1

    I fault Microsoft. Microsoft's insecure formats for documents and spreadsheets have trained users to click "yes" to "Are you sure you want to open this?" messages. If I had to open 50 such files a day in the course of my work, as many people do, I probably would have clicked right through the applet dialog box myself.

  121. Infection? by spitzak · · Score: 1

    Your employer's an idiot and has bought into the FUD. They should be infintely more worried about hiring somebody who worked at another company before, since that person is also "infected" and this time with secret IP of that other company. GPL code is allowed to be read and examined, this employee is far, far worse, since even looking at the code is illegal.

    In fact if "infection" was a legal worry, all software companies would have to hire everybody when they are about 3 years old and train them in-house on a special company-developed curriculum, with no ability to leave the premises or contact anybody outside.

    1. Re:Infection? by slim · · Score: 1

      Your employer's an idiot and has bought into the FUD.

      My former employer is currently in court proving that it did not steal code from SCO.

  122. Re:anyone does want to be fucked? xDDD by Anonymous Coward · · Score: 0
    25MB of untouched HotSpot. Very Good!!!!!!!!

    I'm developing an Ultra JIT-HotSpot-AOT for C# 2.0.

    It's HotSpot of HotSpot of HotSpot of AOT of AOT of JIT of CLR for Mono.

  123. Re:Believe it or not: Java is Sun's next cash mach by flibberdi · · Score: 1

    Well..I know, and I do understand, I just had an itch to scratch...you know..really frustrated with the implementations of the apis...

    However, the success of the java is dependent of the quality of the apis, and there is much (imnsho) to be improved... Myself, I wont touch java (for any serious project) ever again... As to how much money SUN is actually making from these royalties, I don't know.

  124. Re:anyone does want to be fucked? xDDD by Anonymous Coward · · Score: 0
    You are very well!!!

    Java is trademark of Sun.
    C# 2.0 is not trademarked.

    Irrefutable Theorem: Java != C# 2.0.

    So, C# 2.0 is not copied from Sun's Java.

    Sun won't need to opensource his Java (tm) Virtual Machine because people is using open source Mono.

  125. No... by cr0sh · · Score: 1
    But some of these companies may say to themselves "You know, we have this old ASP system that works OK, but we need more performance - we should migrate it to something else..." - and after looking at (both IT and the developers) Java and PHP - would likely go with PHP over a Java/JSP/Tomcat/Ant solution - simply because PHP offers the performance and scalability while being easier to develop and deploy in. While a Java/JSP solution may scale to a much larger number of clients, there is a level before it starts to beat out PHP, and until that level (as in number of concurrent connected clients) is reached, PHP will likely win out because PHP development and deployment is closer to ASP, than Java/JSP is.

    Don't get me wrong - Java/JSP has its place. But for that matter, so do PHP and ASP (ugh, though), as well as .NET (double ugh - I just prefer open solutions). However, I don't think any company that has an established Java infrastructure and coders to support it is going to rip it out and replace it with PHP - unless they save money (ie, fewer developers needed, for example), time (takes less time to roll out new changes), or it give increased performance/security...

    --
    Reason is the Path to God - Anon
  126. Re:Sun's license prohibits any real use of the cod by DaliborTopic · · Score: 1
    Do you see a lot of projects grabbing source from GCC and using it?

    I do.

    cheers, dalibor topic

  127. No changes for Linux distributions in new licenses by DaliborTopic · · Score: 1
    I seems Sun is gonna change their license at this point so every Linux distribution can distribute the JRE and support Java out of the box.

    Nope. The JRL only allows research use -> no distributions. The JDL only allows distributing after passing the costly test suite -> no (volunteer based) distributions. The JIUL will only allow *internal* use -> no distributions.

    cheers, dalibor topic

  128. Re:anyone does want to be fucked? xDDD by Anonymous Coward · · Score: 0
    For OK verification:

    #!/bin/sh
    for f in *.zip *.jar ; do unzip -vt $f | grep -v OK ; done
  129. Re:VB6 isNot VB.Net and VB.Net is C# by Anonymous Coward · · Score: 0

    The lawsuit (I believe) had to do with a VS 6.0 product called J++... which was a clone/fork/ripoff and promptly pulled from the shelves.

  130. Deja Vu by Anonymous Coward · · Score: 0

    I could have swore I read this article (Sun planning on opening Java) - In 1989?

  131. Why one should pay attention to software freedom. by jbn-o · · Score: 1

    ISTM you feel you'd get some kind of kudos from the label `open source', but don't want to actually do what earns that kudos (letting go to some small extent of your creation).

    Indeed, according to the FSF, that's a major reason the open source movement exists:

    Over the years, many companies have contributed to free software development. Some of these companies primarily developed non-free software, but the two activities were separate; thus, we could ignore their non-free products, and work with them on free software projects. Then we could honestly thank them afterward for their free software contributions, without talking about the rest of what they did.

    We cannot do the same with these new companies, because they won't let us. These companies actively invite the public to lump all their activities together; they want us to regard their non-free software as favorably as we would regard a real contribution, although it is not one. They present themselves as ``open source companies,'' hoping that we will get a warm fuzzy feeling about them, and that we will be fuzzy-minded in applying it.

    This manipulative practice would be no less harmful if it were done using the term ``free software.'' But companies do not seem to use the term ``free software'' that way; perhaps its association with idealism makes it seem unsuitable. The term ``open source'' opened the door for this.

  132. Re:Why do colleges proselytize with java? by Anonymous Coward · · Score: 0

    Where to go from Python? I thing I can think of is Lisp.

  133. Re:VB6 isNot VB.Net and VB.Net is C# by Anonymous Coward · · Score: 0

    That's a bit of a Red Herring. As most people have mentioned, there are open source alternative Java tools.

    Mono isn't even a Microsoft thing. MS could wildly change .NET and then Mono would need work. You aren't even talking about the same thing.

  134. Re:Believe it or not: Java is Sun's next cash mach by Anonymous Coward · · Score: 0

    Sun charges a boat load of money for a J2ME license, unless you happen to be Nokia or Sony or ARM.

    And then there's the extortion which is licensing the conformance tests.

    Java is not open source until you have conformance tests that everyone agrees are good enough. That's why Sun will let you see the code ... because only licensees have paid to use the conformance suite.

  135. You can't study Blackdown's code to learn from it by Anonymous Coward · · Score: 0

    "No you can't. "

    Did you tell the Blackdown guys they couldn't?

  136. java vm would be useful but java is bloated by rofthorax · · Score: 1

    java is suitable for enterprise applications, but
    its too bloated to be useful for anything quickly deployable that is table. Java is highly unstable
    across platforms.. Sun should open source just by virtue of how unstable java is, it could use some
    optimization and simplification..

    Personally I would be interested in reduced instruction set and resource constrained versions
    of the java VM.. I have a plan for a concept called
    a media object, which replace files with objects that contain methods with the code (open sourced by design) for the purposes of convering media formats to the simplest yet flexible implementation..

    I think the future of file formats are object formats.. MOV, WMV, RA, MPG, etc ==> Movie Object,
    which contains the methods to interpret the encapsulated movie data.. The methods implemented in open source (by definition, mechanism, otherwise it will not work). Use CRC and Public Key Encryption to protect the integrity of the object methods from manipulation. Applications that load the media objects would run the media objects atop a VM.. This VM could be the open sourced Java VM.. If so, it would do away with vendor-lockin and leveraging practices that are enabled with static file formats.. Object formats are harder to leverage, especially if the method sets are open sourced by definition. Also it keeps the files from be obsoleted, as the libraries that extract the data are with the data (the definition of a Object).

    The purpose of this organization would be to encourage the convergence on a simple set of object
    media container formats, that are flexible enough to
    change without causing applications to become incompatible (by supporting the basic interface
    at the very least).

    --
    Just say no to license servers!!
  137. Re:Why do colleges proselytize with java? by Anonymous Coward · · Score: 0

    Ah, Lisp! The sweet embrace of death...

  138. Re:You can't study Blackdown's code to learn from by DaliborTopic · · Score: 1
    The Blackdown developers didn't study Sun's code to create a clean room implementation, which is what the parent poster was implying.

    Read the fine posts before you press Submit.

    cheers, dalibor topic

  139. good point by Stu+Charlton · · Score: 1

    With the one liner, I so often reach for FileFilter and FilenameFilter that I overlooked the plain 'ol String[] list() for this example. My bad.

    --
    -Stu