Slashdot Mirror


Beyond An Open Source Java

Karma Sucks writes "LinuxToday is featuring a intriguing article on why Sun should open source Java, as a stronger followup to the recent ESR saga that was reported here. The writer notes: 'Sun needs to do some radical things to improve its chances of survival, and all of them involve Open Source in some form or the other.' One thing the article fails to mention is the threat of Mono, which should be of special interest to Sun, with its vested interest in GNOME."

153 of 550 comments (clear)

  1. Dumb question by Brian+Dennehy · · Score: 3, Interesting

    So what exactly is closed-source right now? The language is obviously out in the open. Is that copyrighted? Is it the compiling into binary code itself that is copyrighted?

    1. Re:Dumb question by Amsterdam+Vallon · · Score: 5, Informative

      The problem is the way Java is being developed and maintained as a proprietary programming language base.

      There are two major Java implementations currently in use -- one by IBM, one by Sun Microsystems. Both of them may come without charge, but are without the freedom that would make them qualify as Free Software.

      Therefore, all software written in Java (even software under a Free Software license) running on such a platform will "put the user's freedom at risk" (a quote from FSF/GNU people). It's like running Free Software on Windows.

      If you want more detailed 411 about the status of Free Software versions of Java, hit up the following URL:
      http://www.gnu.org/directory/devel/prog/java/

      --

      Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
    2. Re:Dumb question by aled · · Score: 4, Insightful

      Last I read is that Sun doesn't have a problem with open source implementations of Java, is just that Sun isn't doing one.

      --

      "I think this line is mostly filler"
    3. Re:Dumb question by Trejkaz · · Score: 2, Interesting

      It's not really closed source. They let you download the source, they let you compile the source, they let you run the binaries, I think the limitation is on the redistribution of those binaries, and the source. So I would have considered it open source, but non-free.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    4. Re:Dumb question by deanj · · Score: 3, Informative

      I'm not getting something. When you say "but are without the freedom that would make them quality as Free Software" ....what does that buy you? And how is "this putting the user's freedom at risk"?

      I'm free to develop whatever Java software I wish. They're improving it like crazy, with the help of tons of pretty smart people (look at Doug Lea's working group's contribution in the latest JDK).

      Maybe I'm not getting something here, but it sounds like people just want it to be open source so it can be open source. I'm not seeing what the benefit would be.

    5. Re:Dumb question by malachid69 · · Score: 4, Informative
      Ok, for all those people who keep talking about how Sun is running Java, and how it is closed source, please read this faq before posting anything further about it.

      Three specific quotes:

      Q: How many people are currently JCP members?
      A:
      The JCP has over 500 company and individual participants.

      Q: What prevents Sun from controlling or dominating the groups that develop and maintain Java specifications?
      A:
      Sun, and the other Executive Committee (EC) members, serve as technology oversight groups for the work of the Expert Groups. The ECs do not micro-manage the day-to-day workings of Expert Groups. Rather, the ECs have the opportunity to review the work of each Expert Group at well-defined points as their specifications proceed through the JCP. The primary function of the ECs is to ensure that specifications do not overlap or conflict with one another and that the specifications meet the needs of the industry segment for which they are being written.

      The following EC members elected by the community during the JCP EC Elections in October and November of 2001 took office on November 20, 2001: Apache Software Foundation, Apple, BEA Systems, Borland, Caldera Systems, Cisco Systems, Compaq, Ericsson, Fujitsu Limited, HP, IBM, Insignia Solutions, IONA Technologies, Macromedia, Matsushita Electric Industrial (Panasonic), Motorola, Nokia, Oracle, PalmSource, Inc., Philips, RIM, Siemens AG, Sony, Texas Instruments, and Zucotto Wireless, as well as an individual participant, Doug Lea, representing the research and education communities

      --
      http://www.google.com/profiles/malachid
    6. Re:Dumb question by Mysteray · · Score: 5, Informative
      It's not really closed source. They let you download the source, they let you compile the source, they let you run the binaries, I think the limitation is on the redistribution of those binaries, and the source. So I would have considered it open source, but non-free.

      You can consider it whatever you want. However, there is an official Open Source Definition that most people mean when using the term. Also see the Debian Free Software Guidelines (DFSG). Sun's Java process, though fairly open for a commercial software product, doesn't comply with the letter or the spirit of either of these.

    7. Re:Dumb question by Trejkaz · · Score: 2, Insightful

      That's okay, because that official definition says "No Discrimination Against Persons or Groups", and plenty of open source software discriminates against commercial ventures, which could be considered groups. Every description in that list sounds more like free as opposed to open source... if the two are going to mean the same thing, why have two different terms?

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    8. Re:Dumb question by Mysteray · · Score: 2, Insightful
      That's okay, because that official definition says "No Discrimination Against Persons or Groups", and plenty of open source software discriminates against commercial ventures, which could be considered groups.

      Please point out to me one of the Approved Open Source Licenses that "discriminates against commercial ventures".

      Note that I didn't ask for licenses that happen to be suboptimal for using copyright law to protect specific business models, but those that truly discriminate about who can use or contribute.

      At first glance, it would seem that a fair share of those approved licenses were in fact authored by "commercial ventures".

    9. Re:Dumb question by Pieroxy · · Score: 4, Insightful

      Some benefits:
      1. Tomorrow, Sun might decide to charge for a JVM. Then you will be screwed.
      2. They might decide to drop Java, closing all future to all your beautiful programs.
      3. What if Sun decide not to support your favorite platform? (Say BeOS, or Linux on PS/2, or HP48SX...)

      With open-source, this is less likely to happen - though still possible. We can imagine for Java that we will always have some geeks ready to give a hand even if Sun dropped the whole thing.

    10. Re:Dumb question by __past__ · · Score: 4, Insightful
      1. Tomorrow, Sun might decide to charge for a JVM. Then you will be screwed.
      Or you can use another JVM instead and live happily ever after.
      2. They might decide to drop Java, closing all future to all your beautiful programs.
      Even if they would use their Java trademark to enforce that no other JVM would be able to use that name when they decide to stop the JCP and development of the Sun JVM, people could just call the other implementations something else, use existing programms with that, and create a new process to further the development of the language.
      3. What if Sun decide not to support your favorite platform? (Say BeOS, or Linux on PS/2, or HP48SX...)
      Then you use an alternative JVM that does support it, or if there isn't any, port one of them yourself. Which is even possible with the Sun JVM - this is exactly what the FreeBSD Java project did.

      Sun has copyrights on one of many JVMs, which is closed source, and they control the name "Java" by holding the trademark. This is all, and this is not enough to effectively control the use of the language, even if they wanted to screw customers.

    11. Re:Dumb question by Anonymous Coward · · Score: 2, Insightful
      I think it depends on what is meant by "open"

      If we mean we can obtain the source code and read through it then it is defiatly open.

      If you beleive that it has to be available under a GPL license, then it is not.

      However the JVM spec and the language spec is unrestricted, the words "shut up and hack" come to mind.

  2. That would suck for java... by Anonymous Coward · · Score: 5, Insightful

    Incompatibility would run rampant. My java apps barely work for my phone as it is.

    1. Re:That would suck for java... by kindofblue · · Score: 4, Interesting
      Yeah, I expect that an open source project would break things much more. Eclipse breaks the plugin.xml format subtley everytime. EMacs libraries always have bad interaction. Mozilla's XUL API has given me headaches, and is horribly, horribly, horribly documented.

      The big plus side to open sourcing is perhaps the language could be forced to match the nice features of C#, like unsafe constructs and precompilation, both for performance reasons. There's only so much JIT optimization you can do. But precompiling (like GCJ, but intrinsic to the VM) would provide greater opportunities for large scale full source tree optimizations. Compiler writers have been doing this stuff for 50+ years.

    2. Re:That would suck for java... by Anonymous Coward · · Score: 3, Insightful

      There's only so much JIT optimization you can do. But precompiling (like GCJ, but intrinsic to the VM) would provide greater opportunities for large scale full source tree optimizations.

      Well.. I think the potential for optimization is greater after linking, at runtime. Just imagine inlining library calls, for instance.

      The real advantage, however, is the jvm's access to real run-time performance data. Even if you waste 1% of the app's cpu-time on profiling and dynamic recompilation, you quickly make up for that by agressive optimization in the right places.

      It would be nice if virtual machines stored some kind of native images/dumps between sessions, though, to minimize those startup times..

    3. Re:That would suck for java... by 10101001+10101001 · · Score: 5, Insightful

      > Sun isn't going to Open source Java, it wont happen for the reason you mention. Incompatibility would ruin the cross-platform appeal of Java.

      Like how gcc being open source causes incompatibilities with different gcc ports? Or how the x86 arch being open ruins the ability to write for it?

      I really don't see how any of these arguments hold water except if you believe that somehow one company with proprietary control over a standard will do a better job than the open source community at writing to the spec.

      The fact is, the Java spec is free as far as I know, and there's nothing really preventing someone from writing their own implementation and porting it to several platforms. Of course, they can't call it Java (Java is trademarked, as use of a programming language), but they can just as easily do everything but call it Java and have or not have compatibility problems. The only thing that Sun open sourcing Java would do is cut out a lot of the work developing the libraries and such which make up the bulk of Java's classes. Sun still owns the trademark and could write a license to prevent anyone using the term Java except Sun (they could even come up with a specific trademarks to clarify degrees of Java-ness which are allowed to be used by people). Open source doesn't mean Free software. And maybe people aren't happy with that. I personally don't care, since Free software wouldn't ever call it Java (maybe they'd call it Java-like), and I firmly believe that the core useful parts of Java will be written by the open source community eventually which will negate a need for Sun to do anything (well, except keep the specs open).

      I just find it funny that the defense of keeping Java closed source is it's broken now, so having more people work on it will somehow make it worse. A company is like a bunch of cooks making one cake (or maybe two or three). The community at large is like a bunch of cooks make a bunch of cakes. If enough of the cooks get together, they can make a larger, better cake just like a company. But, there's a lot more cooks out there than there are in one company. And if what the community writes is utter crap, then no one uses it, and we'll stick to the old recipes. It's not like the open source community is a monopoly that can force you to use an inferior product. Only closed source setups work that way, thanks to things like forced bound upgrades from a single company.

      --
      Eurohacker European paranoia, gun rights, and h
    4. Re:That would suck for java... by newhoggy · · Score: 2, Informative
      Incompatibility would run rampant.

      SUN would still hold the Java trademark and can withhold its use from any implementation that fails to pass a comprehensive compatibility suite.

    5. Re:That would suck for java... by Lobachevsky · · Score: 5, Informative

      Sun's jvm for jdk1.5 caches JIT code in shared storage.. their 1.5 site even mentions that startup time is almost negligible now, even for large java apps.

      I was rather surprised, actually, to see the amount of change from 1.4 to 1.5, at all levels: language, jdk, and jvm. The language itself has a lot of C++/C# features now like covariance and contravariance. 1.5 has more improvement over 1.4 than 1.4 over 1.1, in all aspects, imho.

    6. Re:That would suck for java... by 10101001+10101001 · · Score: 2, Insightful

      > Actually GCC is a good example of why Java shouldn't go this route. Look at all the binary compatibility issues from the 2.96 compilers to the latest and greatest. Caused us all kinds of problems. Do you expect a JVM v1.1 to run v1.4 programs? Forward and backward compatibility often get broken as a result of fixing design flaws. I'm happy they're fixing gcc now if it means it's a lot less likely to break in the future (not that it's actually, guaranteed..). Besides, 2.96 should never have been released as production since it was a pre3.0 beta. Now, complaining about the fact that there's a different abi between 3.0 and 3.2 is a valid complaint.

      --
      Eurohacker European paranoia, gun rights, and h
    7. Re:That would suck for java... by gidds · · Score: 4, Interesting
      perhaps the language could be forced to match the nice features of C#, like unsafe constructs and precompilation

      Either would remove some of what makes Java great.

      Unsafe constructs would risk punching huge holes through Java's nice safe sandbox.

      And precompilation would probably mean that compiled code gets distributed rather than bytecode; 'Write Once, Run Anywhere' doesn't mean much if you can't get hold of anything you can run!

      --

      Ceterum censeo subscriptionem esse delendam.

    8. Re:That would suck for java... by jallen02 · · Score: 4, Informative

      Well, NIO was pretty good for what its worth.

      NIO adds in some really great I/O capabilities. I absolutely love having channels/selectors for network servers. 5 hours of coding on a network server to go from single thread per connection to one thread multiplexing all of my I/O. Using a few worker threads to process incoming data and my stress testing I used before doesn't even come close to pushing the server like it used to. I had to increase the brutality of the testing quite a bit more to find top level performance.

      I know I/O is just one aspect of programming, but it is VERY key to overall performance.. and in I/O bound apps NIO is a godsend.

      So anyway, there were some really good improvements in 1.4. I think 1.4 was a pretty marked improvement just because of NIO.

      Jeremy

    9. Re:That would suck for java... by bigsteve@dstc · · Score: 3, Insightful
      I disagree:
      • Open sourcing Java would not force Sun to accept additions to the standard codebase that would break compatibility. They get to choose what goes into Java software that they ship.
      • Open sourcing Java would probably reduce the tendency for incompatible open-source implementations. Since open-source implementors are not required to reimplement as much, there would be less opportunity for mistakes.
      • Open sourcing Java would encourage other vendors to open source their Java-based products. This exposure would in turn encourage them to smarten up their act. [Actually, Sun could even some up with a model that forced third-party vendors to open source any components that are critical to. For example, Sun could say that open sourcing is a prerequisite for a Sun endorsement of compatibility.]
      • Sun will still control the trademarks, and will still be able to say "you cannot call this XXX because it fails such-and-such compatibility test". [This assumes that they remove the barriers that make it hard for open source developers to access the compatibility tests.]
      • If Sun were to be a bit creative, they could do more to discourage incompatibility. For example, a Sun endorsed website for documenting known incompatibilities would be a great resource. It would also provide an incentive to developers to fix up their incompatible crap.
    10. Re:That would suck for java... by k_head · · Score: 2, Interesting

      Nonsense. How many forks of python, perl or tcl are there?

      --
      The best way to support the US war effort is to continue buying American products.
    11. Re:That would suck for java... by kindofblue · · Score: 4, Interesting
      The C# way (and the way some java tools worked before the JIT VM) is that byte-code is distributed but the client-side machine compiles it ahead of time and saves the compiled code. There is no difference to the sandbox security, with respect to ahead-of-time compilation, as long as the cached code on disk is secure. JIT VM always compile it as the code runs and then discards the compiled byte-code.

      So basically what I want is that the compiled code should be cached and stored on disk, e.g. like a browser loading cached pages when they are still up to date. Not everything needs to be cached, since profiling (that is behind the current Hotspot technology) could be used to identify those parts of the code that should be aggressively optimized. So those critical areas should automatically be aggressively optimized, which takes time and that should be cached. That's what I would ideally like to see in java.

      Also, as for unsafe constructs, I've read about them in C# but haven't developed with it. However, I have used the java native interface. It is really ugly and very cumbersome and intrinsically system-dependent. Sometimes it is necessary to use JNI for performance and for low-level interfaces to the machine. I want something that's low-level but easier to use than JNI for those rare occasions where you've gotta have it.

    12. Re: That would suck for java... by gidds · · Score: 3, Insightful
      Cached code sounds like a good idea, provided that the original bytecode is always available as the 'definitive' version. It's worth being aware of the issue, though.

      ...the java native interface. It is really ugly and very cumbersome...

      Some might think that's a Good Thing as it helps discourage native code unless it's absolutely vital :)

      --

      Ceterum censeo subscriptionem esse delendam.

    13. Re:That would suck for java... by CynicTheHedgehog · · Score: 2, Interesting

      Not if Sun maintained the official repository, and managed commits similar to the way they are handled in Linux. Sun could still maintain their current Java Community Process to identify and prioritize enhancements, and then leverage the development efforts of the open source community rather than relying only on their internal developers.

      Not everyone would have commit access, giving Sun time to verify, document, and test any improvements before including them as part of official Java project releases.

      That doesn't stop forks, but lets face it, how many forks are there of Python, PHP, et al? As long as the community is satisfied that it's getting what it wants, and the source is available for ports and whatnot, I'm sure Sun can still hold onto the reins. It also allows Sun (in RedHat-esque fashion) to maintain a fully tested and supported ($$$) Enterprise version that's a few versions late, while giving developers nightly snapshots and unsupported minor releases.

      It's better than what they have now, which is official support for Windows and Linux, and screw everyone else. We all download and use it for free anyway...why not put the community to work porting and improving it? It would sure make the JSRs go faster...

    14. Re:That would suck for java... by Bingo+Foo · · Score: 3, Funny
      Incompatibility would run rampant. My java apps barely work for my phone as it is.

      Yeah, no kidding. My refrigerator has JVM 1.1, but my oven runs J2EE 1.4. Just try storing leftovers with that kind of arrangement!

      --
      taken! (by Davidleeroth) Thanks Bingo Foo!
  3. High cost of J2EE? by jhouserizer · · Score: 5, Informative
    This article mentions outlandish prices (it says $100,000 per cpu) for J2EE (Weblogic and WebSphere).

    It fails to note that these are the *most expensive* full-suites of these products that have lot of non-J2EE frills (you can get into Weblogic's base J2EE support for $10k). Other commercial J2EE application servers are well under the $10k mark (e.g. $1500 for Orion Server)

    This article also fails to note that there are more than a couple very robust OpenSource implementations of J2EE application servers, that are of course free.

    It's obvious that if they pointed these facts out that their argument would be weaker...

    1. Re:High cost of J2EE? by jhouserizer · · Score: 4, Interesting
      Quite a few more, depending on your definition of "J2EE Application Server". J2EE is a collection of specifications, and you only need to implement one (or more) of those specifications to be considered a J2EE server....

      But there are other Open Source "full j2ee stack" application servers out there besides JBoss - Jonas for example.

    2. Re:High cost of J2EE? by Trejkaz · · Score: 3, Informative

      Other commercial J2EE application servers are well under the $10k mark (e.g. $1500 for Orion Server)

      This article also fails to note that there are more than a couple very robust OpenSource implementations of J2EE application servers, that are of course free.

      From the article:

      J2EE is a set of specifications, not any particular implementation. There can be pricey implementations, and there can be affordable ones. The trouble is, the pricey ones have the mindshare (IBM WebSphere, BEA WebLogic). There are far cheaper implementations, but who has heard of them? Orion or Pramati, anyone? And of course, there are Open Source implementations as well (e.g., JBoss), but JBoss (as of February 2004) is not yet a certified J2EE server, and its fledgeling commercial support organisation (the JBoss Group, now called JBoss Inc.) often lacks the clout to open many corporate doors.

      I guess they must have quickly jammed those in right after they saw your complaint on Slashdot. Alternatively, you just didn't read the article.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  4. Biggest threat is Microsoft by maliabu · · Score: 5, Interesting

    in previous discussion, those opposed OpenSource Java suggested that with MS's domination today, MS can easily 'improvised' OSJava to become a run-on-windows-only-OS-Java (WOOSJAVA).

    it doesn't matter if anyone else is going to benefit from/use/modify this WOOSJAVA, most likely it will just be preinstalled in all Windows shipped.

    and regardless of what others may like to think, most consumers of MS will think that this WOOSJAVA is now the standard.

    so in the end, maybe even Sun needs to write things to accomodate this WOOSJAVA in order to survive, that'll be ironic.

    1. Re:Biggest threat is Microsoft by i23098 · · Score: 2, Informative

      Ah! But this is the part than an Apache like version takes place. Java is a trademark of Sun, so they can say that Java is open-source, but any derivative products can't be called Java. That way, any one could contribute to it, but with Sun control over Java. MS version of Java couldn't be called Java unless it was approved by Sun.

    2. Re:Biggest threat is Microsoft by MBCook · · Score: 4, Interesting
      That's why the article suggests a dual license with the GPL. That would mean that either MS would have to buy a license that would allow them to modify the language at will (which Sun can just refuse to sell), or they would have to do it to the GPL version and they would have to release the changes to the community which would keep it from being Windows only. If you add in all the stuff that MS has to say against the GPL, they would either have to eat some serious dirt/crow/hat or they would have to not touch the language.

      Also, there is the fact that if they do that they can't call it Java, because Sun owns that name (credit for this point goes to a sibling comment).

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    3. Re:Biggest threat is Microsoft by Elwood+P+Dowd · · Score: 2, Informative

      They can do that anyway, open source or not.

      The only thing that prevents them is anti-trust law, not proprietary licensing.

      Also, the GPL would guarantee that Sun can rejoin the WOOSJAVA fork whenever they like, and gain all the benefits. As someone pointed out, Microsoft could use make their open source implementation call some closed source DLL, but at least Sun would also be able to release a version of OSJava that called that closed source DLL just the same. The API would be pretty obvious.

      --

      There are no trails. There are no trees out here.
    4. Re:Biggest threat is Microsoft by Jason+Earl · · Score: 2, Interesting

      When it comes to GUI desktop software Sun has already lost control of Java. Oracle has their own JVM that is required to run their Java applications. IBM has SWT that is basically doing precisely the same thing that Microsoft got in trouble over all those years ago. Free Software hackers are working on their own version of Swing that can be compiled with gcj. Not to mention the various and sundry Java-like JVMs that are available (Kaffe, sablevm, etc.).

      If Sun released their JVM under the GPL people would still continue to get their JVM from Sun, the only difference is that Sun's JVM would become more acceptable to the Free Software community. In fact, it would probably take a lot of the wind from the sails of these projects that are making divergent versions of Java (SWT is the best example of this).

    5. Re: Biggest threat is Microsoft by gidds · · Score: 5, Insightful
      they would have to release the changes to the community which would keep it from being Windows only

      Doesn't follow. Open source or not, it would be trivial for them to use some feature which is only available on Windows. Sun can have all the source code they want, but if it can't run on other platforms (without effectively porting chunks of Windows too), then they're stuffed.

      Open Source is wonderful for apps with a known interface. But Java isn't an app; it's a platform. One of its greatest advantages is its platform neutrality. While having a single company like Sun in charge of it may prevent Joe Bloggs from adding his whizzy new feature, it also prevents M$ from doing the same, which IMO is far more important. I think Sun have steered a fine line between locking Java up so tightly that no-one feels safe using, and opening it up so much that no-one can choose which of the multiple subtly-incompatible versions to use.

      --

      Ceterum censeo subscriptionem esse delendam.

  5. Mono is not a threat by Anonymous Coward · · Score: 4, Informative

    Given the state of Mono, it's not in a position to give anyone pause.

    There's no motivation to "Open Source" Java. It's supported on a myriad of platforms and you can even get access to the source if you want to take on the implementation on a new platform.

    1. Re:Mono is not a threat by Ogerman · · Score: 2, Interesting

      There's no motivation to "Open Source" Java.

      BS. The article gives several strong motivations, all of which I have personally run into as reasons NOT to use Java at this time. Java will not really take off until it is included with every Linux distro and can be fully embraced by the Open Source community. And it desperately needs more innovation, which OS community support would quickly provide. Sounds like you didn't RTFA. One thing the article didn't mention is that Sun's Java implementation is probably the worst in the industry.

    2. Re:Mono is not a threat by Jord · · Score: 3, Interesting
      Java will not really take off until it is included with every Linux distro and can be fully embraced by the Open Source community.

      What exactly is your definition of taking off? Java is simply HUGE in the corporate environments. Java is used in just about every industry. While it may not be the largest thing in the Open Source community, it has definitely already "taken off".

      Try looking beyond OSS.

  6. Open cool, but still keep distribution rights. by demonic-halo · · Score: 5, Insightful

    I think open sourcing it is ok, but they should do all the work on it internally and not let any 3rd party distribute their own Java.

    When you have a cross platform interpreter, you need to make sure there is consistency. For example, Microsoft JVM ruined it for alot of people since developers will forget to debug it on Suns JVM, causing huge incompatibility issues that they blamed on Sun.

    1. Re:Open cool, but still keep distribution rights. by newhoggy · · Score: 2, Insightful
      I think open sourcing it is ok, but they should do all the work on it internally and not let any 3rd party distribute their own Java.

      I'd like to know how "not let any 3rd party distribute their own Java" qualifies as open sourcing Java. See Open Source Definition

      What's more likely is that any 3rd party can distribute their own "Java", but they can't call it "Java". without Sun's permission because Sun owns the trademark.

    2. Re:Open cool, but still keep distribution rights. by robbyjo · · Score: 2, Informative
      --

      --
      Error 500: Internal sig error
  7. Re:Java, who needs it? by jhouserizer · · Score: 5, Interesting
    You're talking about clien-side Java. I.e. Java applications with UI.

    This article is talking about J2EE (server side) applications. Which often benchmark faster than natively implemented code.

    P.S.> Java desktop applications are fairly speedy if you use UI libraries such as SWT - which work directly on GTK for example.

  8. Re:Java, who needs it? by Anonymous Coward · · Score: 3, Informative

    Mono does ahead-of-time compilation on x86 into native code.

    You can also compile Java applications to native code using GCJ, assuming that you're not using anything beyond JRE 1.0 (or something like that).

  9. Re:Java, who needs it? by Pieroxy · · Score: 5, Insightful

    If you think Java is in the enterprise because it is portable, you are greatly mistaken. There are some stuff in Java that makes it a great tool for the job, and portability is only one of them: Portability, Reflection, RMI, Proxies, J2EE, ... And I did forget a lot in the process.

    Qt and GTK are not even languages, what the hell are you talking about? You are comparing an enterprise level language with a GUI library! Java is not Swing!

  10. Not sure this is what we need by SamiousHaze · · Score: 5, Insightful

    I'm not certain this is a move that should be made. All we need are 18 different 'forks' in the java tree like certain other open source projects. I can just see it now "No no, you need BobJavaVM-1.43.2.43 - it won't run with FastJava V 2"

    1. Re:Not sure this is what we need by jas79 · · Score: 4, Insightful

      Could you back that up with an real example?

      I haven't seen that happen with perl or python. So, I doubt it will happen with java.

    2. Re:Not sure this is what we need by SamiousHaze · · Score: 3, Interesting

      Well, Microsoft's VM for example versus Sun's VM was an example - and I think it would get worse.

      Another example are C++ compilers, while there is a De Jure standard - all the companies include their own libraries that you just can't use unless you want to be incompatible. I'm thinking everyone would want a custom VM/Compiler (how many open source C compilers are there?)

      I would talk about other non-language related projects but I don't want to get slammed (ok, like "this program won't compile on slackware but it'll compile on redhat cause of default library incompatibility issues")

    3. Re:Not sure this is what we need by jas79 · · Score: 2, Insightful

      Microsoft's VM was created without an opensource java. c# was created without java at all.

      there are many in incompatible closed-source c++ compiler. gcc solved that problem by becoming the defacto c/c++ compiler on linux.

      Windows does have many problems with library incompatibility issues. never heard of dll hell?

      I still don't see the problem with opensourcing java.

    4. Re:Not sure this is what we need by alan_dershowitz · · Score: 3, Insightful

      Theoretically speaking:

      Tons of people bitch and moan about java being piss poor for application X or application Y. Right now, I'm looking at an ostensibly "Java" Oracle Forms 9i form that will only run on one JVM, Oracle's JVM. It's convenient for them that they had the money to license Java so they could make their own JVM, its more convenient for us that most people DON'T have that ability.

      Imagine for a moment that every company had the source to Java and the ability to hack the shit out of it to accelerate their own products. It already happened with both Oracle and Microsoft, which was wholly unrelated to the fact that the source to Java was closed. It becomes relevant to the argument at hand when you realize that they were two of the few companies who could embark on such a venture, simply because of prohibitive cost.

      It's possible the only reason this fragmentation hasn't happened right now is because there's no open source JVM that's realistically close to running everything that Sun's can.

      I'm simply playing devil's advocate here, although I do believe closed/open is not relevant to the fact that the MS implementation was incompatible. It was incompatible because they programmed it that way, irregardless of the fact that the source was available or not.

    5. Re:Not sure this is what we need by Anonymous Coward · · Score: 2, Informative

      Sure.

      Common Lisp

      ANSI Common Lisp standard (X3.226-1994)

      Popular commercial implementations:

      Allegro Common Lisp
      Xanalys Lispworks
      Macintosh Common Lisp
      Corman Common Lisp

      Popular free implementations:

      CMUCL
      CLISP
      Open MCL
      SBCL
      GCL

      All of these implement the Standard, some better than others. All have interesting extensions which are not portable. All bring different elements of interest to the table of developers looking to solve different problems.

      Perl and Python haven't for whatever reason needed to be forked to provide a better implementation for a specific market segment. While large applications are being written in these languages, they're obiviously not in environments where the demand on the engines is high enough to warrant someone funding a fork and a port. (say, Perl for Palm, or Embedded Python, or Enterprise Ruby, whatever -- there is no complete "Python Compiler", for example, that I'm aware of at least). Though ActivePerl et al should be acknowlegded.

      BEA has JRockit which is its own JVM, though it may well ship Suns class library. They felt that they wanted a better JVM to meet their markets needs better than IBM and Sun were.

      Put an implementation to work and the market will fork it as necessary. Just ask MS.

  11. The worst thing that could happen... by StandardCell · · Score: 5, Insightful

    ...is that Sun allows Java to wallow in limbo until its development becomes unsustainable and people start using other languages and development environments like .NET, and then make it open source because it became a black hole for them.

    I mean, Sun could still have a vested interest in an open source Java and still derive revenue from custom design services and support while displacing the Beast. It isn't even like the implementation is a trade secret. Heck, the Beast has developed Java bytecode interpreters in the past. But the Beast would love to displace Java with .NET as a universal development language. You can bet diamonds to dollars that Microsoft will never open source their version though.

    Hence, Sun has a great opportunity here. Will they see it?

    1. Re:The worst thing that could happen... by jblake · · Score: 4, Informative

      You can bet diamonds to dollars that Microsoft will never open source their version though.

      Not so. Check out Shared Source CLI, as known as Rotor. Basically a free, open-source version of the .Net framework and C# compiler distributed by Microsoft. It is supported on Windows, FreeBSD, and Mac OS X.

      Also check http://www.sscli.net for some SSCLI/Rotor Projects.

      And did you know that C# and the .Net framework are each ECMA standards? ECMA-334 and ECMA-335 respectively.

      (If you want a linux version of the .Net Framework, look at the Mono Project. It is not connected to Microsoft.)

      --
      I just found a new sig.
    2. Re:The worst thing that could happen... by aled · · Score: 4, Insightful

      If you consider Rotor is open source the Java has the same level open source-ness and this whole post is dust. You can download Sun Java source code, not a crippled implementation.

      --

      "I think this line is mostly filler"
    3. Re:The worst thing that could happen... by ajagci · · Score: 2, Informative

      I agree that Rotor is not open source. But the Rotor license explicitly disclaims any claims over things you learn from looking at the source code. So, you can read the Rotor source code and then go write your own CLR if you like.

      Some of the Sun Java source licenses (there are several), in contrast, pretty much come down to that anything you do after looking at Sun's source code may be considered a derived work.

      The Rotor license is not open source, but harmless. The Sun license, on the other hand, is a serious problem.

    4. Re:The worst thing that could happen... by aled · · Score: 2, Interesting

      "anything you do after looking at Sun's source code may be considered a derived work"

      That's not so; this week at Javalobby Sun JCP Director Onno Kluyt states that looking at Java sources does not taint and is willing to answer FSF questions on the issue.

      --

      "I think this line is mostly filler"
  12. Re:Java, who needs it? by iminplaya · · Score: 5, Funny

    ...but the code should still run without an interpreter/virtual machine/emulator.

    I'll be impressed if they can make it run without a computer.

    --
    What?
  13. Sun doesn't NEED to Open Source anything by fihzy · · Score: 5, Interesting

    Sun has enough fingers in enough pies that will keep it going strong regardless of where it's open source strategy goes. The recent deal with the Chinese standard software company shows that it can leverage open source products without having to open source anything so big as Java to establish their commitment.

  14. Re:Java is ok by kfg · · Score: 3, Insightful

    Java is cool for uber-OO projects. . .

    Nah. Java is cool for run of the mill OO projects where everyone else is using Java too, because everyone else is using Java.

    If you want to look at something interesting check out Apple's Squeak, an implimentation of Smalltalk-80 where even the VM is written in open source Smalltalk.

    Squeak

    KFG

  15. What they are talking about? by aled · · Score: 4, Interesting

    There are some interesting points, but others are nonsense. "needs to position its own (Open Source) NetBeans and rival IBM's Eclipse as mere IDEs that support the Ant way of building applications.". Is publicy know by anyone interested that almost every major IDE supports Ant.
    " Sun can lend credibility to Mozilla and XUL.". As much as I like Mozilla (I'm using it right now) I don't know if anyone could do that.
    This is just an order of magnitud above ESR lowly comment but it still missing the target.

    --

    "I think this line is mostly filler"
  16. No relief by aoteoroa · · Score: 5, Insightful
    From the article:
    The Open Source community would be overjoyed, and the Java user community would be relieved, if Sun were to guarantee the perpetually open nature of Java by Open Source-ing its implementations.
    I make a living writing custom browser based applications, and mostly use JSP/Servlets for the job. . . So I feel that I am part of the "Java user community" and as such I can tell you that I would feel no relief if Sun chose to open source Java.

    Microsoft effectively broke Java by extending it to allow the implimention of native windows widgets that wouldn't run cross platform and since Sun owns Java they were able to sue, and win. I think if Java were open source MS would be free to break it again. It's an old argument and one that we have heard over and over again but it has staying power, I believe, because it is true.
    1. Re:No relief by Simon+Brooke · · Score: 4, Interesting
      I make a living writing custom browser based applications, and mostly use JSP/Servlets for the job. . . So I feel that I am part of the "Java user community" and as such I can tell you that I would feel no relief if Sun chose to open source Java.

      Microsoft effectively broke Java by extending it to allow the implimention of native windows widgets that wouldn't run cross platform and since Sun owns Java they were able to sue, and win. I think if Java were open source MS would be free to break it again. It's an old argument and one that we have heard over and over again but it has staying power, I believe, because it is true.

      Oh, do read the fscking article before posting, just for once!

      Yes, I too make my living writing (mainly) servlets. I think this article makes a lot of sense. The whole stack of tools I use for Java is open source. Partially this is necessity: the stuff I write and sell is open source, so it can't depend on for pay components. But it also can't depend on closed source components because my customers need to know that they can still maintain it if I walk under a bus. They need to have the source.

      And, frankly, in today's climate, the same applies to Sun. The computer game is too rough and too fast moving for any second-tier player, like Sun, to have any guarantees of surviving. And people aren't going to bet their businesses on a technology which might disappear from under them just because Bill Gates decided to buy Sun with the spare change for a couple of beers.

      If Sun choose - as this article suggests - to dual license Java, with one license being entirely closed and proprietary and the other being the GPL, then Microsoft cannot legally poison the well. Any change they make, they have to publish the source.

      If Sun GPL Java they still own Java and they can still sue if Microsoft breaks the terms of the GPL. For Sun to adopt the strategy outlined in this article would, in my mind, be a win for all of us - for you and me as software developers, for our customers' security in their business strategies, and for Sun. I really hope (but don't in the least expect) that Sun will follow this advice.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
  17. Mono?? A threat to java?? by Capitis · · Score: 5, Insightful

    To borrow a phrase from John Stossel: Give me a break!

    While Mono is cool project and, like many developers, one I've been following since it's inception, I don't see it ever overtaking Java, or .Net for that matter. It's a simple matter of resources.

  18. Re:Java, who needs it? by AKAImBatman · · Score: 5, Insightful

    > > Which often benchmark faster than natively implemented code.
    >
    >You do realize that this is impossible, right?

    What makes you say that? In fact, the original poster is quite correct. The JVM *can* generate faster code. You know how? By doing runtime optimizations. Compilers have to optimize for what *might* be the best performance profile at runtime. Also, they can only compile for the lowest common processor. (e.g. A pentium II) The Hotspot Java VM can optimize based on how the code is currently being used, undo an optimization if it starts slowing things down, and use processor specific instructions! Natively compiled code just can't beat that.

  19. Laughable? by eidechse · · Score: 5, Insightful

    "Perl and Python are hardly competitors to Java, so warning Sun about Java's impending loss of market share to these two scripting languages is laughable."

    How so?

    The term "scripting language" doesn't have the name meaning it used to; especially where Perl and Python are concerned. They both get compiled to an intermediate form and executed...just like Java. The only difference (other than the internals of the runtime) is that the Java's development "model" is closely related to it's static typing; i.e., you manually compile your code into a binary before executing. Trying to discount Perl and Python by calling them scripting languages is silly. The real issue is what works as an enterprise development platform, not the "taxonomy" of the language. As far as platforms go, Python has got a pretty good thing in Zope/Plone etc. And both Perl and Python have libraries for damn near everything you'd want to do. J2EE may be more prevalent at the moment, but in terms of bang for buck Python and Perl present some interesting alternatives in the long term.

    1. Re:Laughable? by kfg · · Score: 2, Insightful

      You are thinking as a programmer, in which case Python, Ruby, Smalltalk and CLOS are all viable competitors to Java.

      The author of the article is thinking in terms of what your boss is going to insist you code in because all the other bosses are insisting that their people code in it and thus it has built up an nearly unassailable position in the business code base and mindshare. MS, of course, is assailing it.

      I'm afraid that's how so. Technical merits and suitability aren't even an issue to be discussed at this point.

      In your own business and projects your milage may vary considerably. Lord knows mine does.

      KFG

    2. Re:Laughable? by smallpaul · · Score: 3, Insightful

      1984: Anyone actually working in the IT industry today knows that PC clones are hardly a competitor to genuine IBM machines.

      1993: Anyone actually working in the IT industry today knows that IP is hardly a competitor to NetBIOS and IPX.

      1994: Anyone actually working in the IT industry today knows that Internet Email and the Web are hardly a competitor to Lotus Notes. (or you could use Compuserve)

      1998: Anyone actually working in the IT industry today knows that XML is hardly a competitor to CORBA.

      Now here we are in 2004: anyone actually working in the IT industry today knows that Perl and Python are hardly competitors to Java.

      I've learned over the years that it isn't worth arguing with these people. Just let the change wash over them. They'll never admit in 5 years that they were so short-sighted.

    3. Re:Laughable? by Decaff · · Score: 3, Informative

      What a lot of false comparisons!

      "1994: Anyone actually working in the IT industry today knows that Internet Email and the Web are hardly a competitor to Lotus Notes. (or you could use Compuserve)"

      They aren't competitors. Notes is a collaboration/groupware suite.

      "1998: Anyone actually working in the IT industry today knows that XML is hardly a competitor to CORBA."

      They aren't competitors. XML is just one of many protocols that can be used to implement CORBA. Corba is an Architecture, XML is a data transmission format.

      "Now here we are in 2004: anyone actually working in the IT industry today knows that Perl and Python are hardly competitors to Java."

      They aren't competitors. You don't use Java to bind apps together or to write small scripts. You don't (if you are sane) use a scripting language to write enterprise-level apps like finance or CRM software, or secure distributed systems, or high-performance numerical software. Java and scripting languages complement each other - you can embed Python in Java using Jython, or you can use Java itself as a scripting language via the Bean Shell.

    4. Re:Laughable? by smallpaul · · Score: 2, Interesting

      They aren't competitors. Notes is a collaboration/groupware suite.

      And we aren't collaborating in a group right now? People don't use Intranets and Internet email for what they would have bought Notes for in the mid-90s? I knwo for a fact that that's what happens at non-Microsoft shops. w.g. Oracle doesn't use Notes internally. It uses Internet email, web-based solutions and some collaborative addons of their own.

      They aren't competitors. XML is just one of many protocols that can be used to implement CORBA. Corba is an Architecture, XML is a data transmission format.

      I was talking about XML in the large: XML+SOAP+WSDL, etc. Obviously these are both pitched as enterprise integration technologies and XML-based ones have a lot more traction in business today (think .NET and Axis) than CORBA does.

      You don't (if you are sane) use a scripting language to write enterprise-level apps like finance or CRM software, or secure distributed systems, or high-performance numerical software.

      GNU Enterprise is finance software written in Python. Secure distribute systems in Python? How about mojo nation or ZEO, or the MEMS Exchange or BitTorrent. High performance numerical software? You'd better tell someone down at Lawrence Livermore National Labs that they are insane because they show up at every Python conference and by now have spent millions on Python code. I don't see Java or C# mentioned on their list of key languages. Java in particular is a horrible language for that sort of thing. Do a Google for "Java Floating Point".

      Look: you can understimate Python just as the Unix vendors understimated Linux. In the long run it doesn't really hurt anyone, even you. It is always more comfortable to presume that things will stay in the mental boxes we've built for them in our minds.

    5. Re:Laughable? by Glock27 · · Score: 2, Interesting
      You'd better tell someone down at Lawrence Livermore National Labs that they are insane because they show up at every Python conference and by now have spent millions on Python code. I don't see Java or C# mentioned on their list of key languages. Java in particular is a horrible language for that sort of thing. Do a Google for "Java Floating Point".

      Er, I'd dispute that Java is a horrible HPC language. The last benchmarks I saw that compared Java to the fastest Python implementation the author could find (though he didn't try Jython which might have been faster;) left Python behind by a factor of 10. I don't have the link handy, sorry.

      Python is a nice language, and I'd love to see a very high performance implementation - suitable for 3D game development, for instance. Do you have any pointers?

      TIA!

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
  20. What will happen by pope+nihil · · Score: 4, Insightful

    As soon as Sun GPL'd Java, it would start to diverge from Sun's commercial Java. Sun would not be able to incorporate changes made under the GPL into their corporate version. Sure, they could maintain their own "official" GPL version, but the dual license argument is complete rubbish. Java wouldn't die, but Sun would lose most or all control over it.

    1. Re:What will happen by k98sven · · Score: 3, Insightful

      As soon as Sun GPL'd Java, it would start to diverge from Sun's commercial Java.

      Why?
      I don't see that happening with C, C++, Perl, Python or any of the zillion other programming languages which have open-source implementations.

      There's a spec out there, and Sun owns the trademark on "Java". Only compliant implementations can use it. If it doesn't comply, it's not java, it's a java-like language. And few will use it.

      However, it is true that Sun may lose some degree of control, but only by the same way they're already losing control, by not developing it in the direction people need.

      Few people want to fork stuff just for the heck of it.. but if Sun doesn't want to go in the same direction as their developers, they're going to lose control either way.

    2. Re:What will happen by Hektor_Troy · · Score: 3, Insightful
      I don't see that happening with C, C++
      Really? Funny, because while I'm only still taking classes in C and C++, I keep running into all kinds of idiotic things.

      "Oh, to finish this program, you need the Borland C++ compiler, because it uses some Borland-only calls"

      "Oh, to finish this program, you need the Microsoft C++ compiler, because it uses some Microsoft-only calls"

      "Oh, to finish this program, you need to port it to your favorite C compiler, because it uses standard calls that no compiler implement all off."

      What the fuck? And this is just in classes??? I'm scared to find out what it's like in the "real world".
      --
      We do not live in the 21st century. We live in the 20 second century.
    3. Re:What will happen by zurab · · Score: 2, Interesting
      Few people want to fork stuff just for the heck of it.. but if Sun doesn't want to go in the same direction as their developers, they're going to lose control either way.

      I don't think he meant that it would necessarily get forked. As I understand, SUN would not be able to use any of the GPLed additions/improvements to Java in its commercial offering. In that case, even if SUN was completely in line with their developers, they would either have to give up completely on GPL-only improvements, or duplicate the effort and come up with their own clean-room version of the same. So, dual licensing doesn't give SUN as much advantage as the article would have you believe.
    4. Re:What will happen by prockcore · · Score: 5, Insightful

      This the first time I've ever seen someone blame a language specification for allowing the use of libraries.

      FYI, I can write a Java app that requires MS DLLs as well. It's not the fault of the language.

  21. Grrrr by BeerMilkshake · · Score: 4, Insightful

    [J2EE] has replaced CORBA as the way to go for
    large, distributed enterprise apps

    Has J2EE replaced CORBA in those scenarios where either the client or server is NOT written in Java?

    One of the facts of life in the enterprise is that it is heterogeneous in terms of platforms, operating systems and (maybe) network technologies. Neither J2EE nor .NET is satisfactory in this environment.

  22. Re:Java, who needs it? by jhouserizer · · Score: 5, Informative

    You do realize that this is impossible, right?

    No, this is not impossible. Read up on just-in-time (JIT) compliers and you'll see why. In a nutshell, the Java Virtual Machine profiles the code that is being executed, then uses sophisticated algorythms to anylize this information, then compile (while the system is running) native code from the java byte code, that is optimized for the environment, and more importantly for the ways in which the code is being invoked. Subsequent calls are executed by this newly compiled native code.

    Thus the JIT compiler is able to (often) do a better job at creating optimized native code than a C++ compiler can do, because the C++ compiler doesn't have run-time analysis to use in its decisions of how to optimize the code. The JVM can continuously re-optimize the same code over and over during the life of the application. JVMs of today (and the last few years) do this as standard practice.

  23. RTFA by Pieroxy · · Score: 3, Insightful

    The article does mention that the only visible part of the J2EE iceberg (visible to the decision-makers, not the geeks) is webservers such as Websphere and Weblogic. It doesn't say anything else. It does mention open-source implementations.

    What the author is talking about is a lack of the right communication from Sun on this matter. If Sun continue to advertise only WebSphere and WebLogic, they set the visible price very high.

    1. Re:RTFA by aled · · Score: 2, Interesting

      "If Sun continue to advertise only WebSphere and WebLogic"

      I would say they should fire the marketing department if they are promoting for the competence, IBM and BEA.

      --

      "I think this line is mostly filler"
  24. Re:Java, who needs it? by nadamsieee · · Score: 3, Insightful

    > Also, they can only compile for the lowest common processor. (e.g. A pentium II)

    That may be true for traditional proprietary software, but NOT for F/OS Software. Witness Gentoo; I compile everything for my computer's specific processor. And surely you don't believe that the Hotspot Java VM does its optimizations 'for free'! Every runtime optimization check introduces a performance hit.

  25. The complexity problem by sfjoe · · Score: 5, Interesting

    The most compelling argument he makes is the complaint about the complexity EJBs:

    An Enterprise JavaBean (EJB), which is a component containing business logic, typically requires 5 to 7 supporting files to deploy.

    This is the real issue that Sun needs to address. Java is widely used in enterprise apps because it is easier and faster (therefore cheaper) to develop apps. However, EJBs have some fundamental flaws that add unnecessary complexity and network overhead. I have developed apps for some of the busiest sites in the world and the requirements to strip the code down to the essentials are not compatible with EJBs. More times than not, EJBs are ditched in favor of a servlet-based front-end and a proprietary persistence solution.

    --
    It's simple: I demand prosecution for torture.
    1. Re:The complexity problem by Decaff · · Score: 4, Insightful

      There is now a very effective non-proprietary persistence solution - Java Data Objects (JDO). This typically requires no more than a couple of supporting files in each application no matter how many classes you wish to store. Its far more powerful than EJB, with a portable query language and inheritance. There are many high-quality implementations of the javax.jdo.*
      classes.

  26. Apples to Oranges by r.jimenezz · · Score: 2, Insightful

    I fail to see how many of the article's points relate to Java being open source or not. While we could agree that Sun hasn't been marketing Java the best it could, what's wrong with Ant/XDoclet/JUnit not being developed/sponsored by Sun? Do we really want a single provider like we have with MS? Do we need opensourcing Java if we get many of the benefits as it is, and no bickering/forks/whatnot?

    As for Mono... I will not state my opinion about Mono per se, it's not the point, but let me just say that Mono is trying to catch up on a Microsoft implementation. I fail to see how that compares with opensourcing Java, or even how it is a threat.

    Just my two cents...

    --
    The revolution will not be televised.
  27. Re:OpenSource to the rescue? by tehdaemon · · Score: 2, Insightful
    Nobody has ever sucessfully visited mars yet either. Does that mean no one ever will?? No.

    That said, the fact that sucessfull open-source companies are rare (red hat anyone?) means that open-sourcing java is not gaurenteed to save the company. Simply put, your argument is incomplete at best.

    Sorry, I am a bit picky about proper logic.

    --
    Laws are horrible moral guides, moral guides make even worse laws.
  28. Re:Java, who needs it? by infiniti99 · · Score: 4, Informative

    Qt may not be a language, but it does provide some language extensions via the Meta Object Compiler, which brings some nice things to C++. Also, Qt is not just a GUI library, but actually a whole Java-like foundation for C++. It's good stuff.

    I'm not necessarily disagreeing with you, I'm just elaborating on what Qt is. It's closer to Java in nature than you might think, and with the upcoming Qt4 I can imagine it becoming quite a competitor.

  29. Haven't we heard this once before? by Lamia · · Score: 3, Insightful

    Hmmm - didn't ESR inspire Netscape to following a similar path to "salvation" back in '98? (Netscape)
    Hopefully (for Sun!) history won't fall into its old habit of repeating itself.

  30. What about IBM Clones? That was successful... by i)ave · · Score: 3, Insightful

    IBM is the first example that comes to mind of a company that successfully built a business model around opensource. I'm specifically referring to hardware and how IBM freely licensed the IBM architecture so that any company could manufacture and sell their own, competing, IBM Clone PCs. Perhaps you will remember the early '80's when Apple had all the market share, followed closely by Commodore and the IBM PC was a fledgling no company was worried about. What happened? They 'opensourced' their hardware architecture which Apple and Commodore refused to do. Within a matter of years Apple and Commodore were suddenly competing not just against IBM, but against scores of rival computer manufacturers. What was the end result? IBM-compatible PCs (clones) were far less expensive, parts were plentiful and easy to find, and all the software developers migrated towards DOS because that's where the market was... once that happened, most of the available software was also IBM PC-compatible which just further encouraged people to buy IBM Clones. Had Apple and Commodore been less stingy with their proprietary hardware technology, things could have played out very differently and today everyone might have an Apple and Microsoft might not even be around. But you might ask, "how is the free licensing that IBM implemented, open source?" It was open source because manufacturers were and still are free to propose and develop hardware standards designed to further improve the IBM Clone architecture and they don't need IBM's permission to do it, they need only to get approval from the various standards bodies. If this is not a clear example of how open-source has worked as a successful business model, then I don't know what is. Rather than fight over the market-share that Apple and Commodore owned, IBM just created an entirely new market -- far larger than the one it replaced. So what if IBM had to compete against their own technology they gave away to other Clone manufacturers? Which would you prefer: 10% of 50 million units, or 100% of 1 million units?

    --
    -- I'd give my right arm to be ambidextrous
    1. Re:What about IBM Clones? That was successful... by SpyPlane · · Score: 2, Funny

      Uh... IBM won?? Am I the only one still using a Commodore Amiga??

      Ah well, back to playing Marble Madness...

      --
      "We need a fourth law of Robotics: Stop Fingering My Wife"
    2. Re:What about IBM Clones? That was successful... by k98sven · · Score: 4, Insightful

      You have no idea what you're talking about.

      The IBM PC was a hit from the start. Apple never had "all the market share" outside of the home computer market.

      Nor did IBM ever license their PC architecture. The PC was built mostly on off-the-shelf hardware. Clone manufacturers just reverse-engineered the BIOS.

      Later, IBM tried to regain a proprietary hold over the PC market by putting a bunch of non-standard stuff in the PS/2, like the Microchannel architecture, which never took off because none of the clone manufacturers bought into it.

      There can be no doubt that IBM wanted the total market control.. indeed, they've been playing that game for over 30 years in the Mainframe market.

  31. Open Source it, but under a new license by Anonymous Coward · · Score: 2, Insightful

    They shouldn't use the GPL, they should use a new license which says its basically open source, so as long as you follow the standards for it set out by them. We don't want variants not fully functional and implementing things in different ways, so I need to have 15 Java VMs on my machine, and we don't want it to turn out like browsers where half of them don't support most of the standards making design a PIA.

  32. Re:Java is ok by cbiffle · · Score: 5, Insightful

    I'm only replying lest the parent might be modded up.

    As a professional Java developer who works primarily in Eclipse, Java is not your problem here.

    Are you using a legacy app based around AWT? Then your GUI will most likely be annoyingly limited (with a couple of exceptions on MacOS X).

    Are you using a GUI app using the Swing toolkit? Okay, yes, that's going to be slow -- I'll give you that. But that's similar to saying "Linux is ugly! Just look at (GTK|Qt|Tk|whatever)!"

    Seriously, I'm tired of reading this drech on Slashdot. A properly-implemented Swing is reasonably fast (see MacOS X for an example), but unfortunately the Windows implementation isn't one. Before slamming the language, however, try changing toolkits -- I recommend SWT, as used in Eclipse.

  33. Re:Java is ok by Anonymous Coward · · Score: 3, Insightful

    > It is still to damn slow

    My god, what sort of equipment are you running Java on, an abacus?

    No, Java probably will not be used in the next uber-doom type progam, but for everyday usage type programs on fairly recent computers (built within the last couple of years) it's perfectly fine.

    I'm getting the impression that there are a lot of really POOR programmers out who have no idea how to make a program run fast and use C or C++ as a crutch.

    I also get the feeling that there are a lot of people out there who really haven't even tried a real Java application and just continually regurgitate the MS line.

  34. How does GPL dual licensing work again? by mr_majestyk · · Score: 2, Interesting

    Can someone please give me a refresher in how dual-licensing with the GPL works?

    I know that MySQL charges only when the user redistributes its code for a profit, while internal use is free.

    But the MySQL code is still under GPL, right? Doesn't the GPL require that the code be redistributed for free?

    1. Re:How does GPL dual licensing work again? by paulthomas · · Score: 4, Informative

      Because MySQL AB (the company) retains copyright on the software they can license it however they please. In this case, the company takes advantage of the fact that some people don't like the terms of the GPL (people wanting to build and distribute closed software that is based on MySQL) and lets a company buy a license that allows for use without the so-called "viral" properties of the GPL.

      You can use and distribute MySQL under the GPL as long as you comply with the letter (and spirit :) of the agreement. This does not preclude turning a profit on the distribution. The GPL doesn't require code to be monetarily free (aka 'as in beer'), only that you furnish, for free (or a nominal media cost), the source code of the application to whomever you distribute it.

    2. Re:How does GPL dual licensing work again? by spitzak · · Score: 2, Informative

      A dual license is like the New York Times saying "you can read our paper and it only costs 50 cents a copy. You can also buy rights to copy article into other publications, and that costs $1000." It should be obvious why somebody would pay $1000 for the same text that somebody else would pay 50 cents for.

      For some reason, the idea of the GPL gets people so confused they can no longer see clearly. I'll try to explain: the GPL may be like the New York Times saying "it only costs 50 cents if you are only copying for educational reasons". I.E you can violate their copyright, but only under certain restrictions (such as for educational use only). It should be clear in the NYT case why somebody would still be interested in paying $1000 for the rights to republish an article in a for-profit book.

      In GPL the restriction is you must also grant anybody receiving the copy the same rights the GPL gave you. Now if you don't want to give people your code, it is pretty obvious that you will not be satisfied with the conditions that you can violate the copyright on the GPL code with.

      In this case you can completely ignore the fact that the GPL exists, because the rights it grants do not concern you because you don't plan to take advantage of them. Instead you can pretend it is normal copyright, and then it should be clear that you must talk to the original authors and see if you can purchase rights to violate their copyright.

  35. Java by rshimizu12 · · Score: 3, Insightful

    This guy must be a MS partner.........Most of the .NET development is taking place primarilly in Windows only shops. Also the great majority of .NET development is VB .NET. After seeing how Microsft corrupted the JVM and developed J++ it's hard to see how moving Java to pure open source will help. As for the desktop .NET is only strong because because it has the propietary features to lock people in.

  36. Open Source Java by ajs318 · · Score: 4, Insightful

    While Java stays Sun's closed-source product, Sun retains control over it. Releasing it open-source would mean relinquishing that control forever. Imagine, if you will, the overthrow of an essentially benevolent dictator followed by a less desirable character seizing power.

    The questions Sun needs to ask itself are (1) whether or not Java is ready for that -- or is it more likely that differing implementations would lead to fragmentation, and thus nullify the whole point of Java?; and (2) if Java is ready to go open-source {and I personally believe it is}, what would be the best licence to ensure against fragmentation whilst not putting off purists?

    All these things being said, Java is only a programming language -- a means to an end. Programming languages come and go. There is no reason why another contender should not arise to solve the same problems for which Java was invented, and eventually displace Java. Mono may be that, of course. It is just as likely that something totally new could arrive on the scene and change the whole picture.

    --
    Je fume. Tu fumes. Nous fûmes!
  37. I don't care anymore by ajagci · · Score: 2, Insightful

    Until a couple of years ago, it mattered to me that Java was closed source and that the Java specification itself was closed. (Yes, the Java specification is not open--you can't just implement it without violating Sun's intellectual property.)

    Now, I just don't care anymore. Java has fulfilled its function: it has made garbage collection and runtime safety acceptable among commercial programmers. The Java language and libraries themselves are nothing to write home about and never were. Java could have become a good, general-purpose language and a good, general-purpose platform, but it never really fulfilled its promise. It's become a mediocre specialty language mostly for some kinds of server-side hacking. Open sourcing it or opening the spec would only prolong the agony.

    People should move forward and widen their intellectual horizons again. Look at languages other than Java and get over this illusion that we will ever have a single language in which everything will be done on every platform.

    1. Re:I don't care anymore by Anonymous Coward · · Score: 3, Informative
      "Yes, the Java specification is not open--you can't just implement it without violating Sun's intellectual property."

      Not true at all.
      Go read Sun's license for use of their Java API docs..
      Sun also grants you a perpetual, non-exclusive, worldwide, fully paid-up, royalty free, limited license (without the right to sublicense) under any applicable copyrights or patent rights it may have in the Specification to create and/or distribute an Independent Implementation of the Specification that: (i) fully implements the Spec(s) including all its required interfaces and functionality; (ii) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (iii) passes the TCK (including satisfying the requirements of the applicable TCK Users Guide) for such Specification. The foregoing license is expressly conditioned on your not acting outside its scope. No license is granted hereunder for any other purpose.
      Or in english:
      You can use this to implement your own Java, as long as it is fully compliant with the Java specification.
  38. Mono is a threat by Anonymous Coward · · Score: 3, Funny

    My roommate just got mono and trust me, you want to avoid it at all costs. You're sick and tired and it lasts for weeks.

  39. Avoid SWT on OS X by Jord · · Score: 2, Informative
    Just don't use SWT on Mac OSX. It is a horrible implementation that is slower than Swing on the same machine.

    What were they thinking implementing SWT in Carbon. Even that is not an excuse for the slowness though. About the only full blown java IDE that is slower than Eclipse on OSX is Netbeans :(

  40. Re:Java, who needs it? by AKAImBatman · · Score: 5, Informative

    Please explain how this would be faster than writing the app in native code using an assembler and then I'll believe you.

    Ok. My assembly is a little rusty, so bear with me. Let's say we have equivalent Java and C programs. They both have to run on a 386 or higher. (Bear with me. I haven't kept up with the MMX/SSE/SSE2 instructions, so I'll have to fake this a little.) Now, your C compiler will see that you want to store a 32 bit value, but has to generate code for a 386. So, it generates the code:

    pop AX
    STOSW 0x0005
    pop AX
    STOSW 0x0005

    Even though the code may be running on a Pentium Pro (which is optmized for 32 bit code), it's still going to execute those 4 statements.

    Now, the Java Hotspot compiler will start and notice the fact that you're running on a Pentium Pro. So when it converts the bytecode to machine code, it creates the following instructions:

    pop EAX
    STOD 0x0005

    That's twice as fast as the C code!

    Real code would tend to be running on modern processors, so this example is a little contrived. However, the JVM can (and will) use SSE instructions to do multiple calculations in one instruction, while the C code will be forced to generate non-SSE instructions to support the old Pentium Is out there.

    Hotspot is also capable of analyzing the running code and regenerating even better assembly that would perform poorly in other circumstances. For example, let's say Hotspot notices that the bounds can't be exceeded on an array. Well, Hotspot will then recompile to remove the bounds checking.

    Does that explain it better?

  41. C#, Java & GNOME by fantastic+max · · Score: 3, Insightful

    I don't understand why Sun is, on the one hand, so active in and dedicated to the GNOME desktop, whereas on the other hand, they're not doing a single thing about Mono becoming an important part of the desktop, pushing Java back even further.

    Face it: Sun, one of the head developers of GNOME, is losing the fight of Java versus C#, which is the official language from GNOME (Linux)'s biggest enemy Microsoft. Where's the logic? I mean, if Java loses even *this* battle, then how are they ever going to keep any significant marketshare?

    So yes, Sun should do something.

    1. Re:C#, Java & GNOME by chromatic · · Score: 2, Insightful

      The conspiracy minded might wonder if Sun sees Java -- not Linux -- as the most important part of the Java Desktop System. As long as people are migrating away from Windows, why not sell them an OS where Java is the preferred system programming language?

  42. Programming Language Popularity Trends TIOBE by Anonymous Coward · · Score: 3, Informative

    This Dutch company produces some interesting stats for those interested in the popularity trends of languages TIOBE Programming Community Index February 2004

  43. Re:Java, who needs it? by ComputerSlicer23 · · Score: 2, Interesting
    I'm not saying this is true for Java (but some of the links below reference JIT), but Dynamo (on old HP project that sounded like it was a rehash of the IBM DAISY project), used to claim they got a 20% speed up from dynamically translating from native code to native code.

    You read that right, they went from PA-RISC to PA-RISC. Picked up a big boost in speed. It claims on some benchmarks it taking code compiled with -O, had performance like -O4 was used while compiling (they dont' cite a specific percentage in the abstract). Below is the link.

    http://portal.acm.org/citation.cfm?id=349303&dl=AC M&coll=portal

    Here's an old slashdot.org article about it:

    http://slashdot.org/articles/00/03/23/106257.shtml

    The link in there is the one that references the 20% speed up. I believe a lot of this type of technology has been silicon on the P4 (it believe some of the instruction cache/micro op trace cache stuff does) does runtime optimization.

    This is essentially the same technology that is used by Valgrind (very cool debugging tool). Valgrind, doesn't do optimization, it does memory reference checks (ensures you never access memory for a read, until you have written there), and has a version that will compute the cache hits rate by each instruction. Now it slows down tremendously the code, but that's because it's not an optimizer, it's just a useful concept based on JIT translation.

    So clearly JIT can create situations where it can out-optimize the best optimized code a compiler can construct. That isn't saying that a Java JIT can whoop up on a good C++ compiler, but it does demonstrate that what they are saying is feasible.

    It's my understanding that the primary place where a JIT translation can just crush regular code, is that it can optimize across function calls, and it can optimize across system calls (system calls are function calls, but I know that the Intel compiler can optimize across some function calls, but nobody can optimize across system calls sanely).

    A JIT, can do all the peephole optimization across translaction units, that a C++ compiler can't legally do. The other thing it can do, is write the version of the code that runs after if there are no aliases (I'm unaware of a compiler that does this, and it's my understanding that's a major problem for C/C++ compilers).

    Kirby

  44. facts and not BS by Anonymous Coward · · Score: 5, Interesting
    Ok, I work in the financial software domain and from first hand experience, I see the opposite happening. the article says this, but I see no proof of it.

    However, if you put your ear to the ground, you will discover that Microsoft's .NET framework is finding its way even into such organisations as a "tactical solution" for smaller, departmental level projects. It is dangerous for Sun to ignore this trend. In the early nineties, Sun's workstations were far more capable (and far pricier) than the humble PC powered by a lowly Microsoft OS called DOS. Today, Sun has lost the workstation market to an evolved PC, running an evolved Microsoft OS, in spite of its initial advantages in power and openness.

    Java never had a strong presence on the client side. I know of several financial software companies that are going with a java middle/backend and .NET front end. There are several reasons for this: the first one is webservices and the second is proven scalability of java application servers. I won't name the companies, but those in the OMS (Order Management Systems) industry will know this is one trend. Just google for it and you'll see several of the top companies are moving towards J2EE for the serverside. In fact the companies winning in the financial software world is changing as a result of OpenSource software and J2EE.

    Rather than see Sun simply OpenSource Java, I would rather Sun do two things. the first is make it a real standard and resubmit it to a standard body. the second is provide a BSD style license of Java. When I say Java, I mean just the JVM/JRE. I work with .NET on my day job. MS has made great strides with .NET, but scalability for large systems still sucks big time. Websites that used to use ASP + MTS will see great improvements in reliability and performance. What they won't see is a great improvement in scalability. That basically means transactional systems that were hard to maintain and difficult to develop previously on windows will be easier to build and maintain.

    A professional developer, who is open minded will already know this. The real problem with using .NET is if your business needs to grow to support large scale deployments, it's a dead end. Eventually, the system will have to be replaced with a proven J2EE solution. what do I mean by large? Large might be a transactional system that is message oriented and needs to handle 300-500 transactional messages a second, or requires distributed transactions. Doing these things in .NET still very difficult, but like these types of applications were ever easy. The fact is, .NET makes easy stuff easier to build, but for hard stuff, it basically can't do it well. That's where java shines. Java is harder to learn for simple stuff, but ultimately allows you to scale to massive levels, like handling 2K transactional messages a second.

    Most companies don't need that kind of power and probably never will. Microsoft is strongest in small and medium/small firms. Ignoring all the PR BS, that world has remained basically the same.

    1. Re:facts and not BS by cyberjessy · · Score: 5, Interesting

      Who modded this interesting!

      Websites that used to use ASP + MTS will see great improvements in reliability and performance. What they won't see is a great improvement in scalability. That basically means transactional systems that were hard to maintain and difficult to develop previously on windows will be easier to build and maintain.

      ASP.Net is one of the most scalable web platforms available. Which is why match.com(serving 30 million pages/day) uses ASP.Net. The whole system runs on around 40 servers, each balanced at 50% load. Microsoft's msn.com + microsoft.com get more hits than any other site in the world after yahoo. Based on the projects i ve worked on, we were able to achieve better scalability than anything I have seen in Java at a lower cost.

      Large might be a transactional system that is message oriented and needs to handle 300-500 transactional messages a second, or requires distributed transactions.

      You said you work with .Net on your day job! I cant believe you have no clue how to do distributed transactions on .Net. You can read the DistribTransaction sample source code that installs with .Net. Distributed Transaction support is very strong in .Net.

      --
      Life is just a conviction.
    2. Re:facts and not BS by Anonymous Coward · · Score: 2, Interesting
      You said you work with .Net on your day job! I cant believe you have no clue how to do distributed transactions on .Net. You can read the DistribTransaction sample source code that installs with .Net. Distributed Transaction support is very strong in .Net.

      Is this reasoning backed up by facts and real data? I don't know match.com, but I seriously doubt it is transactional. Unless match.com needs to have real-time transactional capabilities, they shouldn't be transactional at all. Well aside from registration, which I doubt is more than a couple hundred a day. I have no clue how match.com is designed, but a simple caching mechanism would scale well and negate the need hit the database at all. I've read the distributed transaction samples in .NET, and they aren't the same thing as EJB's. I could be wrong, but I believe there is some truth to the original post. The project I've been working on needed to use messaging, but after looking at the benchmarks of biztalk, it doesn't come close to matching IBM MQSeries. In terms of distributed transactions, I don't know of anyone that uses COM+ for it. In fact, there are several MSDN articles that caution developers towards using it. In most of the articles I've read on either MSDN/Technet or other sites, the recommendation is to make absolutely sure you need distributed transactions and write your COM+ component carefully. Managing complex distributed transactions in COM+ is generally not recommended by those who write transactional systems for large corporations. Most go with Tuxedo or something similar. I'd love to be proven wrong, so point to facts and real data if you can prove it. That way, it will shut OSS fanatics up for a few seconds.

  45. Re:Java, who needs it? by AKAImBatman · · Score: 2, Interesting

    Here

    You'll need OpenOffice or (ewww) MSOffice to read it. Alternatively, there's a Google cache, but it isn't very interesting without the images.

  46. Re:Java, who needs it? by AKAImBatman · · Score: 2, Informative

    No way. I can believe that - given certain conditions - a good compiler can optimise code better than an assembler (I believe it, but i've never seen it; I'm told that this is the case), but I cannot believe that an interpreter can. Maybe I'm living in the past. Please correct me.

    Wrong on many counts. First off, Hotspot is a native compiler. It just compiles at runtime. Secondly, a good compiler can outperform a human optimizer because it can juggle such concepts as superscaler packets, out of order execution, and predictive branching. These are things that take a human a long time to calculate and figure out effectively.

    BTW, it's been this way for 10+ years. It's just taken Intel processors a long time to catch up. And the *#$@ things STILL don't do SuperScaler right. Nor do they have enough registers. Or proper task switching. In fact, I think Intel still recommends not using the built-in task switch instructions. Blech.

  47. Re:Java, who needs it? by Jord · · Score: 2, Informative

    Hopefully you (and those reading this) realize that Java has had Just In Time compilers for a long time now. Java code actually gets faster (if properly written of course) as it runs. I am sure Mono does this also but it is definitely not something that is exclusive to the Mono project.

  48. Re:Java, who needs it? by AKAImBatman · · Score: 4, Insightful

    No, it doesn't. The second piece of code will not run on a 386 like you said it must.


    Of course it won't! That's the point. The Hotspot compiler will generate the second piece of code because it notices you're using a Pentium Pro. If the JVM was running on a 386, it would generate the first bit of code, just like the C compiler.


    Also, GNU GCC compiles code for processors like i686 that still executes on i386 by not using the i686-only instructions.


    As much as I wish they did, not all OSes use ELF binaries. Besides, generating binaries for multiple processors creates a great deal of bloat in the binaries. Not to mention that the JVM will be able to optimize for future processers (when they come out) while the GCC binaries will only be optimized through the current processor.

  49. Re:Java is ok by malachid69 · · Score: 5, Interesting

    I completely agree (with everything except SWT/Eclipse).

    Everyone was talking about how Java is slow, and how it looks ugly, and we should do our app in VB.

    My boss let me write it in Java anyways (with comments that if it did NOT perform well and look good, we might have to redo it in something else).

    I passed it off to the guy doing the C++ remote server, and he was completely impressed with the looks and speed (yes, it was even Swing on Windows). I came into work the next morning to everyone congratulating me on a great UI, because evidentally it was shown off to everyone at the Pub the previous night.

    The point is, there are a few problems of bad performance/look in Java UI... These are:
    1) User is using an old version of Java, usually one that is end-of-lifed.
    2) The coder wrote it in AWT
    3) The coder wrote it in Swing, but without reading ANY of the documentation on Swing+Threads
    4) The UI was patched & patched over and over, without designing it correctly first
    5) The coder didn't utilize any look-n-feels
    6) Bad threading design (ie: synchronizing when there is no need to, etc)

    Is there anything that could be done better? Of course, otherwise there would be no one coding with the JCP. But, can you HONESTLY say any other language is completely perfect as-is?

    I don't agree with your point about Eclipse/SWT though. I have a serious problem with needing to install any 3rd-party platform-specific java libraries... just goes against the whole concept of pure-Java, but then again, I am a purist. I also don't like the overall look of the SWT apps (some of the things like the disappearing Xs on the tabs annoy the hell out of me), and don't like the complexity that Eclipse adds to simple projects. I remember feeling the same way about JBuilder years ago, but to a lesser degree. Today, I write all my Java code in JCreator (or pico if I am logged into my BSD box), and use ANT to build with.

    I am also tired of all the "Java-should-be-Open-Source" by people who have never bothered to spend 10 minutes looking into the JCP and how Java IS currently Open Source and how Java is NOT run exclusively by Sun anymore. Every couple days/weeks, I log onto Slashdot and someone else is making these presumptious claims without looking into the facts.

    Just my 2 cents

    --
    http://www.google.com/profiles/malachid
  50. Why is Mono a "threat"? by fitten · · Score: 2, Funny

    Why is Mono a "threat"? Is it not possible for both to exist? Perl and bsh both exist on my machine and it doesn't explode even though they overlap in functionality.

  51. mono IS a threat... by what+the+dumple+is · · Score: 2, Funny

    According to popular legend, once all of Issaquah high school came down with mono.

    I've never had mono, but it sounds like a shitty way to spend a month.

  52. Re:Java's fine by Trejkaz · · Score: 2, Funny

    Yeah, probably three out of the total five programming jobs are Java. *sizzle*

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  53. Comparing apples and oranges---See DCOM and CORBA by Brian_Ellenberger · · Score: 3, Interesting

    This is the real issue that Sun needs to address. Java is widely used in enterprise apps because it is easier and faster (therefore cheaper) to develop apps. However, EJBs have some fundamental flaws that add unnecessary complexity and network overhead. I have developed apps for some of the busiest sites in the world and the requirements to strip the code down to the essentials are not compatible with EJBs. More times than not, EJBs are ditched in favor of a servlet-based front-end and a proprietary persistence solution.

    I don't mean this negatively, but if your problem is simple enough to solve with servlets then use servlets by all means. And yes, Entity Beans suck and should be avoided at all costs. And much of the time EJBs are overkill.

    But if you need clusterable objects with failover and seemless transaction support nothing is easier than EJBs. Go try and do some CORBA or DCOM programming and see how complicated is can get. More power=more complexity.

    Brian Ellenberger

  54. Lots of stuff on javalobby.org by memmel2 · · Score: 2, Informative

    If you want to read quite a bit of diffrent views on the subject there are several threads on http://www.javalobby.org I think they cover this topic in painful detail. My favorite quote is by Guillaume http://www.javalobby.org/thread.jspa?messageID=917 90106&threadID=11559&forumID=61

  55. Re:Java is ok by angel'o'sphere · · Score: 2, Informative

    That is kinda cool actually. Now let's write a JVM in Java!

    Done.
    google for RVM, research java virtual machine. An IBM project.
    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  56. Thin clients by Trejkaz · · Score: 3, Interesting

    One interesting thing the article brings up is XUL. Since it seems to do so well provided a pretty platform is written to run it, maybe it would be a good idea to, as they suggest, get it standardised at the W3C.

    Actually in general, I feel it would be a good idea for Sun to start pushing towards an architecture which allows for server-side (in the X sense, where the server is the terminal) widgets, whether they use something like SWT (which will never happen due to wars with IBM) or even an improved AWT.

    Server-side widgets would make the client even thinner, and if it were all in script you could just use the same code on all platforms and the rendering mechanism would determine how it looks. Maybe if Y-Windows ever takes off you could even have an implementation for that, and things would be lightning fast. :-)

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  57. Re:Java, who needs it?/Bytecode vs. native code by sploxx · · Score: 4, Insightful

    Well, you're right, but there tools that do profiling for C/C++. This thread should rather be named "(JIT) Bytecode vs native code"
    Java".

    The front-end languages C++ or java don't really do much about the perfomance (except that you can manually optimize things you can't do in java because of missing pointers etc.) (*)

    IMHO, java bytecode suffers from the following things (and so do the users of java programs) - [they are the reasons,I think, why all java programs I've seen so far (and all the not-for-java-crafted benchmarks) are running considerably slower than C/C++]:

    Technical:
    - Java bytecode is low level enough to lose certain optimizations (JITs have to apply decompilation techniques) which you can do in C/C++. You can of course compile Java natively (e.g. with gcj), yes. But then, you lose portability.

    - Java bytecode is not low-level enough that you can take advantage of the features of the particular hardware. Java's ints are 32 bit. What if you run your numerical java code on 64 bit machines?

    Political:
    - The java bytecode format is so specific that it is impossible or rather hard (there was once a java backend for egcs, admitted) to get other languages like C/C++ to run on it. Why does one have to chose the platform java with the language java? I don't know .NET, but from what I heard, multiple frontends for arbitrary languages are possible.

    I'd like to have a VM for C++ *and* Java. That would surely rock and end some of the flamewars.

    (*)- The often stated security argument (java has no pointers and is therefore inherently more secure than C++) would fall with C++ on a VM.

  58. IRTFA by angel'o'sphere · · Score: 3, Interesting

    I read the f***ing article.

    After the 5th paragraph I stopped reading. After the 5th paragraph the new headline "Rephrasing Eric Raymond" I stopped reading.

    Sorry folks .... probably the article has some insights but the start is way off.

    If I count commercial, non open source, Java implementations I count ... 3? Probably 3. Not sure.

    If I count open source java implementatinos I count ... 10? 15?

    Why ... why should SUN "Open Source Java"? What bullshit idea. Probably there are indeed reasons to do so. However, the article completely fails to show them. Heck! Why should Mono be a competition to Java? Why should Mono, Open Source, cool ... Microsoft .Net, not Open Source ... cool either, why should that be a reason to Open Source Java?

    Man, this Open Source ... Closed Source, commercial ... discussion just sucks. Mono or .Net are no competition to SUN/Java.

    Why should PERL be a competition to C++? This "are programming languages"!!!!! Sure, .NET is a platform also, Java is a platform as well, also. But, the heck, where is the relation to Open Source in that regard?

    Do you think any german customer, using Java takes a shit if it is Open Source? I would bet that 90% of the german projects done in Java, just download the JDK and code it, and thats it. No SUN, no IBM, no Open Source, no idiology involved.

    Why the heck should anyone care if it is Open Source or closed? Especially if tehre are 5 times the Open Source implementations existing than closed ones? Especialy if none of the open ones are used in commercial projects?

    Do you really think "Deutsche Bank" would "take" an Open Source java implementation for their next Enterprise Portal?

    No, they take the CPL SUN implementation, or the semi open AIBM implementation, or the Apple colsed source implementation or the HP closed source implementation or the BEA JRocket, closed source JVM or any other closed source JVM.

    SUN has absolutely no benfit in a contract with Deutsche Bank about a offering an Open Source Java ... as Deutsche Bank buys not JAVA, they buy consulting.

    Using any JDK and Deploying any JDK based application is FREE as in BEER regadless which JDK you use, SUNs, IBMs, HPs, Apples.

    The real world does not care if it is free as in SPEECH as long as they dont have to PAY FOR IT.

    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  59. What a dumb article by Decaff · · Score: 5, Insightful

    Its full of contradictions and silly mistakes.

    J2EE is small and easy, not large and expensive. Anyone can build JSP pages or use Servlets on a free but high-quality App server like Tomcat - this may not involve Enterprise Java Beans (the least used aspect of J2EE), but its still J2EE and it costs nothing.

    How can .Net be a threat when Microsoft is struggling (making a loss!) on the server side? Unless the Mono folks unwisely give Microsoft an escape route, the eventual rise of Linux on the desktop will squash .Net flat. This rise is starting: I develop websites for international use. If I deploy anything that requires Microsoft on the client (as do .Net apps), I soon get enough complaints to convince me otherwise!

    Why does Java need to be Open Source to ride the Linux revolution? High-quality Java VMs are ready for Linux.

    Java is the most widely requested language for development, and its use is still rapidly expanding. Sun has nothing to fear.

    1. Re:What a dumb article by Decaff · · Score: 2

      The article was talking about client-side components running on enhanced browsers:

      ".NET boasts components on both the client and the server"

      Obviously if you use only server-side .Net this will not arise.

  60. OK without RTFA,, Sun does alright as it iit seems by Ricin · · Score: 2, Insightful

    It's more important to get binary packages qualified (FreeBSD...). But other than that, come on, Java can be used pretty much unencumbered. What's the problem for end user apps?

    Heck look at the wave of new cellphones, they all have Java and Real as far as I'm aware. This is also where the DRM fight is going to be, not on your PC (otherwise I don't use the little plastic critters at all -- don't ask me).

  61. Open sourcing Java give MS free reign by geekee · · Score: 3, Interesting

    "The GPL is also the only Open Source license that can keep Microsoft from "polluting" Java."

    If Java is Open Source. MS can change it all they want from the Sun standard. The only stipulation is that they then must release their source code. MS would love this as it puts them in a far better position than they're in now, where they're not allowed to ship non-compliant versions of Java as ordered by the courts.

    --
    Vote for Pedro
    1. Re:Open sourcing Java give MS free reign by ClosedSource · · Score: 2, Insightful

      Actually, I don't think MS would bother. If they released a new version of Java it would look like a they had no confidence in .Net.

  62. The majority of dot net is VB.net? by brokeninside · · Score: 2, Informative
    Where do you get that idea from? VB (all incarnations) has many more users than C#. C# is tremendously growing in marketshare. VB is not. Most VB users learning dot net are switching to C# over VB.

    Don't believe me? Don't take my word for it.

  63. Re:Java, who needs it? by Too+Much+Noise · · Score: 2, Interesting

    so you're saying the jvm can do just-in-time optimizations ... ok, I'll grant you that. It CAN be a benefit. but let's take things with a grain of salt here.

    (*)optimizations are expensive. compilers do multipass optimizations routinely.
    (*)jit optimizations have to come in parallel with the running code and this sucks resources in the beginnig.

    So it boils down to something like a long-running java app might eventually end up as fast as, or faster, than a C/C++ counterpart. That is open to debate. The thing that is more certain is that you usually get better maintainability for java when changing platforms/instruction sets. This is tautological, as it comes from the very idea behind java.

    The reason why I believe your argument is open to debate is that there are only so many optimizations the language will allow. It's not just a question of generating the machine code (although that comes in too - and it is expensive) Look at the long-standing issue of the language of choice for HPC - Fortran. C++ is so much better, but the compilers are not allowed to do optimizations as aggressively for c++ as for fortran. Hence, C++ code tends to be slower than Fortran code. Plus, there's always language overhead.

    Bottom line is, there are always the 2 extreme cases and the 'in-between' ones. Java can be fast, provided you have the right combination of code (including coder) and jit compiler. But the same goes for native compilers as well, and in the real world this 'match made in heaven' rarely occurs.

  64. Re:Java, who needs it? by AKAImBatman · · Score: 2, Insightful

    Very observant. My original reply was to the poster who said it was impossible for the JVM to run faster than native. However, I realize that real world code is likely to be impacted by the time it takes the Hotspot compiler to do optimizations. (That's actually one of the reasons that Java has been such a good fit for servers.)

    Now here's the catch-22. All this stuff about making code perform better on the processor is BS. Unless you happen to have a platform designed for HPC (such as a Cray), your processor is otherwise spending that time doing nothing. (Memory wait states, cache misses, and other annoyances.) The thing to pay attention to is that the lost cycles don't matter. A .5% increase in performance is not going to make a lick of difference when your code is only running for 300 milliseconds at a time. And in that 300 millisconds, a few hundred million instructions get processed.

    Unless programmers have a justification for a few thousand extra instructions a second (e.g. crypto cracking), their time would be better spent writing portable and maintainable code. The time they save from that maintainability can then be put into adding new features, and making their applications that much better. Especially since Java excels in the area of libraries. Dream up the most complex program you want, and I'll guarantee that 60-90% of the hard work has already been done for you.

    Compare that to DLLs and staticly linked libs. Using C and C++ libraries back in the day, was more an exercise in frustration. Eventually you just said, "screw it!" and rewrote it yourself. Today, there are some very good libs for Unix, but there is still nowhere near the wealth of libs as Java has.

  65. Re:Java, who needs it? by OoSync · · Score: 2, Interesting

    Something that often crops up in the C/C++ versus Fortran discussions is pointer-aliasing. The inability of C/C++ compilers to really optimize around the problem of pointer-aliasing is a non-trivial problem and impedes the performance of those codes.

    Now, I don't program in Java, but I understand that Java pointers are "smarter" than C/C++ pointers and that the JVM may be smarter at determining aliasing and be more aggressive about optimizing. If (again, I don't know, but I'd be interested in knowing) this is true, then it could be relatively easy to imagine situations in which a JVM (with appropriately aggressive optimizations) can execute code much faster than C/C++ compiled code.

    --

    I always get the shakes before a drop.
  66. Re:Java is ok by sbrown123 · · Score: 3, Informative


    I say this after watching some very simple, no-GUI programs translated straight from C++ to Java code. No extras added, bare minimum amount of work.


    I wont dig for the Slashdot article but a OSS article covered a benchmark showing Java running as fast (and sometimes faster) than C++. One thing poorly done though in Java was trig functions.

    Java does come with some baggage you wont find in C++. Mainly thats the garbage collector. But then again, you cant get a memory leak in Java which is very simple to do in C++.


    But once it reaches a certain level of complexity, I'd rather save the CPU cycles and go with something better.


    I mix the two. Theres two ways of doing this: JNI or CNI. The Java Native Interface is okay for accessing C code from Java. The Cygnus Native Interface (see gcj) treats every java object as a c++ object which makes using the two languages together very easy. Oh, and GCJ allows you to compile to native executable rather than byte code if speeds and issue.

    Now, I dont see java becoming a mainstream staple for game development or heavy multimedia. But I could be wrong in the next couple of years.

    I have to say you are atleast honest and explained your views. Many Slashdotters give the "its slower than dirt" and generally have no idea what they are talking about. I myself play all sides and just know the strengths and weaknesses of the different languages and dont play favorites. Its the best way to be IMHO.

  67. Re:Open Source Java by Christ-on-a-bike · · Score: 2, Insightful
    While Java stays Sun's closed-source product, Sun retains control over it. Releasing it open-source would mean relinquishing that control forever.

    Kind of like how Linus Torvalds completely lost control of Linux? </sarcasm>

    Sun would retain copyright and the right to relicense or dual-license. The scenario could be parallel to Mozilla or Qt, but with Sun Java's existing huge userbase.

    If the JVM (at least) was Qt style relicensed GPL, we might perhaps see some performance enhancements on Linux, as well as integration of Sun's JVM into GNU/Linux distros like Debian and Fedora Core. Sun would surely like that.

    This makes a lot more sense than relicensing under BSD, as that would enable MS (say) to quickly release broken/incompatible JVMs in their future OSs without breaching their legal obligations and without giving the source away.

    To sum up, My answer to your query (2) is 'GPL'.

  68. A Tale Of Two Javas by TrancePhreak · · Score: 2, Funny

    A long time ago there was the MS Java JIT. It loaded up and ran Java applets and played nicely with others. The web was browseable and never caused the evil BSOD to appear. However, the father who never liked this child wanted to push their own JIT upon the people. It was known as the Sun JRE. It didn't like Windows, and often crashed it out of hatred. A great many web pages were blockaded by the JRE. It brought the terrible BSOD any time it could.

    To be continued....

    --

    -]Phreak Out[-
  69. Mod parent up! by earache · · Score: 4, Interesting

    We just scaled a single server asp.net solution to a 5 server farm without a single code change or recompile.

    I did have to change one line in the web.config file though. I guess that 10 minutes of my time isn't a great improvement in scalability? :p

  70. IBM urges Sun to make Java open source by burtonator · · Score: 4, Interesting

    This was just published an hour ago:

    IBM on Wednesday sent an open letter to Sun Microsystems urging Sun to make Java technology open source, CNET News.com has learned.

    In a letter sent by Rod Smith, IBM's vice president of emerging technology, IBM offered to work with Sun to create a project that would shepherd development of Java through an open-source development model. If implemented, portions of Sun's most valuable software asset--Java--would be freely available, and contributors ranging from volunteer programmers to large corporations would submit changes to the Java software.

    http://news.com.com/2100-1007_3-5165427.html

  71. The real danger by denks · · Score: 2, Insightful
    Sun would not be able to incorporate changes made under the GPL into their corporate version

    I call bullshit on this. If Sun released a GPL'ed version of Java, as they own the copyright to it, they can include whatever changes they made in their GPL'ed version into their own commercial version. On top of that, as they own the copyright to the name "Java", they could set the standards (as they already do) where if implementations did not conform to their standard, then the implementations could not be called "Java".

    The real danger, which until now fortunately has been avoided, is when developers are presented with the choice of either having to open their source code when using the GPL Java, or paying Sun a fee for using the commercial Java. How can this be considered more "free" than the current situation where you can do what you please with your own software? If you want to GPL your software, go ahead. If you want to keep it closed, you are free to do so.

    Currently as far as I understand you can implement Java any way you wish, as long as it conforms to Sun's standards. Isnt this what the OSS community has been calling for? Open standards? This appears to present us with both the advantages of OSS and commercial software. A central controlling body for the standard, with the openness to implement how anyone sees fit.

    --

    I am Monkey, the Great Sage, equal of heaven!
  72. Re:Java is ok by cubic6 · · Score: 2, Insightful

    First, I do know WFT[sic] I'm talking about. I've used quite a few Java apps, from Ant to Netbeans to a little JSP/Servelets. I've also written a lot of C++ and C. It's ridiculous to say that Java is always as fast of faster than C and C++. In certain heavily optimized situations, it can be. But simply due to the extra overhead from GC and the VM, there's a significant slowdown compared to any language that compiles to native machine code. I'm excluding Java code that's natively compiled, because that gives up much of what makes Java good.

    You're completely avoiding the real issue here. You can say "Java is as fast as C++" as much as you'd like, but that doesn't change the fact that most Java apps ARE slower to the end user. This may be because the libraries aren't loaded or the UI isn't as responsive, but the bottom line is that Java isn't keeping up.

    You refer to "cheating-ass windows programs". I assume you're referring to programs like Office or Mozilla who have a quickstart option that loads the program into memory on boot. That's a whole different issue. Most native code programs start fast because there isn't much to start up, not because they cheat. There's a lot more to it than that, but my post is getting long already, so I'll explain the rest if you really want to hear it.

    In short, just because a lot of people claiming Java is slow are idiots doesn't mean that you can just dismiss their complaints. There are a lot of smart people who want a faster Java too.

    --
    Karma: Contrapositive
  73. who cares of standards? by Arioch_BDV · · Score: 4, Insightful

    Take a look at .NET
    IT has open ECMA specification - and Microsoft made a great P on that.

    But the real programs will be made upon MS .NET with all it's propietary extensions to the standard. The standard itself is gonne mean nothing.

    Projects like www.DotGNU.org understands it well, so they are running behind (and trying to chase) the very MS libraries, not only the standards.
    And Microsoft said that it is their strategy - add new technologies so fast, that competitors have no time to invent their own one.

    1. Re:who cares of standards? by malachid69 · · Score: 2, Interesting

      If I remember right, the reason that Sun did not make Java an ECMA standard was because Microsoft was on the ECMA board.

      Honestly, with their business practices, I wouldn't want to submit my designs to anything Micro$oft has a hand it. Would you?

      --
      http://www.google.com/profiles/malachid
  74. Opensource is not the all answer by ducomputergeek · · Score: 5, Insightful
    There are a few in the Opensource community that would love all software to roam "free" in all sense of the word, but I for one do not think that Opensource is the answer to every problem. Java is one of those tools that I fail to see what the beneift would be, hell it could be even worse if it went OSS.

    Why? Well remember JVM and how Microsoft corrupted the compatiablity? Java's goal is to be cross platform and to do so means there needs to be a centralized development effort. If suddenly there are 50 versions of J2EE on the market, each with its unquie traits, which do I run? How do I know that the app I program will work on the others? If it doesn't run on everything, hasn't the point of Java been defeated?

    I once worked for a company that was looking to port some of its Solaris & AIX Applications to Linux, but 3 months into the project, the question became what distros to support. They tried porting their application with some modifications. Got it to run fine on RedHat 5.x (it was a while ago), but then it took some playing around to work with SuSE and we never did get it to compile on Slackware. When they said they planned to support RedHat default only, meaning if system admins were using a tweaked box or kernal, we would not offer support. Needless to say, potential clients scoffed at the idea and after 6 months they decided that the Linux Market wasn't worth the hassle until some standards had emerged. This is why a lot of developers won't port to linux, especially desktop applications: too many variations.

    I see the same potential of Java, to become slpit into so many forks, that it defeats the purpose in the first place.

    I like opensource applications, but I don't think that Opensource is always the answer. Another good example is a good friend that is developing a support ticket application for the company he works for. I asked him, "Isn't there several GPL'd apps outhere that could installed within a couple hours?" He responded of course, but he put it this way: "I like to use my own code and not other peoples. Its a lot less messy that way." and I see his point.

    IF it wasn't for opensource, I would have never learned how to program in PHP, PERL, and various SQL databases, it was a great learning tool, but like every tool, there is the correct tool for the job. I say this as I switched from Linux to Macintosh almost two years ago now and I am willing to pay for the luxury of having everything work. Just like we now pay for managed instead of self-managed servers for our business. There is only 3 of us and we now have enough business that its costing us more to run our own servers than to pay a little extra for managed services where the keep up with the updates and such.

    All I am saying is that projects have goals. Sometimes Opensource meets those goals, but its not a cure all. The beauty is that we have the choice of using Opensource or to use a propritary solution.

    --
    "The problem with socialism is eventually you run out of other people's money" - Thatcher.
  75. Re:Open Source Java by willdenniss · · Score: 2, Insightful

    While Java stays Sun's closed-source product, Sun retains control over it. Releasing it open-source would mean relinquishing that control forever. Imagine, if you will, the overthrow of an essentially benevolent dictator followed by a less desirable character seizing power. I'm getting sick of everyone saying this - Sun has actually given up a lot of their control with the introduction of the Java Community Process. Please research you facts! Will.

  76. facts? by darekana · · Score: 2, Insightful

    I seem to have missed the facts part... too.

    Orkut is another example of a .NET system that is getting scaled right NOW to zillions (approx.) of users.

    Granted they are hitting some bumps, but I've seen java based shopping sites with bigger problems and fewer active users. They ended up taking the site down for weeks. Not to mention the site was unusable while up.

    Just goes to show that it's not the language... it's how you use it.

  77. A More Pragmatic Request by rmathew · · Score: 2, Insightful
    Tom Tromey, one of the leading developers on
    the GNU Compiler for Java (GCJ) posted a very nice and
    much more pragmatic request to Sun. Reproduced below:

    > Getting more contributors to OSS Java projects would
    > be a pragmatic and actually helpful goal to work
    > towards. As opposed to demanding Sun give away their
    > source. IMHO

    Just for reference, those of us currently involved in
    developing free implementations of Java have not, to
    my knowledge, demanded that Sun give away any source.
    ESR has, but he doesn't speak for us.

    Of course it would be hugely helpful if Sun gave away
    their source. That would be man-years of work we wouldn't
    have to do. For instance, right now some people are
    actively working on Swing. I would expect this to take
    quite a long time... Sun could shorten that considerably

    We don't really expect that, however. And we don't really
    need it; we'll do ok at our own pace.

    The things we really could use, and that I at least really
    would like Sun to change, are:

    * Access to the TCK. No free implementation has ever
    been run against the TCK. It has never been available
    under suitable terms. E.g., becoming a Sun licensee
    is not acceptable.

    * Access to the JCP. I'm told that at the moment there
    are still terms in the JCP that prevent developers of
    free Java implementations from participating. So, for
    the most part, we stay away. This is particularly
    unfortunate as participation in the JCP would be
    mutually beneficial.

    * Lift restrictions on subsetting. Those of us working
    on free implementations all understand that there is
    a huge amount of value in compatibility. We don't
    want to fragment the platform -- we aren't MS. However,
    free software isn't well suited for a "have one big
    complete release" model. Instead we do things piecemeal,
    as they are implemented. In the past anyway, Sun
    has frowned on this sort of thing and made various
    attempts (e.g., in JSR click-throughs, or even in
    licenses at the front of books) to prevent this.

    The next question, though, is "what's in it for Sun?".
    What is their incentive for opening things a bit more?
    Unfortunately, I don't have very good answers here, yet.
    I do think the free software community and Sun could
    be natural allies in this space. Java has made good
    inroads into free software, however it is still a work
    in progress. E.g., Mono has appeared, perhaps in 5
    years C# will have displaced Java in the free world
    as well.
  78. Re:Java is ok by Glock27 · · Score: 3, Interesting
    Java proponents should be asking themselves why Flash has taken over for most web apps and games.

    First of all, I'd dispute that Flash has "taken over for most web apps and games". Much is done using Flash, but Flash script is scarcely an industrial strength general-purpose development language. Many of the major web-apps and games are in Java, see "Yahoo Games" and many others. Many "web-apps" are server-side, in which Java thoroughly dominates.

    Whatever advantages Flash has are simply largely related to being endorsed by Mr. Monopoly - Microsoft. Web developers, being able to count on Flash being there bundled with IEEEEEEE (pronounced Aieeeeeee!;) simply went with that rather than risk user disgust with a JRE download and slow Java startup times (due to no pre-load with the browser)s.

    Sad, but true.

    Sun's recent bundling deals with major PC OEMs, as well as more general broadband availability may help, but Java now has an uphill climb as far as applets go. Fortunately, full-blown Java apps (including those using Java Web Start) are more interesting anyhow... :-)

    jFlash is interesting as well...

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  79. Re:Java, who needs it?/Bytecode vs. native code by pjt33 · · Score: 2, Insightful
    Why does one have to chose the platform java with the language java?
    I think you mean that the other way round - there's nothing in principle stopping you from writing a Java-to-C++ source-to-source compiler. (Note: I don't know enough about how C++ handles method dispatch to comment on how easy it would be).

    I think it basically comes down to design intentions. The Oak project was intended to provide WORA with a sandbox model to reassure people that it was safe to run applets. The CLR, OTOH, was designed to allow people who already knew any VS language to write for .NET. I don't know quite what that means in terms of sandboxing, but I haven't noticed MS release an applet-style plugin.

    As far as getting C/C++ to run on a JVM is concerned, I think someone with enough dedication and compiler skills could probably write a compiler which got most of it to run. Most pointer idioms can be rewritten, autogenerated mixins can simulate MI. Variant fields in structs could be tricky, although I think they could be hacked up. The question, though, is why people would want to run C++ on a JVM. Surely the reason for using C++ is obsession with speed or a desire to do really low-level stuff? If you're obsessed with speed, you should take to heart the mantra "Don't optimise. (For experts) Don't optimise yet", and if you want low-level stuff then you don't want a VM in your way.

  80. .NET Dev, and I Hope They Dont by Numen · · Score: 3, Interesting

    As a .NET developer I'll be up front and say over the long haul I sincerely hope that Sun don't Open Source Java. More specificallymy hope is that Sun keeps Java closed for at least another 3 years.... I fugure it's going to take another 3 years for .NET to mature as a cross-platform prospect.

    IF... and it's an if, it might never happen... Mono matures over the next 3 years it is going to be absolutely excrutiating for the Open Source community to justify a closed Java.

    As a MS .NET developer you can't begin to imagine the childish glee I get from saying to Java developers... "my platform's more open than yours."... to which I'm quickly told "but there's 5 Java jobs for every .NET one", and I have to shut up.

    And yes it's incredibly childish, but at least half the motivation behind any platform comparison is childish spite that exposes the facet of a developer that has more in common with a cheer-leader than anything else.

    More seriosuly Java has 3 years to go open or the Open Source and Free Software community will have it's nose rubbed in .NET... I can't believe the OS community will stand and defend Sun when it's setting them up for such humiliation.

    We could argue the detail, we could justify, but .NET is more open than Java.... the Mono CLR on Linux is more open than the Sun JVM on Linux. You can't dodge that.

    What the Open Software community should be doing is screaming blue murder at Sun, not sticking their fingers in their ears and saying "nah nah nah nah, it's not happening, it's not happening".

  81. What a load of pap.... by MosesJones · · Score: 3, Interesting

    Sun has lost control of the Java development space. It does not provide leadership anymore or set the agenda. Open Source does.
    There is a wellspring of innovation in Open Source that beats the productivity of Microsoft's friendly tools.


    It mentions the JCP but ignores the power of that organisation over the OSS world. Open Source certainly does NOT provide the leadership in the Application Server space, BEA, IBM and SAP do. Open Source does not provide leadership in the IDE space, BEA, Borland, Compuware and IBM do. Open Source does not provide leadership in the J2ME space, Sun, Nokia and Ericsson do.

    What annoys me about this article is its assumption that XDoclet and Ant can be compared with a J2EE application server. And that _standards_ are not important. The JCP is the key to all of this. In the same way as Ethernet won because it was a standard the JCP lays down standards for the Java space. ANYONE can take part, it doesn't even cost you money. And you can have a say in the direction of the platform, in a much more direct way that you could have with Linux for instance.

    The point this misses is that Java has not succeeded as well as it has by being fragmented, it has succeeded because it is standardised. The JCP enables all of the partners to determine what goes into the platform. Sun propose JSRs, but so do IBM and BEA... and Oracle.... and SAP... etc etc etc.

    Open Source could learn much by looking at the JCP.

    Consider Wi-Fi, why is 802.11x successful ? Because its all open source ? Or because a regulated standard works well in a commodity marketplace.

    Sun with have commoditised the Application Server and Mobile platform spaces. The JCP has for several years been the key to that success.

    The trouble with Open Source advocates is sometimes they see everything as a nail.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
  82. Learn from Apple + Darwin and Open Source the JVM by iradik · · Score: 2, Insightful

    I don't know about the libraries, but Sun should definitely open source the JVM. I mean that's something where Sun would really benefit, and would still maintain control. Much like the way Apple benefits from developers working on Darwin, without losing control of OS X.

  83. Re:Learn from Apple + Darwin and Open Source the J by iradik · · Score: 2, Insightful

    Then it's conceivable that GNU, IBM, Sun, and Apple could all work on a unified JVM.

  84. More assorted grumbling by GreyWizard · · Score: 2, Insightful

    Are you saying that the problem is that they can not download it and put it on the Debian CD for redistribution?

    Yes. Other more subtle problems of a similar nature lurk here as well.

    If that is the entire problem, why can't they do it like the BSD port system, where the makefile downloads the most recent one and installs it?

    That isn't the entire problem, but even so a BSD like port system is not a good solution for everyone. For example it doesn't work well for people who have low bandwidth or inconsistent connections. Obviously you're right to point out that Java is somewhat accessible to Debian and FreeBSD users, but that is not what Open Source means. I use the Sun JDK on Fedora for everything GCJ doesn't currently do. Still, significant problems would be solved if Java were more open.

    I am not clear why you prefer AWT.

    I am more pleased with the concept of AWT than with the actual implementation. As you say, it is dreadful. However, as I understand it -- do correct me if I'm mistaken -- Swing is built on top of AWT, which means that while it doesn't have to be slow, it can't plausibly be much faster. Also, AWT is certainly as cross-platform as anything else in Java.

    Do you mean that the look and feel varies by platform? I consider that a good feature in principle since I prefer applications to be consistent across a desktop. Clearly that's a matter of taste though, and there's no accounting for it. Naturally the lack of GTK+ and Qt based AWT implementations makes things much uglier than they need to be in practice.

    I usually find myself implementing lighweight components in AWT, but then I generally use HTML and forms backed by Python for everything they can support and wheel out Java only for custom widgets. I suspect that if I were writing entire applications with Java I would grudgingly prefer Swing in spite of the look and feel issue.

    Since the Java chips are 32-bit with only 8-bit operands, they are able to grab 4 instructions and use 1 every clock cycle, [...]

    This is not an advantage that is unique to Java. Donald Knuth's MMIX architecture has the same property and there is a GCC back-end so C, C++, Fortran, Java and other languages can be used with it easily. Unlike the alleged .NET language neutrality no changes to syntax are required. Even standard libraries only need to be changed enough to make low level system calls work.

    What do you mean by ["the advantages of Java are application focused"]? Do you mean that it is no good for server software (which it is even better for than GUIs), or do you mean that it is not good for things like device drivers?

    I mean the latter. (I don't dispute the utility of Java for server software, but I prefer Python for a variety of reasons.) Well, actually, I mean that the advantages of Java are not especially compelling for system software in general. A Write Once Run Anywhere kernel seems a bit nonsensical. Similarly, running system daemons on top of a virtual machine seems unlikley improve anything.

    USB device drivers are an interesting counter-example, though I think the notion that software which communicates with a device over a USB bus is a "device driver" is a bit misleading and conceals what makes USB great: it transforms something that was once clearly system software into something more like application code.

    Every single time you see any application crash in your OS, that is a runtime exception.

    That's an interesting way of looking at things. Are you saying all exceptions ought to be checked exceptions? Does that include NullPointerException and OutOfMemoryError? Plenty of shoddy software that doesn't deal with these gets sent to customers. What makes exceptions useful in the first place is that they allow parts of a program to ignore problems that they couldn't reasonably do anything about. Checked exceptions take that advantage away, often tearing enorm

    --
    Not all those who wander are lost.