Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Java Programming Sun Microsystems

Beyond An Open Source Java 550

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."
This discussion has been archived. No new comments can be posted.

Beyond An Open Source Java

Comments Filter:
  • Java is ok (Score:0, Interesting)

    by Amsterdam Vallon ( 639622 ) * <amsterdamvallon2003@yahoo.com> on Wednesday February 25, 2004 @07:47PM (#8392541) Homepage
    I still prefer C/C++ though, honestly.

    I just like having control of the code and being able to do hardware-level stuff. Also, it's just plain faster.

    Java is cool for uber-OO projects, for but most stuff, I'm a strictly C/C++ guy.
  • Dumb question (Score:3, Interesting)

    by Brian Dennehy ( 698379 ) on Wednesday February 25, 2004 @07:47PM (#8392542) Homepage
    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?
  • Java, who needs it? (Score:0, Interesting)

    by $calar ( 590356 ) on Wednesday February 25, 2004 @07:50PM (#8392559) Journal
    This is not to be a troll, because I hate being cast as one for being negative. But I've never ever liked Java. It never had the performance of native software and there are other ways of getting the code portability of Java. Qt and GTK (via dropline) are examples of this. Mono too has some great promise, but it's still a work in progress. I like the idea of portable code, but the code should still run without an interpreter/virtual machine/emulator. Those are my thoughts.
  • by maliabu ( 665176 ) on Wednesday February 25, 2004 @07:53PM (#8392589)
    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.
  • by jhouserizer ( 616566 ) * on Wednesday February 25, 2004 @07:55PM (#8392611) Homepage
    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.

  • vested means hidden (Score:1, Interesting)

    by Anonymous Coward on Wednesday February 25, 2004 @07:55PM (#8392617)
    there's nothing vested about Sun's interest in GNOME. It's just an interest.
  • by fihzy ( 214410 ) on Wednesday February 25, 2004 @07:58PM (#8392651)
    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.
  • by aled ( 228417 ) on Wednesday February 25, 2004 @08:03PM (#8392694)
    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.
  • by kindofblue ( 308225 ) on Wednesday February 25, 2004 @08:03PM (#8392698)
    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.

  • by jhouserizer ( 616566 ) * on Wednesday February 25, 2004 @08:05PM (#8392716) Homepage
    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 [objectweb.org] for example.

  • by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Wednesday February 25, 2004 @08:10PM (#8392750) Homepage
    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).

  • by SamiousHaze ( 212418 ) on Wednesday February 25, 2004 @08:13PM (#8392765)
    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")
  • by Anonymous Coward on Wednesday February 25, 2004 @08:20PM (#8392823)
    The author is not saying that sun shouldn't close the source but that if they do keep it open, it won't hurt the closed nature of the project and may not in fact not even have any affect on their desire to not close it.
  • by sfjoe ( 470510 ) on Wednesday February 25, 2004 @08:25PM (#8392861)
    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.

  • Re:No relief (Score:5, Interesting)

    by Simon Brooke ( 45012 ) * <stillyet@googlemail.com> on Wednesday February 25, 2004 @08:33PM (#8392933) Homepage Journal
    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 [weft.co.uk]. 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.

  • Re:RTFA (Score:3, Interesting)

    by aled ( 228417 ) on Wednesday February 25, 2004 @08:35PM (#8392944)
    "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.
  • by mr_majestyk ( 671595 ) on Wednesday February 25, 2004 @08:37PM (#8392962)
    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?
  • Re:Dumb question (Score:3, Interesting)

    by Trejkaz ( 615352 ) on Wednesday February 25, 2004 @08:57PM (#8393102) Homepage
    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.
  • by ComputerSlicer23 ( 516509 ) on Wednesday February 25, 2004 @09:06PM (#8393174)
    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

  • facts and not BS (Score:5, Interesting)

    by Anonymous Coward on Wednesday February 25, 2004 @09:07PM (#8393186)
    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.

  • Re:What will happen (Score:3, Interesting)

    by zurab ( 188064 ) on Wednesday February 25, 2004 @09:07PM (#8393192)
    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.
  • by AKAImBatman ( 238306 ) <akaimbatman@gmaYEATSil.com minus poet> on Wednesday February 25, 2004 @09:08PM (#8393202) Homepage Journal
    Here [lycos.co.uk]

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

  • by Ogerman ( 136333 ) on Wednesday February 25, 2004 @09:11PM (#8393218)
    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.
  • Re:Java is ok (Score:5, Interesting)

    by malachid69 ( 306291 ) on Wednesday February 25, 2004 @09:23PM (#8393321) Homepage
    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
  • by Anonymous Coward on Wednesday February 25, 2004 @09:31PM (#8393380)
    We already need at least two JVMs on the machine. OpenOffice recommends Blackdown, and all serious development recommends Sun. This just sucks arse, it's almost like either the Blackdown or the OpenOffice team need to be bludgeoned over the head a few times until they make their stuff compatible.
  • by Jord ( 547813 ) on Wednesday February 25, 2004 @09:35PM (#8393408)
    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.

  • by Brian_Ellenberger ( 308720 ) on Wednesday February 25, 2004 @09:38PM (#8393424)
    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
  • Thin clients (Score:4, Interesting)

    by Trejkaz ( 615352 ) on Wednesday February 25, 2004 @09:44PM (#8393462) Homepage

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

  • IRTFA (Score:4, Interesting)

    by angel'o'sphere ( 80593 ) <{ed.rotnemoo} {ta} {redienhcs.olegna}> on Wednesday February 25, 2004 @09:59PM (#8393568) Journal
    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
  • by geekee ( 591277 ) on Wednesday February 25, 2004 @10:13PM (#8393656)
    "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.
  • by Too Much Noise ( 755847 ) on Wednesday February 25, 2004 @10:27PM (#8393743) Journal
    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.
  • by Jason Earl ( 1894 ) on Wednesday February 25, 2004 @10:50PM (#8393901) Homepage Journal

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

  • by gidds ( 56397 ) <slashdot.gidds@me@uk> on Wednesday February 25, 2004 @10:51PM (#8393906) Homepage
    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!

  • Re:facts and not BS (Score:5, Interesting)

    by cyberjessy ( 444290 ) <jeswinpk@agilehead.com> on Wednesday February 25, 2004 @11:00PM (#8393963) Homepage
    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.

  • by Anonymous Coward on Wednesday February 25, 2004 @11:04PM (#8393977)
    Have you heard of HP's Dynamo project? They ran PA-RISC code on a runtime-optimizing virtual machine running on PA-RISC processor, and they got a speed boost over running the code directly on the processor.
  • by OoSync ( 444928 ) <wellsed&gmail,com> on Wednesday February 25, 2004 @11:14PM (#8394018)
    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.
  • Re:Java is ok (Score:1, Interesting)

    by Anonymous Coward on Wednesday February 25, 2004 @11:41PM (#8394183)
    You missed one:

    7) The coder uses an excessive amount of threads to make up for poor coding skill.

    One problem with Java is that it makes threading so damn easy that people abuse it.
  • by k_head ( 754277 ) on Thursday February 26, 2004 @12:30AM (#8394392)
    Nonsense. How many forks of python, perl or tcl are there?
  • Mod parent up! (Score:5, Interesting)

    by earache ( 110979 ) on Thursday February 26, 2004 @12:34AM (#8394409) Homepage
    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
  • by kindofblue ( 308225 ) on Thursday February 26, 2004 @12:49AM (#8394518)
    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.

  • by burtonator ( 70115 ) on Thursday February 26, 2004 @01:05AM (#8394611)
    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.
    [com.com]
    http://news.com.com/2100-1007_3-5165427.html

  • Re:facts and not BS (Score:2, Interesting)

    by Anonymous Coward on Thursday February 26, 2004 @02:29AM (#8394953)
    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.

  • by malachid69 ( 306291 ) on Thursday February 26, 2004 @03:10AM (#8395149) Homepage
    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?
  • by Anonymous Coward on Thursday February 26, 2004 @03:25AM (#8395214)
    Everything the article mentions about J2ee VS .NET and why .NET is advancing quickly is so true.

    IDE, UI, productivity, these are things MS has been working hard at for years even as big iron has been chuckling at the concepts for years.

    Now all that ignorant laughter is beginning to pay off for MS. These are things the java community, Unix, Linux can not ignore.

    There is something to be said for a good productive development IDE that works on top of a powerful development platform. and no Mr legacy, a good GUI IDE does not mean a color coded text editor, and some pretty graphics.
  • Re:Laughable? (Score:3, Interesting)

    by smallpaul ( 65919 ) <paul @ p r e s c o d . net> on Thursday February 26, 2004 @05:52AM (#8395710)

    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 [gnu.org] is finance software written in Python. Secure distribute systems in Python? How about mojo nation [sourceforge.net] or ZEO [zope.org], or the MEMS Exchange [www.amk.ca] or BitTorrent [bitconjurer.org]. 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 [llnl.gov] 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.

  • Re:Java is ok (Score:4, Interesting)

    by Glock27 ( 446276 ) on Thursday February 26, 2004 @06:24AM (#8395804)
    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 [sesma.com] is interesting as well...

  • by aled ( 228417 ) on Thursday February 26, 2004 @07:36AM (#8396035)
    "anything you do after looking at Sun's source code may be considered a derived work"

    That's not so; this week at Javalobby [javalobby.org] Sun JCP Director Onno Kluyt states that looking at Java sources does not taint [javalobby.org] and is willing to answer FSF questions on the issue.
  • Re:Laughable? (Score:3, Interesting)

    by Glock27 ( 446276 ) on Thursday February 26, 2004 @07:44AM (#8396061)
    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!

  • by Numen ( 244707 ) on Thursday February 26, 2004 @08:40AM (#8396216)
    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".
  • Re:IRTFA (Score:1, Interesting)

    by Anonymous Coward on Thursday February 26, 2004 @08:52AM (#8396256)
    Why was such a text modded to 4 (interesting)?

    One that admits that it hasn't read the article it is talking about. Furthermore the author seems to have problems with the ***, !!! and SHIFT keys. :)

    He mentiones Deutsche Bank. Does he know that they do not use java anymore but PHP to represent their web pages?

    Yes, script languages such as PHP, PERL etc. are a thread for java, even more so the free .NET implementation MONO.

    Iff JAVA were open-source from the start, such broken technologies such as EJB, JNI would have never appeared. Instead we would now have java on the desktop because it supported an equivalent of c# unsave code.

    As an example how java sucks on the desktop: It is impossible to write java code that calls a native library on any platform! Imagine that, admittedly the java print API is complete crap, but yet the vendors have no way to fix this by calling native print services directly. You cannot write and sell a pure java program that can print on windows, linux and mac.
  • by MosesJones ( 55544 ) on Thursday February 26, 2004 @10:06AM (#8396729) Homepage
    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 [jcp.org] 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.
  • by CynicTheHedgehog ( 261139 ) on Thursday February 26, 2004 @11:13AM (#8397302) Homepage
    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...

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...