Slashdot Mirror


Will Sun Open Source Java?

capt turnpike writes "According to eWEEK.com, there's an internal debate going on at Sun whether to open-source Java. (Insert typical response: "It's about time!") Company spokespersons have no official comment, as might be expected, but perhaps we could hear confirmation or denial as early as May 16, at the JavaOne conference. One commentator said, "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java." Would this move Java up the desirability scale in your eyes? Could this be a way to help improve what's lacking in Java?"

133 of 700 comments (clear)

  1. If they do, it will all depend upon the license. by khasim · · Score: 5, Insightful

    "Open Source" covers a LOT of licenses.

    What changes and how would depend upon which license was chosen.

  2. too little too late by mycall · · Score: 2, Informative

    Phalanger is going to support Mono in their next release, which already support IKVM.

    1. Re:too little too late by giliath · · Score: 2, Interesting

      Caucho has been working on PHP compilation called Quercus inside their application server Resin. This is fairly new, but they already have some fairly complicated applications like Drupal and Mediawiki working in it.

    2. Re:too little too late by mycall · · Score: 2, Interesting

      Interesting find. Imagine running Quercus within Kaffe, which would be comparable to Phalanger within Mono as both would be using GNU Classpath for Java support. GNU Classpath's development is moving along fast. Now that Linux distributions are incorporating Mono and GCJ, the .NET vs Java camps are beginning to merge, which is fascinating.

  3. Third-Party JVM by GetSource · · Score: 2, Insightful

    I think this could be an excellent idea, if only to allow for third-party JVMs.
    I, for one, have always seen Sun's JVM as bulky and slow on Windows PCs, and this is a large reason that I don't advocate its usage.

    1. Re:Third-Party JVM by IntlHarvester · · Score: 4, Informative

      Microsoft's JVM was actually one of the fastest in the day and had extentions for a native GUI similar to eclipse. (Of course those extentions relied on illegal JVM tricks.) It was certainly much better than Netscape Java or early releases of Sun Java.

      The main reason Java has a terrible reputation (IMO) is/was it's tendancy to hang/lockup/freeze your browser when an applet loads, and general clunkyness with Swing.

      --
      Business. Numbers. Money. People. Computer World.
    2. Re:Third-Party JVM by twiddlingbits · · Score: 2, Interesting

      Ever think part of that is Windows itself? Compare the same Benchmarks for JVMs on Windows and Solaris, you'll see Solaris and also Linux perform better than Windows.

    3. Re:Third-Party JVM by feijai · · Score: 2, Interesting
      Although relatively useless (if not harmful), these checked exceptions lead to a minimum of 122 extra CPU cycles per method invocation.
      Mmm, the sweet tastiness of a piece of malarky. Care to back up the 122 cycles bit? Last I checked on Hotspot there is literally *zero* overhead for wrapping something in a try { ... } catch (Exception e) { }. And why should there be? When an exception is thrown, all Hotspot needs to know is where to unwind the stack. It can look that up in the exception table (a one-liner), and only needs to bother with that after an exception has occurred.
    4. Re:Third-Party JVM by Call+Me+Black+Cloud · · Score: 5, Informative

      People must be tired to mod you up. Performance isn't really an issue anymore and hasn't been for a couple of years. Blaming any perceived slowness on Swing is like saying C++ is slow because of Windows overhead. Most Java code doesn't make use of Swing (think server-side). As for the "122 ms", well, you just made that up.

      Other problems with your post: Eclipse is an application; Swing is a language feature. A Smalltalk derivative (Squeak) is not a suitable replacement for Java. I'd go so far as to say Ruby and Python aren't either, though both are very powerful and are better suited to some tasks than Java.

      Nice try at a troll...subtly nonsensical.

    5. Re:Third-Party JVM by LarsWestergren · · Score: 5, Insightful

      The other main problem is Checked Exceptions, which force a programmer to write "try{" before the body of every method and "} catch (Exception e) {}"

      No, not EVERY method. Just methods that that can reasonably fail (for instance I/O related operations), and that doesn't "know" how to handle the problem themselves. This helps you create well defined APIs, which in my opinion is one major reason there are so many frameworks and open source projects for Java.

      Although relatively useless (if not harmful), these checked exceptions lead to a minimum of 122 extra CPU cycles per method invocation.

      Evidence of this? Besides, it has been said so many times, but appearently it has to be said again. Processing cycles keep getting cheaper. Programmer hours keep getting more expensive. Trading a few cycles for a feature that helps you create more stable and transparent code is sensible.

      catch (Exception e) {}

      That is just about the worst thing you can write. Ok, maybe catch(Throwable t) {} is worse. That the first editions of Bruce Eckels Thinking in Java books were littered with those is evidence he just doesn't get checked exceptions.

      --

      Being bitter is drinking poison and hoping someone else will die

    6. Re:Third-Party JVM by mabinogi · · Score: 2, Insightful

      What the hell do your problems with the Eclipse UI have to do with Java?

      Basically, your reasons for disliking java come down to - it sometimes looks a little ugly, and some applications written in java have confusing (to you) UIs.
      The one you mention doesn't even use Swing - java's standard GUI. It uses a third party GUI library - IBM's SWT.

      There's hundreds of applications with confusing and horrible UIs written with many tools and in many languages. In fact, I would say that the number of applications with well thought out and intuitive UIs compared with the some total of all GUI applications over all toolkits and languages is vanishingly small. (Especially if your minor issues with Eclipse rate being "designed by the clinically insane" - I'd hate to think what you thought of Office 2000's disappearing menu items)

      You don't see people bashing C just because there exist crappy GTK+ applications do you? ...and on the ugliness issue - Most of the time that's laziness on the part of the developer. It is quite possible to develop a Java Swing application that looks perfectly fine, and does a pretty good job of blending in (better than some non java applications in fact). And Java 5 improves the situation even more. And if it's still not good enough, then use SWT - you can't even tell you're using a Java application when you're using an SWT application.

      --
      Advanced users are users too!
  4. No by aliquis · · Score: 5, Insightful

    "Will Sun Open Source Java?"
    No, haven't they already said that? Like hundreds of times? And does it really matter?

    "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java."
    "No", who would run PHP on Java anyway? Why? Why would open-sourcing it help?

    "Would this move Java up the desirability scale in your eyes?"
    No, Java is already desirable in my eyes.

    "Could this be a way to help improve what's lacking in Java?"
    No, what is lacking?

    People who complain that Java is slow, should be open-sourced, and so on have never seemed to had a clue.

    1. Re:No by Enonu · · Score: 5, Insightful

      Hear Hear!

      Will people stop trying to move Java towards a culture that won't keep Java up to the same standards Sun has? There's a reason why the top two server side platform these days are .NET and Java, and it's because a there's a quality standard and completeness not found elsewhere. The next time I look at another configured by altering it's code, hard tied to MySQL, non-tiered POS LAMP application, I'm going to cry.

      The only place I ever see Java going is perhaps to be bought by another bigger company who has a similar path. My only hope is that it's IBM because their Java apps are of a higher quality than Sun's, and they've done such good work with the Eclipse platform.

    2. Re:No by JanneM · · Score: 5, Insightful

      People who complain that Java is slow, should be open-sourced, and so on have never seemed to had a clue.

      Irrespective of any ideological issues, there are a few reasons the current situation hurts Java a bit.

      Foremost for quite a few readers of slashdot is that free Linux distributions can't include Java in their default install. That means Java-based apps are not going to be included either. And since users need to jump through quite a few hoops to get Java installed (don't say "it's easy" - for most people anything beyond using their package manager is too high a hurdle), you can't assume it will be available on desktops in general.

      The second issue is that Java does not really play well with the desktop. I have set up my desktop to run fine using three languages - English, Swedish and Japanese - and made sure everything from localization to character input works smoothly. But Java does not cooperate; it has its own way of dealing with CJK characters and needs its own fonts and separate setup to work. I have fiddled a little with it, but have never gotten it to work properly (especially being able to run an app in Swedish while still being able to input Japanese). And since it uses its own input method, it does not share the local dictionary so typing becomes frustratingly different from any other application I use. And since the code is not open, distributions can't fix these interoperability issues.

      Both of these issues serve as disincentives from using Java apps and from writing them in the first place.

      --
      Trust the Computer. The Computer is your friend.
    3. Re:No by Surt · · Score: 4, Interesting

      "Will Sun Open Source Java?"
      No, haven't they already said that? Like hundreds of times? And does it really matter?


      Sure it matters. A lot of people have issues with it because of the license. It would clearly expand the number of potential adopters to go open source. More adopters will mean better tools.

      "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java."
      "No", who would run PHP on Java anyway? Why? Why would open-sourcing it help?


      Well, I agree with the first part. But presumably integration will get better/faster in open source.

      "Would this move Java up the desirability scale in your eyes?"
      No, Java is already desirable in my eyes.


      But a lot of people would find it more desireable. You can trust that java won't go away in open source, whereas you can't really say the same as long as SUN is at the helm.

      "Could this be a way to help improve what's lacking in Java?"
      No, what is lacking?


      Mostly modernizing. The pace of java development is glacial, compared to say what is going on in C# or Ruby. People with specific integration issues that can't get sun to address compatibility problems are stuck.

      People who complain that Java is slow, should be open-sourced, and so on have never seemed to had a clue.
      There's no doubt java is still slow in a number of contexts. There are also obvious opportunities for performance enhancement that could be addressed in an open source process. I recently benchmarked ten of my applications in c++ and java, java is about 2x slower for most of the cases I tried, and never faster. To me, that's perfectly acceptable, but java could make more inroads into other areas of computing if it was more competitive in performance. More inroads means more developers, and that means better tools, which is what I yearn for.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    4. Re:No by TheWama · · Score: 4, Insightful

      How about the people who claim it's tedious and sprawling*?

      Simple example...

      Java: BufferedReader in = new BufferedReader(new FileReader("foo.in"));
      Python: in = open('foo.in')
      Ruby: in = File.open('foo.in')
      C++: ifstream in; in.open("foo.in");

      To be fair, I'm no Java expert, but in my experience with it, I'd have to be masochistic to look at it all day...

    5. Re:No by Anonymous Coward · · Score: 2, Funny

      Oh please, no one would do that in Java. You need to have control of the character encoding. A real example would be:

      import java.io.BufferedReader;
      import java.io.FileInputStream;
      import java.io.IOException;
      import java.io.InputStreamReader;
      import java.io.Reader;
       
      ... and later ...

      try { Reader in = new BufferedReader(new InputStreamReader(new FileInputStream("input.file"), "utf8")); } catch (IOException ioe) { /* handle this? */ }

      See - nice and terse.

      (Of course if you think that's bad, you should see how many wrapped objects Swing uses!)

    6. Re:No by iabervon · · Score: 4, Interesting

      I'm not sure if you're complaining about development of the language and standard library API, or development of Sun's implementation. The language evolves about as fast as is prudent, because they're committed to having the language not have badly-designed features that need to either be incompatibly dropped or painfully maintained. So Java gets features essentially as soon as C++ has made all the mistakes related to those features.

      On the other hand, Sun's Java compiler has always had broken dependancy tracking (at least since I started using it heavily in 1999). (If a build has an error, the set of output class files may be such that the next run of the compiler skips a source file which needs to be compiled; this is mainly that it can generate the public class without generating other classes in the same file.) I think it's likely that, if Sun does open source the JDK, they'll get fixes for a number of annoying flaws of that sort pretty quickly, and things that are clearly wrong but aren't considered worth working on will be improved substantially.

      Of course, there's essentially no chance that they'll relax their grip on the language standard, and they probably shouldn't, unless they turn it over to a standards body due to no longer being able to employ good language designers.

    7. Re:No by Anonymous Coward · · Score: 5, Funny

      The next time I look at another configured by altering it's code, hard tied to MySQL, non-tiered POS LAMP application, I'm going to cry.

      Of course, any equivalent app in Java would have more lines of opaque XML configuration than the "POS LAMP application" has code. It will also be slower, eat several times as much memory, and depend on specific versions of two dozen frameworks.

      The Rails version, OTOH, would be about 4 lines long and deployed before the Java guys managed to fire up their Eclipse bloatware. It would, however, be about the same speed as the Java app.

      The Lisp version would never fail, would have source code in the form of a haiku, could tell the future and control the weather. It will never be written because all those parentheses look funny.

    8. Re:No by el_womble · · Score: 2, Informative

      But that brings in the biggest problem with Java, when to use it. I completely agree with you that Java, for small apps, is a nightmare. Compare getting a single JSP running under Tomcat 5.0 to getting an rhtml page running in Ruby on Rails, or a PHP page with mod_php.

      The problem is worse with medium scale apps because Java offers something most frameworks don't: choice. Do you use Spring, Hibernate, JSF/EJB3, JSP/EJB2, Struts or a mixture of all of the above (shudder). Thats one man month gone already and you haven't even written a prototype. This makes finding your team hard too, as even if you are Sun Certified, each framework is a language in itself with its own quirks and thats before you get inhouse arguments over which patterns you are going to use and where. Thats before we even start to talk about writing the same code three times (interface(s), bean, XML)

      I think Java has lost the small to medium enterprise battle, but then it never really wanted to win those battles. XDoclet and hibernate take some of the hardwork out of Java programming, but the battle isn't with the frameworks so much as the language itself. Compared to C/C++ Java might look light, but compared to Ruby/Python/PHP its nightmare of repitition and bordom. Arguments about speed of execution are as relevent with Java/Ruby(et al) as they were with Java/C and C/Assembler. Thats not to say that Java isn't faster than modern scripting languages (although just as in Java vs. C that is debateable), its just that the time to support and build a scripting language is so much less that the additional hardware is cheap in comparision.

      If you find yourself writting a Java webapp for a project whose volumetrics don't mean that you need to be running on at least 3 Sun Servers (or equivalent), then you're almost certainly using the wrong tool, and even if you are the chances are that Ruby on Rails is still probably worth a look.

      --
      Scared of flying, pointy things snce 1979!
    9. Re:No by Cederic · · Score: 5, Insightful


      Sorry, but when I'm dealing with code written offshore by developers of mixed ability in a system integrating my mainframe to my fulfilment systems with customer web access, online payments, content management and back office consolidation thrown in then I want a language that's immediately readable.

      Perl is exceedingly brief to write. It's also very difficult to read.
      PHP/Python are better, but most code I see is frankly horrible.

      With Java the APIs and libraries - even third party, even open source - have descriptive names. They make sense. You can figure out what's going on from the method and classnames, without having to go and read them.

      This makes unfamiliar code easier to read. I've done Delphi/C/C++/perl/PHP programming, and none of them have as easy to read code as Java. I value that a lot.

      That you have to type an extra 32 characters to open a file? Good! Hell, you're not typing enough already - 'in' is a bad name for a variable. How about making it descriptive, tell the reader what you're reading.

      Modern IDEs do most of the typing for you. The clarity of the code that's written is more important than the extra two seconds you need to write it.

    10. Re:No by shish · · Score: 5, Insightful
      Why do none of your other language examples have an explicit buffer layer? You should add that, then see what the result is :P People in other languages have become used to reading chunks of a file into a buffer then parsing a bit, then reading a new chunk -- java people can just read what they want, when they want; IMHO adding a bufferedreader is a small price to pay to get rid of all the manual buffering~

      While you're at it, make it read objects from a gzip compressed network stream:

      new ObjectReader(new GZipReader(new SocketReader(new Socket("1.2.3.4", 42))));

      (I'd really like someone to demonstrate this in other languages; having started with java and moved to C, things like gzip stream reading and network access seem like such unnecessary pains in the ass that I've never bothered to learn them properly...)

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    11. Re:No by jrumney · · Score: 2, Interesting
      Does SWT address this.

      From the accounts I've read, SWT addresses the artifacts of Swing and AWT by making applications work really well on Windows, and really badly elsewhere. It targets the features of the lowest common denominator platform, instead of targeting the lowest common denominator features of all platforms like AWT does. Swing is better if you use a recent JVM with all the performance bugs fixed, and use the look and feel package that matches your platform.

    12. Re:No by joshv · · Score: 2, Funny

      "especially being able to run an app in Swedish while still being able to input Japanese"

      Well, in that case, I have to agree, for most people then, Java will be entirely unusable. Why just yesterday I was attempting to use a Russian keyboard, on a middle eastern version of Windows, running a Hebrew language Java application, and it just wouldn't allow me to input Chinese. Useless.

    13. Re:No by Falkkin · · Score: 2, Informative

      Some quick examples in Python (not fully tested, but this is the basic idea):

      bufferedFile = open("foo.txt", buffering=True) # or specify an integer if you want to manually set the buffer size

      sock = socket.socket() # then set it up
      objectReader = pickle.Unpickler(gzip.GzipFile(fileobj=sock))
      obj1 = objectReader.load()
      obj2 = objectReader.load() ...

      I will admit that setting up the socket in Python follows a painful, C-like method (bind(), connect(), etc.); however, for any real networking application, you'd probably be using the Twisted library anyways, which does a whole lot more.

    14. Re:No by mrroach · · Score: 2, Informative
      In python, the thing that is usually done is for libraries to operate on "file-like" objects, meaning objects that implement some useful subset of the methods of the built in "file" object.

      As an example, the GzipFile object's constructor doc says:
      """The new class instance is based on fileobj, which can be a regular
                    file, a StringIO object, or any other object which simulates a file."""


      And the socket object's makefile() method documentation says this:
      """Return a regular file object corresponding to the socket."""


      So we should be able to create a socket and do

      GzipFile(fileobj=s.makefile('r')).read()

      However, the python GzipFile implementation seems to want to be able to seek within the file object, but the object returned by socket.makefile() does not have a tell() method. The easy solution is to fix GzipFile so that it doesn't need to seek, the real solution probably won't happen till Python3000 brings the interface magic to everything... (coming RSN)

      That said, in case someone wants to know a way to stream zlib data (the compression method used by zip and gzip):
      s = socket()
      s.connect((hostname, port))
      decomp = zlib.decompressobj()
      def recv():
          return decomp.decompress(s.recv(1024))
      then run recv() until it runs out of data

      You could actually do the same with gzip data, you'd just have to know the magic number of gzip header bits to skip before you start decompressing. The nice thing with the Java code you list above, of course, is that it's already implemented for you.

      -Mark
  5. might finally be willing to try it! by Xtifr · · Score: 2, Insightful

    > Would this move Java up the desirability scale in your eyes?

    It would certainly bring it across the threshold to something I might be willing to install on my machine. I'm not sure I'd actually be interested in using it for anything, but at least it would no longer be in the "completely unacceptable" column.

    Of course, I'd probably wait till it was "apt-get"able. But I suspect that an actually-Free Java(tm) wouldn't have to wait long to find a Debian packager.

  6. Alternate VMs by Flounder · · Score: 3, Insightful
    Could an open source be faster, more stable, and have better resource management than the Sun VM?

    Certainly couldn't do worse.

    --

    No boom today. Boom tomorrow. There's always a boom tomorrow. - Cmdr. Susan Ivanova

    1. Re:Alternate VMs by ghakko · · Score: 3, Informative

      gcj (the GNU Java compiler) allows Java programs and bytecode to be compiled into native code. It can even generate statically-linked executables which do not require a runtime. These executables tend to start up much more quickly.

      Sun, on the other hand, does not allow anything of the sort with their own Java stack and has held off on open-sourcing because it sees its Java runtime environment as a beachhead through which it can colonize your system (especially on Windows, where it comes bundled with all sorts of seemingly-unrelated stuff, like browser toolbars). Allowing third parties to ship stand-alone executables would undermine this.

      This is probably to the long-term detriment of the Java platform because the runtime environment is now large and unwieldy enough to really complicate app deployment.

      I believe Sun intentionally obfuscates the issue by pointing out that native code is not portable, is somewhat more fragile (because it is not insulated from system dependencies by a VM) and does not necessarily perform better than bytecode in a VM with an aggressive JIT. All these are true, but is besides the point.

    2. Re:Alternate VMs by Cederic · · Score: 2, Interesting


      Allow me to translate:

      "I was once writing a serach engine in a language I didn't know how to use, and it took a gig of RAM to do something stupid that I told it to do"

      Please, don't blame the language for your incompetence. I have this horrible feeling that the Flyweight pattern would have saved you much grief.

      I haven't checked, so I could accept that Treemap is suboptimal for what you were trying to use it for. There's nothing that says you have to use it.

      Disclaimer: I have in my possession (propriety commercial) code for a search engine that searches across over a gig of data. It takes up about 20MB of ram more than the data takes on disk in a flat file. It was written in a couple of hours.

      Further disclaimer: I didn't write it. Although I did suggest a performance optimisation. It was returning results in under 10ms before the optimisation.

    3. Re:Alternate VMs by penguin-collective · · Score: 2, Informative

      Of course, you can write efficient code in Java if you're more careful than in other languages and don't use their library for anything that is performance critical. But that kind of defeats the purpose of using Java in the first place.

  7. Re:If they do, it will all depend upon the license by SoloFlyer2 · · Score: 5, Informative

    I currently avoid Java like the plauge, my reasons are the same reasons that java isnt included in debian... http://www.debian.org/doc/manuals/debian-java-faq/ ch5.html#s-license-concerns if they address those license concers i would be much happier...

    --
    "I reject your reality, and substitute my own" - Adam Savage
  8. Save Apache some time ... by SickLittleMonkey · · Score: 5, Insightful

    ... and just do it.

    WINE did it for Win32 and Mono did it for .NET, so Java *will* be open source some day anyway. Sun needs to get at least J2SE out there before .NET runs on every electronic device available.

    Now that Sharp's Zaurus has dropped Java, .NET is looking like the only alternative for managed coding on handheld platforms. (Cellphones are not yet good PDAs, ok?)

    SLM

    --
    main() {1;} // zen app
  9. Bad idea by cpuh0g · · Score: 5, Insightful
    Why do people just assume that saying the magic words "open source" will automatically improve a particular piece of software? Rarely do the most vocal proponents of "open sourcing" something actually get involved and start contributing to the codebase. It's all about religion for the most part, unfortunately.

    I still fail to see the benefits of "open sourcing" Java. How will it be improved? It's not as if the engineers at Sun are stupid and don't know how to engineer enterprise software. Don't you think Sun has heard that same complaint from some major league/big $$$$$ customers and done everything they could to improve said performance?

    Even if they *do* open it up, Im sure the slashdot community will still hate them because they don't use a GPL variant license. Its a lose-lose situation for Sun, I don't get why they would even consider it. Is there a business case that will generate a 9-figure revenue jump from giving away the source for Java? I don't see it, but Im sure someone around here will happily clue me in.

    1. Re:Bad idea by goldsounds · · Score: 5, Insightful
      Rarely do the most vocal proponents of "open sourcing" something actually get involved and start contributing to the codebase. It's all about religion for the most part, unfortunately.

      Rarely do the most vocal critics of "open sourcing" something actually understand the rationale behind free software, which is NOT to have the best code, NOT to have the most secure code, NOT to ship a product the fastest, NOT to contribute to the code, NOT to get something for free, or even to become the "commodity" implementation of a specification.

      The best reason to "open source" something is purely and simply the freedom to access the code behind the software you are running; the freedom to change, or port to another platform, the software that you purchased or downloaded. This is the original philosophy of the Free Software Foundation, and the GNU project, who were collectively the inspiration for the "open source" movement.

      So if you're wondering why anything less than a GPL license is unsatisfactory to the hairy, unwashed free-software factinista, why don't YOU look up the facts and get a clue about the software freedoms that may, one day, mean that your descendants can read e-books, watch movies and examine the collected creative output of humanity unencumbered by the imposed obscurity of closed-source software, DRM and other impositions on our freedom.

      Yes, this is about religion. It's about an idealogical divide between people who would rather have free-as-in-beer convenient software, rather than free-as-in-freedom software that preserves your rights. Frankly, your arrogant pragmatism nauseates me.

    2. Re:Bad idea by dubl-u · · Score: 4, Interesting

      I still fail to see the benefits of "open sourcing" Java. How will it be improved? It's not as if the engineers at Sun are stupid and don't know how to engineer enterprise software.

      Honestly, that's part of the problem.

      Enterprise developers are used to a very particular envelope. That involves putting up with a lot of large-company bullshit and unfriendly tools. People in other environments have different needs that are poorly served by Java. And actually enterprise people have those needs too; they're just used to suffering.

      Take all of the C#-inspired improvements in Java 1.5, for example. Many of them are about programmer convenience and improved expressiveness, neither of which mattered much until C# was a threat. Or consider EJB 3.0. EJB sucked for years until Hibernate, an open-source project, came along and beat the snot out of it. EJB 3.0 is basically a straight import of Hibernate.

      Or take Ruby on Rails: you can't write that in Java. Why? My theory is that in large companies, they'll let you go away for three months and build infrastructure. Plus, neither Sun nor an enterprise architecture group trusts programmers with the kind of heavy wizardry that Rails uses to make things happen. So again, Sun gets its ass kicked by an open-source project.

      If they really open it up, perhaps Sun can harness some of that power. But I'd bet they won't do it properly; Java reeks of "cathedral" thinking, and that papa-knows-best mentality is hard to shake.

    3. Re:Bad idea by Brandybuck · · Score: 2, Insightful

      As a FreeBSD user, I can see a huge advantage to open sourcing it. Until a couple of weeks ago, it was ILLEGAL to distribute a FreeBSD binary of Java. Before then it was necessary to get an register at Sun, download the source, and build it. Since building Java requires Java, it also meant one had to temporarily use a Linux Java to bootstrap a native Java. I don't know if you've ever built Java, but it takes a DAMN LONG TIME!

      But now there is *ONE* version of Java approved for *ONE* version of FreeBSD. Sigh.

      --
      Don't blame me, I didn't vote for either of them!
    4. Re:Bad idea by goldsounds · · Score: 2, Insightful
      We understand the rational [sic] behind open source software. We just realize that not all of the software world needs to be (or indeed should be) open sourced.

      Absolutely. Nothing needs to be open-sourced, made free, at all, ever. There is no need for software freedom. It's just highly desirable, in much the same way as freedom of the press, the freedom to own property, the freedom to tear apart your car and turn it into a battlemech, the freedom to form a political party or the freedom to move about constant surveillance. Now, nobody is asking for legislation to require software freedom - despite attempts my major software and media players to legislate in the other direction. We are simply asking people to make a choice, instead of blindly accepting closed-source software as the most pragmatic solution.

      as far as your nausea at us pragmatists, without us, nothing would ever get done. Tell me - how's HURD coming along?

      Wow - zing. Ouch. You sure put me in my box. How's IIS coming along? How's Windows Vista coming along? How's IE coming along? To be honest, even if no free software project had ever been completed, ever, I would still be a free software advocate. People didn't found the free software movement because they'd discovered some kind of development-methodology magic bullet. They did it because they wanted to ensure that the users of software had more freedom, more choice, with the code that ran on their computers. And they decided to implement that vision whether or not it made software development any easier or more economically viable.

      Did you use MSN circa 1995? Before Microsoft was forced to embrace the web because open protocols running largely on free-software platforms threatened their dominance? It was a dull, closed, unimaginative world where you had to pay to play and everything went through Microsoft as the gatekeeper. Whenever I try to imagine a world without free software, that's what I imagine. You're welcome to it.

    5. Re:Bad idea by dubl-u · · Score: 4, Interesting

      Gets its ass kicked? I don't see many people moving from Java to Ruby. From Perl, Python, and PHP, people are switching to Ruby in hordes. But from Java? A trickle, if anything.

      You are missing my point. I am saying the enterprise approach to things only applies to a selection of software projects. Sun has ignored the ease-of-use and low-barrier-to-entry criteria for years and years. This means that small projects correctly don't use Java because it's not economical. They uses PHP, Rails, and the like.

      But large projects often start as small projects, so Sun is, presumably accidentally, driving a lot of users away from Java. There is no good reason for this; the world wanted Rails, and Sun missed the boat. When I look at the Alexa Global 100, none of the up-and-comers I recognize seem to be using Java. I know that Craigslist, MySpace, and Flickr are built on those non-enterprise technologies you disdain; in a few years I'd bet will see some Ruby on Rails entries, but none for, say, Java Server Faces or Struts.

      Enterprise developers are, by nature, unlikely to use Rails yet because they are relatively conservative. Java is, in many ways, the new COBOL. But Rails, which used Ruby's greater power to dramatically increase ease of use, now has created a substantial user base for Ruby.

      And unlike Perl and PHP, Ruby has the potential to be an enterprise-scale language. It's a much better OO language than Java in many ways. With a few improvements, some supporting tools, and another five years, you will see Ruby invading enterprise shops if Sun doesn't counter effectively.

    6. Re:Bad idea by dubl-u · · Score: 4, Insightful

      You can't write Ruby on Rails in Java? Oh. Best tell these guys: https://trails.dev.java.net/ Enterprise developers deal with inadequacies in Java by doing what everyone else does: Writing their way around it. This is where struts, hibernate, ant, junit came from.

      I'm sure the Trails guys will be the first to admit that Trails (like peers RIFE, Sails, and Stripes) is not as simple as Rails is. We Java developers are used to looking past the 30 lines of getter/setter boilerplate and other mysterious Java incantations. But that's not true for a lot of devs.

      Both Struts and Hibernate prove my point in different ways. Struts gets around Java's limitations with reams of XML, a cure frequently worse than the disease. Hibernate is closer to the spirit of RoR, but that's not really Java either; they have to do heavy wizardry with bytecode manipulation and dynamic subclassing because Java doesn't give them the necessary power. And note that Hibernate came from outside Sun. Sun's attempt at the same the same thing was EJB, which has been deservedly, if belatedly, shot in the head.

      As a senior technical person in a large enterprise I too seek the holy grail of letting business people enter their business processes into a pretty front-end and getting a fully featured website with full supply chain integration automatically generated.

      Actually, that's not what I seek at all. I believe that software development is inherently complex; you can't ever automate the thinking away. What you can do is give the developer tools to aid their productivity, to make simple things easy and dangerous things hard. Let them focus their brainpower on the things that are actually worthy tasks.

      For a data driven system, it's great. For a complex system integrating with multiple other systems, it's no easier to use.

      Exactly. At the low end, it's easier; at the high end, it's the same (or perhaps a little worse). But what Sun is missing is the idea that development need not always be hard. Pehaps they'll learn that from Hibernate, which comes from an attitude very like RoR. If not, I hope they learn it from Rails.

      And because it does so much magic under the skin, if that magic doesn't meet your needs, you struggle more to change it.

      I agree completely. This is where I'm waiting to see how the RoR and Ruby communities mature. They've got the entry-level system taken care of, but can they provide a path to complex systems without the kinds of complexity cliffs that you see amateurs using Access or VB run smack into? I think that Ruby the language has horsepower that other easy-to-use tools don't, but we'll see if they can turn that potential into actual results.

    7. Re:Bad idea by killjoe · · Score: 3, Informative

      "very much see the merit of keeping it closed. I agree that keeping it closed does prevent forking, which would be a bad thing for Java (it's a bad thing for most software projects). I merely suggest that the benefits of opening it will outweight the risks. "

      Microsoft already forked java and called it C#. Now C# is evolving faster then Java and is making serious inroads into the java development market. Furthermore there are at least two open source implementations of java. So there are three forks right there.

      Being closed source has not prevented anybody from forking java. Whats more being open sourced has not caused python, ruby, php, perl, ocaml, or haskell to fork.

      I don't know where people get this meme from really. It makes no sense at all.

      --
      evil is as evil does
    8. Re:Bad idea by killjoe · · Score: 3, Insightful

      "Tough shit. Want a free Java? Write one yourself. Want Sun to give you one? Explain to them in their terms why they should."

      Because open source languages such as php, perl, python, ruby and C# are eating into your market share every day. People have already abandoned java for most web applications and it never even got off the ground on the desktop.

      Finally Sun does not make any money off of java. They have said so themselves.

      --
      evil is as evil does
  10. all the things java was supposed to be great for.. by vacorama · · Score: 3, Interesting

    all the things java was supposed to be great for, all the portability, consumer gadgets, smart coffee machines, etc. there's where Sun could really benefit most from open sourcing. There just isn't that much of a reason to use it on the net anymore, unless you work at a financial institution, the technology at large is just moving too slow. But when hobbyists can easily adopt java to connect the things around the house, that will be a big push forward for everyone. and open sourcing java only speeds up that barrier that keeps most java programmers working on desktops and servers...

  11. Are you kidding me? by Anonymous Coward · · Score: 5, Funny

    Open sourcing Java? Are you kidding me? Chaos would reign. Every month new features would crop up and we have to keep learning and learning and learning. Look at Ruby on Rails, new features every couple of days. Nobody can keep up.

    No no no. Let Sun handle Java.

    1. Re:Are you kidding me? by welshie · · Score: 2, Insightful

      Like Sun do with the various flavours of the JDK.

      I have on my machine at least four versions of Sun's Java runtime. I need at least four versions to run the various Java applications that I need. This is because Sun keep deprecating and eventually breaking API calls that were previously in favour.

      Some will only run on 1.1.3
      Some will only run on 1.3.1
      Some will only run on 1.3.2
      Some will only run on 1.5

      Write once, run anywhere, yeah right.

  12. same here by r00t · · Score: 2, Insightful

    Today, as far as I'm concerned, Java is:

    1. gcj (the gcc that does Java-to-JVM and JVM-to-native)
    2. GNU classpath
    3. Kaffe?

    I've never seen it do anything, either in a browser or in OpenOffice. Oh well.

    (not that language which overloads "+" for string+number is sane; that ought to be a compile error)

  13. Make sure 'P' Languages run on JVM.....huh? by ip_freely_2000 · · Score: 3, Interesting

    "One commentator said, "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java."

    Explain that to comment to me, please. It makes no sense.

    1. Re:Make sure 'P' Languages run on JVM.....huh? by eegreg · · Score: 2, Informative

      The P's and R (Ruby) are ran by an interpreter, which essentially interprets the text into machine language. Java programs are first compiled into bytecode that is then interpreted by their JVM. This compilation step gives a big performance increase, and is the biggest reason why Java is faster than P's and R. If you could compile P's and R into Java bytecode, you could run the finished product on the JVM with great performance increases. Or you can get the benefit of mixing and matching the different languages (mostly you could use Java's libraires with P's and R). I know there is a Ruby project (JRuby) which is actually already has the ability to do this for most of Ruby's code, although it has not been optimized yet, so right now it is more a way to program in Ruby with Java libraries than a way to speed up a Ruby program.

    2. Re:Make sure 'P' Languages run on JVM.....huh? by the_womble · · Score: 2, Insightful

      I assume it means that Sun is better off persuading language developers to run the "P" of the LAMP stack on the JVM (instead of their own byte-code interpreters), growing with LAMP rather than competing head-on with it and losing market share to it.

      If Sun is to do that, they should do it before Parrot and the language implementations for it are finished - so that gives them plenty of time.

      There are a already lot language implementations that already target the JVM, Sun would not lose by throwing a bit of money at OSS projects that might improve them and add a few more.

    3. Re:Make sure 'P' Languages run on JVM.....huh? by jadavis · · Score: 2, Insightful

      The P's and R (Ruby) are ran by an interpreter, which essentially interprets the text into machine language.

      That comment is misleading. The text is never translated to machine code. The interpreter reads the code and the interpreter does the work according to the rules of the language. Java takes an intermediate step and translates the code to bytecode, which can be more easily interpreted. However, so can python.

      Also, your performance analysis is lacking. Code size is a big factor here. A perl program may, in a few short lines of code, accomplish something that would take a lot more java code. If you have a complex text processing program, perl may well be much faster. That's because the few short lines of perl code call a lot of highly optimized C text processing routines. The java code may do more of the work in Java code.

      So, when evaluating the speed of a language, you should ask yourself: "Does parsing take a significant amount of time for my application?". Java may be fast, but if it doesn't call into the optimized C routines quickly enough, it's going to lose to players like perl, python, and ruby.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
  14. Re:This would help by pebs · · Score: 2, Informative

    It is very reasonable to run Java in Linux. It's harder/more painful/whatever in the BSDs but it works.

    FreeBSD now includes Sun Java as part of the distro, so it should be easy. Any Linux/BSD/etc distro can do this, it just requires spending the money to get it certified.

    --
    #!/
  15. Re:This would help by rm999 · · Score: 2, Insightful

    "Also memory are cheap and who cares"

    I do... I knew a few other people who may also ;)

    For a good comparison of what c is capable of compared to java, compare the speed and memory footprint of azureus with utorrent. They have very similar functinality and interface, but utorrent uses about 1/5 the memory!

  16. Re:If they do, it will all depend upon the license by BrainInAJar · · Score: 3, Insightful

    "Open Source" + "Sun Microsystems" almost certainly = "CDDL"

  17. Oh, geesh..... by deanj · · Score: 2, Insightful

    "Would this move Java up the desirability scale in your eyes?"

    Java isn't the answer for everything. Either is C, C++, Perl, Python, Ruby, or PHP. Each language has it's strengths and weaknesses.

    Nobody should be making decisions about what programming language to use based on whether it's open source or not. There are freely available implementations of those languages.

    If you've got your company, that's another story, do what you want. If you're basing decision on open source ideology instead of what's best for your employer, you're not doing your job.

    Is the employer always right? Hell no. But making decisions based on open source ideology instead of the right technical decision, you'll be no better than the managers "upstairs" you like to complain about.

  18. Why Should Sun Do This? by javacowboy · · Score: 5, Insightful

    Writing a fully compliant JVM takes a lot of time and a lot of effort, especially the class libraries. Sun spent years writing that code, and none of the JCP partners can be bothered re-writing it themselves.

    IBM, BEA, Oracle, etc pay Sun to license their source code so they can release compliant JVMs.

    So, it should be no suprised the the open *cough*IBM*cough* source community "demands" that Sun open source Java. Guess how much money a certain company would save getting free source code that they're paying to license now? In the same of "the open source community", they'd like nothing better than to get the #1 competitor's hard work for free so they stop having to pay them for it.

    The Java spec is open for anybody the re-implement, the source code is viewable by all, and the JDK is a free download. Sun has stated that they won't stand in the way of Apache Harmony or any other open source project that aims for a full open source implementation of the JVM/JDK spec.

    So what exactly is the problem?

    --
    This space left intentionally blank.
    1. Re:Why Should Sun Do This? by typical · · Score: 4, Interesting

      So what exactly is the problem?

      I don't have the Sun JDK on my Fedora system by default because of the Sun license.

      Meanwhile, Microsoft has been adopting ocaml as the next big language. For once, Microsoft is technically ahead of its competitors -- ocaml (which Microsoft did not produce) is very fast and safe, and from a technical standpoint is much more impressive than C# and Java.

      Plus, ocaml can be used as a pure functional language -- such languages eliminate almost all the reason to use (error-prone, difficult to guarantee correctness with) threads. Pure functional code is inherently parallelizable any time the compiler can say "hey, no data dependency here".

      Ocaml is picking up quite a bit of steam -- there are a slew of open-source libraries for it out there, it's the only safe language that I'm aware of that provides performance comparable to C and C++, yadda yadda yadda. The INRIA ocaml compiler is open source (though, annoyingly, QPL instead of GPL). The runtimes and the stuff that you stuff into your code is LGPL. I didn't realize that Microsoft was backing it and integrating ocaml support into Visual Studio until quite recently, though. There have been gtk+ bindings for ocaml for a while, but MS may actually be ahead of the OSS world in providing complete ocaml bindings.

      If you've never used ocaml before, wait until the first time you break in the debugger at a problem...and then step *backwards* to watch the problem occurring. It's simply delightful. :-) Plus, it's even more concise than C (which is saying quite a bit), is safe and garbage-collected, has very strict typing (I've heard one ML fan say "If your code compiles, it's correct" in only half-jest)...ah.

      What's particularly satisfying is that C was well-designed -- for a specific set of systems and circumstances that don't apply to most application software development today. Ocaml is the first language in a long time that I've seen where I can say not just that the language has good ideas, but that it is really well-designed. It's also a lot better-suited to application development than C is.

      Gah...sorry. Ocaml gives me the warm fuzzies.

      --
      Any program relying on (nontrivial) preemptive multithreading will be buggy.
    2. Re:Why Should Sun Do This? by synthespian · · Score: 2, Informative

      SML with MLton (optimizing compiler) fares better than Ocaml, according to this:

      http://shootout.alioth.debian.org/gp4/ml.php
      http://shootout.alioth.debian.org/gp4/ocaml.php

      Two SML implementations are SML/NJ, MoscowML.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  19. Re:This would help by WebMink · · Score: 5, Informative
    it just requires spending the money to get it certified.

    Actually, FreeBSD were given a license at no cost by Sun, and any not-for-profit organisation with a need for access to a Sun-maintained compliance test kit can get it at no charge. So it's really just a matter of having the motivation to ask.

  20. "Sun should endorse PHP" by oSand · · Score: 5, Funny

    Yeah, because what the world needs is more php.

  21. Who cares? by jmorris42 · · Score: 2, Informative

    Really. At this point, who cares? If they did it at this late date it would speed up the process by a year or so at the cost of keeping Sun in the driver's seat. If they don't open their implementation GCJ will catch in a year or so and it will quickly become the reference implementation that everyone will track in server environments.

    Why do I say that? Because it is the one all non-Sun/Microsoft server environments (meaning Linux & *BSD) will be shipping. RedHat is already there. If you want a different Java you have to deal with the implications of having it co-exist with GCJ. Although they do use alternatives to make that managable, they ship the IBM JDK on their extras CD, not Sun's and the Sun packages almost certainly (haven't bothered to check a recent vintage) don't deal with that, their 'rpms' are brain damaged tarballs wrapped in a thin rpm wrapper.

    So it no longer matters what Sun does. Five years ago they could have turned around the fortunes of Java when it was under serious threats. Ten years ago OPening Java would have meant we wouldn't be dealing with .NET today. But that is history that could have been and wasn't, now Sun needs to just continue to quietly fade away.

    --
    Democrat delenda est
  22. Personally I don't want Java open-sourced by layer3switch · · Score: 5, Funny

    I fear, some smart ass Java programmer will fork off the Java OpenSource and give some crackpot name like "Javalava" or "JavaJ" or "JuJu Bean" or "Grande Capacino"

    I am scared...

    --
    "Don't let fools fool you. They are the clever ones."
  23. Re:This would help by Anonymous Coward · · Score: 2, Insightful

    You are failing to recognise the hidden costs here. Memory is cheap, paying a programmer is not.

  24. Re:Open Java by WebMink · · Score: 4, Informative
    Otherwise why would Apache have the Harmony project to recreate J2SE?

    Kaffe and GNU/Classpath are excellent, active projects with dedicated developers. Notably, GNU/Classpath has recently passed the 99% code coverage mark measured against the Java SE specification. Apache Harmony was started because Apache won't use code licensed under the GPL, not because of any technical defect in the work of the Kaffe and GNU/Classpath developers. Harmony is also making excellent progress and has a skilled and active community. Both are committed to making compatible implementations of Java, but licensed under the licenses their communities need.

  25. Mustang changes this by ashpool7 · · Score: 5, Informative

    The SCSL is going away in Java 1.6 in favor of some much more liberal licenses. I'll be able to compile and use it on my production FreeBSD server at work and not worry about being "tainted" as a programmer.

    http://www.internetnews.com/dev-news/article.php/3 437481

  26. PHP and Java is oil and water by benjymouse · · Score: 5, Interesting

    PHP is probably one of the best (worst) examples of what a language would look like if it was designed and developed incrementally in an open source community. It's hack upon hack upon hack. It's backward compatibility breaking changes is just about every point(!) release. Register_globals enyone? Magic quotes? Ambivalence towards types/objects - "type hinting". Arguably (and freely admitted by the designers) PHP is *not* a well designed language. It's a pragmatic ooops kind of language whose main advantage is a large (albeit somewhat amateurish) user base, and free availability. Java on the other hand - if anything - tends to be over-engineered. Swing is actually more flexible than even .NET Windows Forms (which was designed later). It's easier to combine widgets, e.g. put textboxes inside tree nodes, etc. Swing may be a little slow, but nothing Java has ever had that "hackish" feel to it. It's always well thought out. Same thing could be said about JSF, JDO and certainly EJB. Sun has always taken great care of minimizing BC breaking changes. Sun has always taken pride in being a little on the conservative side, i.e. only introduce well understood technologies. This has been received well by the enterprise developer community. PHP is nowhere near that yet. There's still tons of BC breaking changes in store for PHP developers when PHP finally will get namespaces, unicode support etc. To put it simple, the primary virtues of Java is nowhere to be found in PHP. And frankly, if PHP is the way a language looks like when it's designed by an open source community, open sourcing Java would possibly destroy it. A model like eclipse where it's formally open sourced but in reality still maintained by a single, competent organization might work, though.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    1. Re:PHP and Java is oil and water by dodobh · · Score: 3, Informative

      Better languages than the PHP disaster? Perl, Python, Ruby. They work _very_ well.

      --
      I can throw myself at the ground, and miss.
    2. Re:PHP and Java is oil and water by mikaelhg · · Score: 2, Informative

      Better languages than the PHP disaster? Perl, Python, Ruby. They work _very_ well.

      Of these languages, only Perl has working multithreading support. Python and Ruby both have hugely granular global interpreter locking, which makes multithreading impractical.

      What works well for a hobbyist doesn't necessary work well when professional adult programmers need to accomplish something reliably day in and day out.

  27. Amazon is not LAMP by XaXXon · · Score: 4, Informative

    Yared has long called for Sun to open Java, which, he said, is "great on the back end, but LAMP is great on the Web tier, as Google, Amazon, Yahoo, Flickr, MySpace and Friendster have shown.

    Amazon is not LAMP.

    1. Re:Amazon is not LAMP by iamdrscience · · Score: 5, Interesting
      Amazon is not LAMP.
      Quite right, they prefer COAL -- C, Oracle, Apache, Linux.
    2. Re:Amazon is not LAMP by XaXXon · · Score: 4, Funny

      Wow, that is remarkably accurate *AND* has a nice acronym.

      I'm very impressed.

      Next time there's an outage, we'll say we ran out of COAL :)

    3. Re:Amazon is not LAMP by alanlewis0 · · Score: 2, Informative

      MySpace is not LAMP either - they run a Microsoft stack and rely heavily on SQL Server. They spoke at the Microsoft MIX conference and were very complimentary of Microsoft. Check your facts, dude.

  28. Will it make the competion less desirable? by IsThisBl**dyNameUniq · · Score: 4, Insightful

    Two major development platforms are .Net and Java. One is fairly Open Standard but not open source - and gets demands for Open Source. The other is not even open standard yet people accept this. Maybe the real issue is people can imagine a world where Java is totally open but don't ever expect .Net to be so don't bother discussing it (The wonderful Mono efforts aside)

    1. Re:Will it make the competion less desirable? by popeyethesailor · · Score: 2, Informative
      don't ever expect .NET to be so don't bother discussing it(The wonderful Mono efforts aside)

      That's sad really, I wonder on what standards those "wonderful Mono efforts" are based on ? Yeah. There'll never be a open standard for .NET, never bother about open source implementations.

  29. Re:Overlords by WebMink · · Score: 3, Informative

    As the two ACs who have been modded out of view said, that particular drug already exists - Jython - and is already supported in Java IDEs like NetBeans (via Coyote) and Eclipse. It's been interesting to see all the old urban myths about the Java platform being slow, bloated, single language and so on doing the rounds again though, I'd almost forgotten about them...

  30. Re:This would help by XaXXon · · Score: 5, Insightful

    Please don't forget that utorrent requires Windows to run.

    uTorrent is NOT self-contained. It requires the Windows API to run. This part of its footprint is not shown when you look at its memory usage, but that first 256MB of RAM that windows uses is the reason uTorrent looks so small.

  31. They should not open source it. by Anonymous Coward · · Score: 3, Insightful

    I am much happier with Sun's Java than most open source projects out there. It's very high quality. I know that I may offend some people, but I think it's higher quality than Linux (as an OS, not kernel). It's my opinion though. Sun managed to keep it standard is admirable. I think Sun also deserve to make money/own the property it created. Why not develop open source version of it instead of asking Sun to open source it? One answer I think is that Sun does not have enough resource to fix bug or bring out features quicker for something as large as Java. This is a good argument. I think it could be addressed differently than Open sourcing it. For example, manage the development better. Provide better incentive for users to submit bug fixes. Promote Java support service so that critical bugs a company needs to be fixed is fixed quicker (it's there, but maynot be promoted enough). I develop Java enough to know that it's very hard to have a perfect tool to test Java standard. For example, there's no clear spec for Gridbaglayout. What you see isn't enough to implement an exact replacement for what Java has. This is just a simple example to show that stardard is hard to make, hard to be changed quickly.

    This brings another point about Java standard. I remember JSF has many bugs that it tooks months to years to be fixed because the standard was broken. I think Sun needs to be much quicker than now to address these issue. These big problem should be fixed in a couple of weeks, or couple of months (2). Most people don't wait for a technology for a year or two to adopt it. They use alternative tech. This is usually a one way street and Sun will loose those customers.

  32. Re:If they do, it will all depend upon the license by dubl-u · · Score: 2, Insightful

    What changes and how would depend upon which license was chosen.

    And equally on what community process is chosen.

    I regularly look at the source for some Java library class and cover my face in horror. I'm sure I'd submit a patch a week just in code cleanup and adding unit tests -- if I thought they would ever accept anything. An open license is only the start.

  33. Re:This would help by Billly+Gates · · Score: 2, Insightful

    mod up!

    Windows is loaded at startup as well as several services. Java initializes and caches its 100,000 methods in the JVM when a java applet starts which gives the appearance that its slow. However if you start a second app in java you will notice it will take ALOT LESS ram than if you just ran the second app seperately.

    This is because of the loading and caching of the JVM and most of the core dlls that windows apps use are loaded at startup. Its kind of an unfair comparison.

  34. Re:Open Java by pchan- · · Score: 3, Informative

    I'm saying there is no time to lose. Newton is gone, Palm has hit the wall ... .NET mobile will be the only binary compatible handheld platform unless Sun act now.

    As an embedded systems developer who has recently been dealing with Windows CE, let me tell you that Microsoft is pushing .NET for embedded devices, and they're pushing it *hard*. The first words out of the mouth of every new MS guy I meet are "are you using managed code?". Every single presentation I've seen, block diagrams, feature lists, tools descriptions, every one has a block dedicated to managed code, c-sharp, and the portable dotnet framework right next to native code. It's pretty obvious that there was a directive from high on up of what to do and how to do it (I've never seen Microsoft so organized about something before). On the desktop side, they expect to kill Java by pushing out the dotnet framework with the next version of Windows, so things are currently pretty relaxed. On the server side, they are working on strong integration into all of their server products and all of their development tools (vb and asp replaced by dotnet versions). On the embedded side, they are pushing dotnet like it's the cure for every development issue ever.

    The Java market is fragmenting. All these groups are taking it in different directions. The Apache people are re-implementing it, the GNU people won't deal with Sun Java, distribution is a mess. Microsoft offers a consistant product, a consistant platform, and a hard sell. Java is losing ground on the server side. On the embedded side, Microsoft is determined to "fucking kill [java]", and they're not resting. It's not all doom and gloom, Java will be around for a while. But it wouldn't hurt if Sun got off their asses and removed the obstacles in the way of their allies in the war against dotnet.

  35. Re:This would help by Hooya · · Score: 4, Interesting

    you are correct. but whatever we saved using java to get the project started, we have already spent trying to figure out why, oh, why java croaks on OutOfMemoryException when we have more than 8G of ram most of which is not being used.

    on a more philosophical level, there is already an excellent VM that *can* use all the 8G and then some. it's called linux. using java to build apps because it's easy to program in is like using tonka trucks because those trucks are so much easier to handle than the real thing. after all, why pay commercial driver rates to drive a multi ton truck when you can get you own kids (for free) to 'drive' the tonka trucks.

    i learned java back around '95, '96 and was really excited about it then. but after having used it on some really large projects, i have been really really disappointed and came to the conclusion that the only real contribution of the JVM was a serious neutering to most modern advances in the OS.

    forget portable programming languages - use a portable OS - linux. and forget the V, use the M (tm).

    anyhow, Guy Steel was right. i am looking at lisp right now (mostly for emacs tho).

  36. What Java needs by Godji · · Score: 2, Interesting

    In decreasing order of importance:

    1) A free software license (GPL?) to allow for fast, active development, quick fixes of current problems, and license purity. Plus, imagine the boost if all those talented GCJ people put their efforts into the already rich Sun codebase!

    2) Constant references! Please! Java's encapsulation is about as secure as Internet Explorer. A harmless getter method for a private member variable allows you to replace that variable with anything of your choice, because you effectively get a pointer to the member. The only current solution is to copy everything in the getter, which is unacceptably awkward and slow. So much for design by contract.

    3) Sane memory requirements. Right now coding an inherently memory-intensive app in Java is very very difficult. I tried it once, and had to rewrite in C++ to get anywhere.

  37. Re:This would help by icebattle · · Score: 5, Informative
    "1. Restrictive licenses make it more difficult to reasonably deploy than any competing technology in a linux environment."

    Pretty meaningless comment, unless you can supply some examples. I've done consulting and development for a number of large, lawyer heavy organizations, and none of them had a problem deploying Java solutions on linux. None.

    "2. JVM is fat fat fat, it uses way more RAM than is reasonable."

    Sadly uninformed, probably due to severe lack of experience with large applications. Per example, a couple of years ago I worked in a team that bid on and developed an application that, in a nutshell, receives up to 20Megs per sec of market data, breaks it up into itty-bitty messages, and then makes it available to any number of subscribing clients. Call it a proxy, if you will. We developed the app in pure Java, using the new NIO functionality. We competed with another team who started out in C, moved to C++ midway through, and were barely in a position to go alplha when we were ready to deploy. The client, since they were paying and had a lot of anti-Java staff, insisted on waiting, even though the delivery date had long since passed. When they finally had something to show, the apps were launched on identical hardware, and allowed to run 24/7. Our app ran smoothly, uninterrupted (except for a blown network interface) for the duration of the test. The other team had to restart their app several times a day, resulting in unnacceptable outages. Their restart time was, likewise, poor. Their app required 2Gigs to run. Ours ran happily under a Gig.

    The client paid both teams for their efforts, then licensed our solution.

    So, my quesion then is, where's the fat?

  38. Re:This would help by TrekCycling · · Score: 4, Interesting

    All of this is terribly ironic to me. I've worked with Java for about 6 years now. It's considered the Enterprise Open Source solution (because admin types typically confuse open source with "free and runs on lots of platforms) usually. So it's either Java or Microsoft in every shop I've ever worked for. No PHP. No Ruby. And often Java is paired up with Linux, MySQL, etc. So I find it funny (although I understand the point, but it's still funny) that people consider Java to be so difficult because it's closed source. In every shop where Microsoft is the choice, the decision is usually made because the stack is predictable. It's predictable because Microsoft controls every aspect of it from the database to the app server to the language you use to code on it. So open sourcing Java would probably have the unintended consequence of giving Java a perception problem in the eyes of manager types. It would become risky on the same level as Linux and MySQL and so instead of being the safe, "adult" part of that crazy open source stack, it would just become one more piece of it. Albeit a powerful one, but it would probably push more people into the arms of Microsoft. Sorry, but that's been my experience, given what I've witnessed in the industry lately.

  39. Re:This would help by IntlHarvester · · Score: 4, Insightful

    Problem with this argument is that almost nobody runs Windows just to use uTorrent, while quite a lot of people run Java just for Azureus. The resources required for Windows are used by all applications (*including Java*), but most desktop users only infrequently use Java apps.

    --
    Business. Numbers. Money. People. Computer World.
  40. Re:This would help by k8to · · Score: 2, Insightful

    As for the second point, there _are_ other portable execution environments in the world, such as the python runtime, which do not have the same order of magnitude of memory fragmentation and very poor garbage collection that java tends to exhibit. Sun java has an amazing ability to lock hundreds of megabytes in core when very little is going on in the running application. It somehow manages to achieve nearly pathologically bad cases of memory use fragmentation and page faults to keep hundreds of megs allocated even under significant memory pressure.

    Even when writing the most boneheaded python code with extremely naive object creation strategies that end up hitting the VM ceiling, I never manage to lock more than a few tens of megabytes in real RAM. There are some types of applications which will tend to exhibit this type of pattern unavoidably, but the Sun JVM seems to maximize the potential for this poor condition.

    Many people point out that the cost goes down as you share the jvm across multiple applications. I have some reservations about the abandoning of memory space seperation between different servies, but practically speaking in many cases the intial hundred or hundred and fifty megs loss is simply too high to care about the much lower cost of the second java application. On a server where a box may be dedicated to a single task or set of tasks, throwing 2, 4, or more gigs at the problem may be totally reasonable. For ad-hoc tasks, desktop tasks, etc, it often a dealbreaker.

    --
    -josh
  41. Re:This would help by k8to · · Score: 3, Interesting

    I address question 1 elsewhere. There are legal barriers to convenient redistribution of the JVM.

    Your second comment is a nonsequitor. My point is the Sun JVM is extremely greedy in allocating memory. You relate a story about a C/C++ project going poorly. Whether or not Java is a superior language and deployment environment for some types of applications (an argument I do not contest) is irrelevant to the fact that the Sun JVM significantly more memory than an equivalent program in a variety of other languages. There are many causes contributing to this, from the java gui classes, to common java programming style, to the Sun JVM memory fragmentation behavior and garbage collector. None of them is "fundamental". You could write better java code; you could clean up the gui classes or write better ones. The Sun JVM could be fixed or improved to have better behavior. On second thought I don't really know if the garbage collector semantics have any fundamental flaws, although I suspect they do not. In practice, however, all these problems do exist, and contribute to relatively plain longrunning java programs balooning to many tens of megabytes when other similar technologies (for example smalltalk) do not have any problems of the sort.

    You may counter that java is nontheless a more practial virtual development environment than other available systems, a point I do not care to argue at this time. That is completely aside from the fact that the other comparable virtual execution evironments of comparable complexity do not suffer from nearly the same level of allocation bloat. Squeak for example executes a large virtual system complete with a wide variety of applications, runtime debugger and modifier, entire virtualized framebuffer, a comparably complex foundation library all within a few tens of megabytes, even when used over very long sessions. Java in similar situations will consume hundreds.

    --
    -josh
  42. Re:This would help by chthon · · Score: 5, Interesting

    I have the impression that the last couple of months I see more people on Slashdot mentioning Common Lisp as a replacement for Java.

  43. MySpace runs on ASP.NET 2.0 and IIS 6 now by I'm+Don+Giovanni · · Score: 3, Informative
    Actually, MySpace switched from Cold Fusion to ASP.NET 2.0 and IIS 6.
    Here is a blog by a Microsoft ASP.NET dev describing the details (it's an interesting read):
    http://weblogs.asp.net/scottgu/archive/2006/03/25/ 441074.aspx

    Note that some parts of MySpace still use .cfm extensions, but those are mapped to ASP.NET as well:
    "Some parts of the site like Browse are all .aspx extensions. As Jeff mentioned above, other parts of the site still have a .cfm extension, some of which is mapped to BlueDragon.Net -- which is an ASP.NET IHttpHandler that parses and can run ColdFusion syntax (but which is still running on ASP.NET). The backend cache servers are also all ASP.NET based."


    And just to add more proof (since I know that most here will be skeptical ;-)), here's an entry to the above cited blog from MySpace developer "Chris":
    "Hi everyone,
    I work on the MySpace C# codebase...
    To clarify, we wrote a custom configuration section that maps "fuseaction" URL parameters to ASPX extensions so that we'd maintain link integrity. The only place we aren't doing this is 'Browse' and certain other new features. Meanwhile, as Scott said the parts of the site that are running in ColdFusion are essentially doing so in ASP.NET 2.0 (via BlueDragon).
    Thanks for the mention, Scott. It's been an exciting time putting this together and I can't imagine pulling this off on another platform.
    Chris"
    --
    -- "I never gave these stories much credence." - HAL 9000
  44. go ahead, make java obsolete forever by Fuzuli · · Score: 3, Interesting

    Really, i mean it. At the moment, it's hard to find good developers who can leverage the advantages of java. What advantages i'm talking about? Let me explain. I am managing a team of developers (senior & junior) developing a large piece of software. Basicly it's a j2ee app, but with a simple desing, avoiding entity beans, using hibernate etc..
    what we have done for all the project has been following the specs. we did not do any tricks for windows or any other os. We did not do any tricks for any app server. And now, our solution is able to work on three major os's that we have targeted in the beginning, without even recompiling. we really wrote once, and we're running wherever we need.
    Against the more productive avarage .net developer, the cost of a longer development schedule is a hard thing to defend againgst the management. Please don't start the usual, java is more productive if you know how to do this or that. We usually can't find guys good enough for that. If you can, then it's good for you. Generally our developers are not much experienced or skilled, and this is again related to our budget. We have a certain amount of money, and we are unable to hire the super developers that can use java in a very productive way.
    this is our reality, and under these circumstances, the only way we can win against the ms shops doing the same job, is to use our platform independence. we can come up with zero licence versions of our software for small customers, using linux, jboss and postgresql, and it just works. the eliminated licence cost gives us many advantages, and this is how we are going to win. Other than that, there are many problems in real life, like customers falling in love with .net windows forms, ms office integration requests etc. agains the advantages of .net, we have the huge advantage of depending on specs, and providing better cost alternatives.
    so, go ahead, make java open source, and starting from the one man utility developer to IBM, let everyone change anything since they believe it is a better method of doing x,y,z... So 3 years from now, working on the new major version, my software will no longer be easily portable to other configs. It will be possible, but it will cost me much more than today. That cost my friends, will make us go down in the not so long run.
    Having a technology based on strict rules, has it's own advantages. in case of java, i believe these advantages far outweight the cons, but that's just me. However, i don't think my argument will be nonsense for many enterprise development projects.

  45. What ? Eclipse has no issues with languages at all by subStance · · Score: 2, Informative

    I run a dual English/Japanese Fedora AMD64 and x86 win32 system, and have never had any troubles with java and language input or display on any of them. Especially with Eclipse which I use probably 5-10 hours of every day. SCIM-Anthy is great, it very quickly learned and suggested the most commonly used kanji versions too, as windows does.

    I call bullshit - just because you don't know how to set up your machine properly doesn't mean java has language problems.

    --
    Servlet v2.4 container in a single 161KB jar file ? Try Winstone
  46. Re:This would help by asserted · · Score: 3, Informative
    Apparently not so.

    Quoting Deb Goodkin of FreeBSD Foundation (from here):

    We spent close to $35,000 for this release. It is hard to estimate the future costs of maintaining the Java releases since we expect to build updated distributions in response to all security advisories released by Sun.

    So, while the license itself might have been given gratis, this clearly shows that the process of obtaining it was cumbersome and costly, and the result is still a limited, version-dependent, binary-only distribution.
    Yes, Java is still evil. Changing license for something more liberal would certainly help much with adoption here.

  47. Re:This would help by Anonymous Coward · · Score: 2, Insightful

    So, my quesion then is, where's the fat?

    Lets follow the logic here. We take 2 different sets of programmers, 2 completely different sets of designs and implementations, and by the way, because they are implemented using 2 different languages, this proves what exactly? Does the fact your competitors changed languages half-way through the project not give you a clue that competence might be a determining factor here?

  48. Re:What ? Eclipse has no issues with languages at by JanneM · · Score: 3, Insightful

    I call bullshit - just because you don't know how to set up your machine properly doesn't mean java has language problems.

    Great for you; I never got it to work properly (Ubuntu and SCIM/Anthy). I first had to add fonts to some java-specific list to get it to show CJK at all. When I run the app with Swedish locale it refuses to let me input Japanese (it does not listen to the SCIM server).

    I'm sure I could get it working with enough effort - but after one frustrating evening I'm not going to bother. Java isn't alone out there; just about every Java app has good equivalents without the hassle (including the Kanji app I was trying to use). And I'm certainly not going to be using Java to develop anything knowing that potential users will have go through the same mess I do.

    I should not have to "set up my machine properly" - most users do not have the technical skills to do so. I should be able to select "java" in the package manager (or rather, select the app I'm actually interested in) and it should all work - but it doesn't.

    --
    Trust the Computer. The Computer is your friend.
  49. Re:This would help by LarsWestergren · · Score: 3, Informative

    2. JVM is fat fat fat, it uses way more RAM than is reasonable.

    1) You do know that tools such as top and ps report a lot more memory than is really used? This has been adressed in the upcoming Java 6, which will more accurately report the memory used, you will likely see a decrease of 25-55% reported memory use on Linux/Unix, and at least 11% of real memory used.
    2) You can use jvm startup parameters to limit memory usage and still get acceptable performance.

    --

    Being bitter is drinking poison and hoping someone else will die

  50. Re:This would help by ultranova · · Score: 2, Insightful

    you are correct. but whatever we saved using java to get the project started, we have already spent trying to figure out why, oh, why java croaks on OutOfMemoryException when we have more than 8G of ram most of which is not being used.

    Because you forgot to give the JVM a permission to use that memory (with the "-Xmx8G" parameter) ?-) I hate it when that happens...

    on a more philosophical level, there is already an excellent VM that *can* use all the 8G and then some. it's called linux.

    Linux is a virtual machine ?-o And here I've thought all this time that it is an operating system kernel.

    using java to build apps because it's easy to program in is like using tonka trucks because those trucks are so much easier to handle than the real thing. after all, why pay commercial driver rates to drive a multi ton truck when you can get you own kids (for free) to 'drive' the tonka trucks.

    More to the point, using Java (or any garbage-collected mandatory bounds-checking language with no way for the programmer to overflow the buffers no matter how hard he tries) is like using a seatbelt rather than just trusting the driver not to crash the thing.

    i learned java back around '95, '96 and was really excited about it then. but after having used it on some really large projects, i have been really really disappointed and came to the conclusion that the only real contribution of the JVM was a serious neutering to most modern advances in the OS.

    Such as ?

    --

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

  51. Re:If they do, it will all depend upon the license by houghi · · Score: 5, Interesting

    That is the reason that with SUSE you can decide yourself wether or not you use it or not. e.g. for the upcoming 10.1 version the CD1-5 are pure OSS. There is an additional CD6 that will hold the non-OSS stuff, like Opera and Java.

    That way SUSE lies the choice with the user, not with the distribution. If the user still decides to use it (and many will) they still have all the advantages as they have with the different other packages that are included with SUSE, including security updates.

    --
    Don't fight for your country, if your country does not fight for you.
  52. Re:This would help by IDontLinkMondays · · Score: 4, Informative

    Can't speak on the licensing, I'd say that the technology itself however is the complication in deployment. Java has a tremendous number of rough edges and that is was is the problem.

    Now, before I take a moment to rag on your ridiculous RAM comment, let me assure you that I hate Java from that ground up. I find it to be little more than a virus.

    JVM is thin thin thin. The fact is that most non-Sun implementations of the JVM are tight and small. In fact, from a performance perspective, Java is typically superior to compiled languages because of how it handles RAM. Before you blow me off, let me justify my comment. Thanks to the Java license and NDA agreements, I in fact can not say where I learned this information, but I have extensive experience in this topic since I was forced for extended periods to suffer the Java VM on embedded devices.

    Java is a relatively simplistic (though strangley complete to the point of OVER KILL!!!) architecture/language/etc... It provides a language matched to a virtual machine matched to a set of somewhat poorly written libraries.

    What makes Java superior to compiled languages is that it compensates for several key factors. First I'll refine my definition of a compiled language to clearly specify C/C++/Pascal/other non-garbage collected languages.

    1) Application Developers are not System Developers
    Using C++ as an example, most application developers use the standard implementation of new and delete. This is fine, but the first thing to keep in mind is that memory allocation for a C++ application that makes use of a lot of small objects tend to pay a huge performance price. C developers regularly shoot down the performance of C++ without realizing that it's the limitation in the C allocation routines.

    Object oriented programming is typically very heap intensive. In many cases, developers insist on iterating through strings and lists far too much. Students are even taught in the university that data structures should be used absolutely everywhere. Of course they are taught Big-O and Little-O, but unless you're actually implementing the data structure classes and types, very little importance is placed on performance of these classes.

    Strings are abused regularly since even though the allocation unit size of the heap allocator is limited to blocks of 16 bytes (for example), programmers will actually reallocate the buffer for a string to resize it from 8 to 9 bytes in length. By reallocating, I mean they will in fact allocate a new 9 byte string, then copy the original to the new buffer and delete the original buffer.

    Application developers pay very little attention to the actual internal mechanics of the classes and functions which they use. To a certain extent, I can forgive them since an application developer is expected to think differently than a system developer. When we depend on system developers to write applications, they're often extremely fast, but relatively unusable.

    So here's where Java shines, because of the garbage collection system and because of the relocatable memory architecture, memory is managed in such a way which decreases the cycles spent in allocation and deallocation of buffers. A well written JVM actually will actually either when necessary or when time is available compress the heap to maximize performance and minimize heap consumption.

    So although Java seems like a memory hog, it's actually not that bad given the number of allocations and deallocations being performed by the developers. Sadly, the extreme memory use you're talking about is related to the poor system level development skills of application developers stacked on the additional layer which abstracts even more from the developer therefore making it less practical for the developer to understand the internals of the system.

    2) System Developers make Terrible Applications
    A system developer is typically biased towards raw high level languages such as C (not C++) because their used to making use of the stack whereever po

  53. Re:This would help by Anonymous Coward · · Score: 5, Insightful

    Programmer time is much more expensive than processor time these days. Therefore, many current programming languages are optimised to save programmer time first. C and C++ were designed in a time when processor cycles were extremely expensive, and therefore are optimised to save time at runtime instead.

    As you have seen, java typically gets you results more quickly than C. In this case, since you simply took less time to get to your basic functionality, you could take more time to think about how to code more efficiently, and ended up actually writing faster code in the end.

    However, java is not the only modern programming language out there. People have designed several new languages in the past decade. It seems reasonable to assume that some of those people deliberately set out to improve on java. Compared to such languages, java might appear to be very inefficient.

    I'll leave it up to you to compare and decide. For instance, here's a comparison for web applications, done at JPL. (YMMV):

    http://oodt.jpl.nasa.gov/better-web-app.mov
  54. Re:If they do, it will all depend upon the license by FOSSguy · · Score: 3, Interesting
    > "Open Source" covers a LOT of licenses.

    Yes, you're right, it does cover a lot of licenses. In order to be allowed to use the trademarked term "Open Source" however, whatever license they choose must (a) comply with the Open Source Definition, and (b) be approved by the Open Source Initiative.

    Sure, not all Open Source licenses are the ducks guts to all people, but there's pretty much an assurance of no evil in there. Even microsoft knows that!

    --
    "Men will never be free until the last king is strangled with the entrails of the last priest." (Diderot)
  55. Re:This would help by LizardKing · · Score: 2, Interesting

    Half a SuSE installation? I haven't even got Linux compatibility compiled into my kernel.

    $ uname -a
    NetBSD tietokone.panews.press.net 3.0_STABLE NetBSD 3.0_STABLE (LAPTOP) #0: Fri Apr 14 22:31:45 BST 2006 root@tietokone.panews.press.net:/usr/src/sys/arch/ i386/compile/LAPTOP i386
    $ pkg_info jdk14
    Information for jdk14-1.4.2.8:

    Comment:
    Java Development Kit 1.4.2

    Requires:
    openmotif>=2.2.3
    xorg-libs>=6.9.0

    Description:
    This is Sun's Java[tm] Development Kit, version 1.4.2, made buildable
    and usable natively on *BSD/i386 by Greg Lewis and a host of others.

  56. Re:This would help by owlstead · · Score: 2, Insightful

    Azureus already uses SWT as underlying library, so this argument is a bit moot. SWT *is* using the underlying Windows functions for drawing. Nevertheless, Java will always use some more memory than a comparative (well written) C++ program, due to the class meta information that is included. You get a lot back in readability and in descriptive error messages, and several runtime advantages because of reflection (e.g. plugins). You need C# with .NET to get the same in a Windows only environment, and I wonder if such a program compares favourably.

  57. Re:Open Java by david.gilbert · · Score: 2, Informative
    Here are some activity stats for GNU Classpath:

    http://www.object-refinery.com/classpath/statcvs/

    Progress, over the last two years in particular, has been astonishing.

  58. Re:If they do, it will all depend upon the license by Bastard+of+Subhumani · · Score: 5, Funny
    If Sun were to GPL Java, it would be unstoppable.
    Java programs already run for ever.
    --
    Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.
  59. Re:This would help by shutdown+-p+now · · Score: 2, Insightful

    Who cares how many projects are written in it, if it works better for you and does the job?

  60. Re:If they do, it will all depend upon the license by CountBrass · · Score: 2, Insightful
    I diagree. Java is far to bloated and complicated. I've been using it since it first came out and I balk at the vast array of libraries you need to use or choose between to get anything done. I feel really sorry for anyone coming to it for the first time.

    Personally I use Ruby (on Rails) these days for web development: convention over configuration is, imo, a much more important advance in the art than object-orientation was.

    --
    Bad analogies are like waxing a monkey with a rainbow.
  61. Oh alright I will bite by SmallFurryCreature · · Score: 2, Interesting
    Where is the fat. Mmmm, well you bring us 1 tail of a contest. Lets assume it is real for a second and lets assume that the C/C++ team was competent.

    It don't sound like they were but still.

    Let me know point you to some of the most demanding applications in existence that push hardware to its limits.

    Yes, games.

    Now how many of the BIG titles that have your CPU and GPU groaning and gobble memory like it is candy are written in C/C++ vs Java?

    This is as fair as your story for showing wich is the superior language.

    The fucking fact is that it don't matter shit. I bet you could do the application you describe in perl as long as the person doing it is competent.

    For fun, look up code that checks wether an IP has a valid format. You get the weirdest examples. Some look really cumbersome but would translate to fast code while some of the smallest regex would choke you cpu like a java GUI (Sorry had to get a java jab in to keep my cool license)

    Frankly I think the fat is for a large part still there from the days of java applets that you got on your pentium with 32mb that took ages to load and then crash.

    Funny thing, you still get those. They still take ages to load and then crash.

    Java applets are offcourse not server side java BUT most people don't care. Reputation matters sadly enough.

    Don't expect sympathy however as long as every java programmer says PHP don't scale. We all got our prejudices.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  62. Re:If they do, it will all depend upon the license by afd8856 · · Score: 5, Insightful

    You may not realize, but "libraries are the new language". Seriousely, what good is a cool language if you have to reinvent the wheel everytime you want to have something like a report printer with print preview - a bit upset on python, with which I'm fighting right now to get something nice for a business app, I would really like something like jasper reports for python. Drawing on the DC with wx sucks for more then one form, and using reportlab to generate pdfs sucks as well. I've settled on doing a mono-platform hack, generating html with simpletal and calling its print preview dialog through ActiveX.

    --
    I'll do the stupid thing first and then you shy people follow...
  63. Re:This would help by novus+ordo · · Score: 2, Funny

    I don't know if it would replace Java, but it would definitely empty many cups of it.

    --
    "You're everywhere. You're omnivorous."
  64. Re:This would help by Pienjo · · Score: 2, Interesting

    You forgot to mention the fact that you *still* need the sun jdk to build the package, the fact that this is an 1.4 jdk, and you conveniently snipped the bit of the Description where it says that, really, "using it in a production environment is at your own risk".

    But that's all irrelevant - just like the fact that this is a pkgsrc-wip package, which is a more or less independant addition to the package set, and in practice means that you cannot use the quarterly stable branches - the fact still remains:

    ===> jdk14-1.4.2.8 is not available for NetBSD-3.99.18-x86_64

    Or anything else but -i386. Really: I want coffee with my toast! ;)

  65. Why I hate Java by Spikeorama · · Score: 2, Interesting

    Flame away if you will but every Java app I've used (on Windows) has been clunky, buggy, and hard to use. None of the standard keyboard shortcuts seem to work, the apps *always* seem to be sluggish, and to top it off, they look funny - they don't inherit any of the look and feel aspects of the desktop. Now some smart Java person will say all these problems are fixable but it seems to me that it takes more effort to put out a quality Java app then say, an MFC or other similar program. The lure of cross-platform portability is nice but not at the expense of usability.

    I'll stick to C++ and code in native development environments thank you.

  66. Re:If they do, it will all depend upon the license by LarsWestergren · · Score: 2, Insightful

    convention over configuration is, imo, a much more important advance in the art than object-orientation was.

    Convention over configuration is just another name for having sensible defaults, and nothing stops you from using that in Java. Indeed most Java frameworks have already added (or are working on) this.

    --

    Being bitter is drinking poison and hoping someone else will die

  67. Java's distribution policy does hurt it! by Builder · · Score: 3, Interesting

    Sun don't allow redistribution or bundling of java JREs except under certain specific conditions. This makes java as a language unattractive to many organisations when compared with .NET and can also hurt developers tendering for work.

    Lets take a hypothetical new company. So far, all they've done is bought Windows and installed their workstation and server population. Now they need an application to do Foo.

    Team A propose a solution based on .Net. For the company, this means a single set of negotiations, one licence to review (Team A's app licence) and only 2 support contact points (Microsoft and Team A).

    Team B propose a solution based on Java. Now the company would have to have their lawyers review 2 sets of licences as opposed to one (Team A and Sun), and their support contact points climbs to 3. It also increases overall administrative hassle, as Java has to be patched / updated outside of their OS / application lifecycle.

    Team B automatically look less attractive to the company because their hidden costs are much higher. If Sun just allowed Team B to bundle the JRE with their application, this would go away. Of course, then the different problem of every application trying to install Java comes up, but that can be got around by providing a 'JRE bundled' and 'No JRE' version of the products.

    If you think that companies won't bother to review Sun's licence before installing Java, you'd be wrong... I've consulted at 2 different places now where they had their lawyers review the GPL and Java's licence before allowing deployment of products licenced under those.

  68. Re:If they do, it will all depend upon the license by mrtrumbe · · Score: 3, Informative
    I can't help but notice that the vast majority of comments here seem to be focused on website development. What is this? 1998?

    Seriously, though, there are other problem domains out there. A lot of them, in fact. And even in web development, depending on the complexity and context of the solution, might require vast amounts of code that never interact with a GUI of any kind. When you evaluate these languages and platforms in context's outside of web development, Java starts to look far more robust and flexible.

    As another poster pointed out, where are the buffered readers for ruby/php? Sure File.open("name") might LOOK nice, but Java's addition of a buffer solves a common problem many programmers in the past needed to solve by hand. There are about a thousand of these examples where Java's framework is more complex than its ruby/php counterpart, but for good reason: it adds much needed functionality for the enterprise developer.

    Taft

  69. Re:If they do, it will all depend upon the license by Haeleth · · Score: 4, Informative

    In order to be allowed to use the trademarked term "Open Source" however, whatever license they choose must (a) comply with the Open Source Definition, and (b) be approved by the Open Source Initiative.

    Did you even read the pages you were linking to? The Open Source Initiative's own certification page, that you linked to, has this to say, right in the first paragraph: "the term 'open source' itself [...] can't be protected as a trademark".

    I can call anything I like Open Source, and nobody can do a thing to stop me. The new Evil Proprietary License (a viral license that infects any software in the same room with a deadly curse that can only be lifted by the sacrifice of your firstborn) could be called Open Source. What it couldn't legally be called is OSI Certified(tm).

  70. AMD64 by SIGBUS · · Score: 3, Insightful

    Maybe we'll finally see an AMD64 Java plugin for Firefox.

    --
    Oh, no! You have walked into the slavering fangs of a lurking grue!
  71. Re:This would help by adavies42 · · Score: 2, Funny

    New NIO--is that like a PIN number for an ATM machine?

    --
    Media that can be recorded and distributed can be recorded and distributed.
    -kfg
  72. Open sourcing Java or the JVM? by djg1977 · · Score: 2, Insightful

    I might be mistaken here, but isn't "open sourcing Java" meaningless?
    Java is an open standard already.

    What I believe is being discussed, is whether Sun should open source their Java Virtual Machine (JVM) - Sun's implementation of the Java standard.

    1. Re:Open sourcing Java or the JVM? by RPoet · · Score: 2, Insightful

      I might be mistaken here, but isn't "open sourcing Java" meaningless?
      Java is an open standard already.


      Since when is open source and open standards the same? And does the JSR constitute an open standards body? (Yes, to some degree, but it's not perfect)

      Sun should liberate the "hard" parts. We already have good compilers and mostly good JVMs; what we need is the class libraries, and to a smaller extent the tools. Come on, Sun.

      --
      "Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
  73. Re:This would help by k8to · · Score: 3, Insightful

    Why are you arguing as if I stated that java uses more memory than C? Has downsides, sure, but the point is that Java is _the most memory hungry language in the entire world_.

    You can go look at language shootouts showing example code and note how java always allocates the most memory. You can look at real world server applications (tomcat vs medus vs apache) or real world client applications (bittorrent vs rufus vs azureus). You will find that java is always using way more memory than the competition.

    Java uses more memory than C.
    Java uses more memory than C++.
    Java uses more memory than Common Lisp.
    Java uses more memory than Smalltalk.
    Java uses more memory than Self.
    Java uses more memory than Erlang.
    Java uses more memory than Icon.
    Java uses more memory than Pascal.
    Java uses more memory than Simula.
    Java uses more memory than Python.
    Java uses more memory than BCPL.
    Java uses more memory than Perl.
    Java uses more memory than TCL.
    Java uses more memory than Haskell.
    Java uses more memory than Ocaml.
    Java uses more memory than javascript.

    There is _no_ common denomonator to these languages. Some have virtual machines as sophisticated as the jvm. Some have simple hand-hacked runtimes. Some are compiled. Some have features and dynamicism Java cannot hope to touch. Some are terse. Some are verbose. Some are forgotten and old. Some are quite new. Java uses more memory than every single one, and that is a major weakness of java in practical terms at this time.

    --
    -josh
  74. Re:This would help by abdulla · · Score: 2

    Who the hell would switch languages mid-project? C to C++ isn't a trivial switch, that or you ended up with some seriously shit code out of that wise move. Sounds to me like you're talking out your ass.

  75. rank amateurs by mikaelhg · · Score: 3, Insightful

    why, oh, why java croaks on OutOfMemoryException when we have more than 8G of ram most of which is not being used

    Because you are rank amateurs who are unable to read documents or use profiling tools such as jconsole or YourKit?

  76. Re:If they do, it will all depend upon the license by pebs · · Score: 2, Interesting

    I diagree. Java is far to bloated and complicated. I've been using it since it first came out and I balk at the vast array of libraries you need to use or choose between to get anything done. I feel really sorry for anyone coming to it for the first time.

    So basically Java is the Linux of programming languages? You must really hate choice and having a large amount of problems already solved for you. Java is not for those with NIH syndrome.

    --
    #!/
  77. PHP on Jave dies not need Open Source by angel'o'sphere · · Score: 2, Insightful


    One commentator said, "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java.


    You are free to write a PHP Interpreter which is Open Source and runs on a JVM ... Jython shows this for Python.

    I frankly don't know if it benefits me, or anyone, if Java is OSS. However it would be horrible if we face what we currently have with C++, litterally hundrets of compilers where everyone implements his favorite subset of the language definition.

    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  78. Re:If they do, it will all depend upon the license by Paradise+Pete · · Score: 2, Funny
    I currently avoid Java like the plague

    I just realized that in my entire life I've never once knowingly avoided the plague.

  79. Would you use PHP without it's C bindings? by hagbard5235 · · Score: 2, Interesting

    I doubt you will see much uptake from a PHP running on the JVM. When you port a langauge to the JVM, you typically leave behind the C bound modules, because they just DON'T play well with the JVM (frequently non-thread safe, etc). For this reason languages that have nothing to offer but their c bound modules (Perl, PHP) don't fair well. Languages like Python and Ruby that have significant things to recommend them as languages do much better.

  80. Re:If they do, it will all depend upon the license by cheezit · · Score: 2, Insightful

    Interesting...I've had the opposite experience. I spent time in the MS camp where there are a wealth of 'VB for dummies" books but everything beyond that comes from Microsoft itself, and you better have a MSDN subscription. With Java it seems there are tons of free online resources for specific questions, and there are also some very good books like "Thinking in Java" (perhaps a bit dated now) that get the beginner to the point of understanding all the basics, without being condescending the way, for instance, MSDN so often is.

    Then again, given the languages you list Java may not be useful for what you do. If it might be, though, I'd give it another try...

    --
    Premature optimization is the root of all evil
  81. Re:If they do, it will all depend upon the license by Decaff · · Score: 3, Interesting

    I diagree. Java is far to bloated and complicated. I've been using it since it first came out and I balk at the vast array of libraries you need to use or choose between to get anything done. I feel really sorry for anyone coming to it for the first time.

    I really don't understand this. Having a rich and versatile range of libraries is a problem?

    Personally I use Ruby (on Rails) these days for web development: convention over configuration is, imo, a much more important advance in the art than object-orientation was.

    And Java has had this for years. I use JDO to persist my Java objects (it is a far more powerful and versatile system than Rails - much faster, and can persist to non-relational stores as well). How much configuration do I need in principle to describe my schema? Nothing but a list of classes. By default, the schema is created and mappings are automatically set up based on the field names of my classes. By default, no configuration needed.

    How long has JDO had this? Since 2000!

    Convention over configuration is nothing new.

  82. PHP in the Java VM by koreth · · Score: 2, Informative

    It is already being worked on, and you can download and try it out today (though it's not finished yet). It's called Quercus, from the guys who do the Resin open-source app server. (Which is a fabulous piece of work, I might add.) It compiles PHP to Java bytecode, which can then be JIT-compiled to native code.

  83. Re:This would help by Decaff · · Score: 3, Insightful

    There is _no_ common denomonator to these languages. Some have virtual machines as sophisticated as the jvm. Some have simple hand-hacked runtimes. Some are compiled. Some have features and dynamicism Java cannot hope to touch. Some are terse. Some are verbose. Some are forgotten and old. Some are quite new. Java uses more memory than every single one, and that is a major weakness of java in practical terms at this time.

    I know. This is a real weakness in Java. It would have been great if it was a far more memory efficient languages, because then it could have been used in a wide range of low-memory situations like embedded devices, PDAs or mobile phones....

    Er - something wrong with this argument, perhaps?

  84. Re:If they do, it will all depend upon the license by namekuseijin · · Score: 2, Insightful

    hi again! ;)

    "Having a rich and versatile range of libraries is a problem?"

    nope. the problem is when you have a poor enough language without support for high level constructs and has to do literally anything with libraries. it's just a lot more tiresome than builtin language support...

    "Convention over configuration is nothing new."

    yeah, shame it's not used more often in the java world rather than the XML craze...

    --
    I don't feel like it...
  85. Re:If they do, it will all depend upon the license by pebs · · Score: 2, Insightful

    You hit it precisely on the head. Linux and Java proponents tend to have a particular problem with being unsympathetic to n00bs

    Unlike Linux, Java is very well documented, so having to interact with a community is not necessary to learn and use it (the language itself). There's plenty of books, as well as courses you can take (since it is so mainstream).

    Once you start using 3rd party libraries and tools, then you might need to interact with the community. Just like any large online community dealing with tech, there's always a few assholes and elitists (it's people on the Internet, what do you expect?). If that's enough to push you away from a particular technology, you might as well give up on anything that requires interaction with people.

    --
    #!/
  86. Re:If they do, it will all depend upon the license by pebs · · Score: 2, Insightful

    So basically, random individuals on the Internet (who had no connection to Sun I assume) made you lose interest in a programming language. I can understand if the developers of a product are pricks and that turns you off of a product, but I'm sick of hearing "I don't use it because people told me 'RTFM' or 'Google'". That happens everywhere on the Internet. That's what anonymous/semi-anonymous non-face-to-face communication does to people. Get over it.

    So I take it you don't use Linux either because some big, bad forum jerks told you "RTFM" too?

    --
    #!/