Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
Java Programming Editorial Sun Microsystems

The "Return" of Java Discussed 558

Posted by CowboyNeal
from the off-again-on-again-languages dept.
An anonymous reader writes "Following on from the marvelous recent James Gosling interview highlighted in Slashdot last week, it would seem that a renewed momentum is building up for his cross-platform creation, if this editorial is anything to go by. It's called 'Java is Back!' But did it ever go anywhere?"
This discussion has been archived. No new comments can be posted.

The "Return" of Java Discussed

Comments Filter:
  • by after (669640) on Friday August 13, 2004 @04:25AM (#9956769) Journal
    wxWidgets (my favorite) and wx.NET
    Mono
    Cocoa# and Gtk# (recentely kn /.) .NET

    Java is slow, obeist, and heavy.
    • by LizardKing (5245) on Friday August 13, 2004 @04:32AM (#9956799)

      But how many companies do you see requiruing wxWidgets experience? Not to knock it as a cross platform development toolkit, but rightly or wrongly it's overlooked by virtually every company I've ever worked at. The exception is my current employer, where it was evaluate along with Qt and Java as a means to write cross platform GUIs. Java won, as C++ proved far too troublesome on a previous project.

      .NET is actually a back handed compliment to Java. Java was so good that MicroSoft had to clone it. With Mono now at version 1.0, then perhaps C# is in a position to threaten Javas cross platform crown, although perhaps not without Windows Forms support.

      • With Mono now at version 1.0, then perhaps C# is in a position to threaten Javas cross platform crown, although perhaps not without Windows Forms support.

        Doh! [slashdot.org]

        • I guess you're referring to Gtk# as an alternative to Windows.Forms. That's not really going to help, as the majority of C#/.NET coding is going to be targetted primarily at Windows, where Gtk# is not going to be the first choice.

          I did notice in the comments for the linked article, that Miguel mentions work is underway on Windows.Forms support for Mono. That would be quite an achievement, and one that would *really* make Mono a viable cross platform alternative to Java.

      • .NET is actually a back handed compliment to Java. Java was so good that MicroSoft had to clone it. With Mono now at version 1.0, then perhaps C# is in a position to threaten Javas cross platform crown, although perhaps not without Windows Forms support.

        Where C# is most threatening to Java, Windows Forms not as relevant: C# frankly makes Java look stupid with its properties syntax. Properties are like portions of the EJB properties specifications, only without all the silly get/set coding conventions... i

    • ``Java is slow, obeist, and heavy.''

      And anybody who doesn't believe this might want to take a look at why kast wasn't written in Java [sourceforge.net]. People have been telling me that I am the only one experiencing these issues, that I simply don't have enough experience, or that I should take a look at modern JVMs - well, here's one example of people who tried Java and were disappointed. The same happened to many LimeWire users. The list goes on.
      • Well... but the number 2 most-active project on sourceforge, Azureus BitTorrent client, is written in Java and it looks real good.

        If only everyone knows how to write Java properly....
        • Maybe someone should work on fixing those things that encourages most people to write java improperly. If most people are using it incorrectly, then that points to issues with the language that need to be resolved.
      • by LizardKing (5245) on Friday August 13, 2004 @04:45AM (#9956824)

        java applications are difficult to install - many users do not already have a copy of the java virtual machine installed on their machine. For these users, installing a java application means downloading and installing the java runtime, which is quite large and can be difficult to configure.

        Well, you must be pretty hopeless not to be able to install the Java runtime. Last time I installed it on Windows, it took half a dozen mouse clicks and a couple of minutes tops.

        java applications start up slowly - even the smallest java applications can take several seconds to start up, since the virtual machine needs to be loaded first.

        I run Java on very low spec embedded PC's, and it's no slouch there. Even if there is a couple of seconds wait at startup, the JIT compiler means a well written app will run without being appreciably slower than a "native" app once the JVM is bootstrapped.

        java applications have slow, unresponsive user interfaces--- on slower machines, using java-based user interfaces can be frustrating (resizing the application window can mean taking a coffee break).

        That's strange, it must be their inability to code an interface and data models in an efficient manner. I write warehouse control software, where we are dealing with vasts amount of data that must be collated and displayed to the user. Very rarely do we have to resort to doing major grunt work on the server as opposed to doing it in the Java client.

        java applications use a lot of memory - on most platforms, the virtual machine itself requires several MiB of memory, even for small applications that use very little memory. For more complicated applications, such as konspire2b, the virtual machine adds a lot of memory overhead. For example, kast currently uses about 1 MiB of memory when it's up and running. konspire 1.0 server (written using java) uses about 12 MiB. The interesting point is that konspire2b is far more complex that konspire 1.0 server (for example, the server portion of konspire 1.0 doesn't even have a user interface).

        If this is really an issue for you, then you can tweak the runtimes environment. Yes, Java does requisition a lot of memeory when an untweaked JVM starts up, but the inmpact depends on the machine running the program.

        java applications leak memory

        This could be rephraed as "bad Java programmers leak memory". I have client-server Java applications that run 24x7 without leaking memory. Perhaps it's because I'm an unsually good Java programmer? Probably not, as I'm just an average one. What I don't do is immediately blame problems on the tools I use until I'm sure it isn't my lack of skill with the tools.

        • by groomed (202061) on Friday August 13, 2004 @05:45AM (#9956980)
          Well, you must be pretty hopeless not to be able to install the Java runtime. Last time I installed it on Windows, it took half a dozen mouse clicks and a couple of minutes tops.

          Everything is easy when you approach it from the point of view that it doesn't actually have to work.

          There are many versions of the Java environment, from different vendors, all with subtly different behaviors and ways of integrating into the environment. Not to mention that the user may be running other Java applications which depend on a particular version of the Java environment, which further complicates matters. This makes it a pain if you want to deliver an application to the user with minimal hassle.

          Or, you can just mandate that the user run such-and-such version of the Java enviroment on such-and-such platform, but then you lose a large part of the write-once, run-everywhere appeal.

          I run Java on very low spec embedded PC's, and it's no slouch there. Even if there is a couple of seconds wait at startup, the JIT compiler means a well written app will run without being appreciably slower than a "native" app once the JVM is bootstrapped.

          Java's "slowness" has at least three components: startup time, garbage collection delays, and the huge footprint which triggers swap activity.

          For server applications, none of these matter much. For interactive client applications, these factors conspire to make Java apps look very bad when compared to "native" competitors. The exception here are applications like Eclipse, which you start when you get in from work and don't quit until you're done. But for most other apps, e.g. utility apps which you just want to quickly use and close, or workflows where you switch between multiple apps frequently, Java is just not suited.

          Very rarely do we have to resort to doing major grunt work on the server as opposed to doing it in the Java client.

          You're missing the point royally. Java isn't slow at doing grunt work. Few people would contest that. But as a platform to write desktop applications, it is a pig. The Swing UI is slow and prone to memory leaks, data interchange facilities are poor (even the clipboard functionality integrates poorly with the surrounding environment), memory requirements are completely uncontrollable.

          Yes, Java does requisition a lot of memeory when an untweaked JVM starts up, but the inmpact depends on the machine running the program.

          Indeed, and that's why most Java shops pretty much only run one application on their servers.

          This could be rephraed as "bad Java programmers leak memory".

          The fundamental problem is that you cannot control how memory gets used. For example: the JVM allocates memory from the underlying OS in chunks which it then doles out to your app as necessary. Then at garbage collection time, the memory is reclaimed from your app and returned to the JVM. But then the JVM may or may not ever return this memory to the underlying OS. This means that even if you have a tiny application, when the user opens a mammoth 100MB document just once, the application will continue using 100MB even after the user has closed the document.

          Yes, this is sort of tunable through commandline options and other properties, but then only for some versions of some implementations of the JVM. Which brings us back to the first point, that it's a hassle to deliver hassle-free Java applications. It's so troublesome in fact that some programmers choose to simply distribute a JVM along with their apps.

          The bottomline is this: Java is a cool language, but it just doesn't play nice with others. It insists on reinventing everything, it insists on abstracting everything, and it insists on total control over the environment. That's fine for in-house apps or web apps, but it limits Java's adoption on the desktop.

          And ultimately, I think it condemns Java to a perpetual "behind the scenes" existance, growing ever more baroque appendages in its invisible niche, until its burdensome legacy is swept away by something more open.
          • by Tim C (15259) on Friday August 13, 2004 @05:55AM (#9957010)
            the huge footprint which triggers swap activity

            Top 4 processes on my XP Pro machine at the moment, according to "Mem Usage" column in Task Manager:

            1) JBuilderW.exe at 173,700K
            2) mozilla.exe at 84,480K
            3) java.exe (JXplorer, an LDAP client app) at 37,252K
            4) WINWORD.EXE at 33,636K

            So, with the exception of JBuilder (which is very heavyweight, there's no denying), java by no means has a "huge" footprint compared with other typical applications I use. Of course, given that I have a gig of RAM in this machine, and that RAM goes for a little more per 512MB stick than I spend on a typical Saturday night out, it really doesn't matter to me at all. But then, I do server-side stuff in Java, not client side; for that, I'd probably use C#.

          • This makes it a pain if you want to deliver an application to the user with minimal hassle.


            Not really. There is Java WebStart which solves this issue. Commericial products like InstallAnywhere solved this also. Old issue.


            Java's "slowness" has at least three components: startup time, garbage collection delays, and the huge footprint which triggers swap activity.


            Start up time is slow. It takes approx a couple seconds. Ofcourse this is a one time cost that interpreted languages go through. C# h
        • by RAMMS+EIN (578166) on Friday August 13, 2004 @05:54AM (#9957004) Homepage Journal
          I am almost at the point that I'll promise not to engage in this discussion again. Ok, one more time:

          ``Well, you must be pretty hopeless not to be able to install the Java runtime. Last time I installed it on Windows, it took half a dozen mouse clicks and a couple of minutes tops.''

          And a 20 MB download that takes dog knows how many megabytes after installation. Also, the whole process will have to be repeated at the next release, as chances are software developed on a newer version won't run on an older one.

          ``Even if there is a couple of seconds wait at startup, the JIT compiler means a well written app will run without being appreciably slower than a "native" app once the JVM is bootstrapped.''

          Most applications don't need a lot of speed once up and running, anyway. Startup time is a huge annoyance, to me anyway. Is it really that hard to save the compiled code, so next time the JIT doesn't have to work again?

          ``java applications have slow, unresponsive user interfaces--- on slower machines, using java-based user interfaces can be frustrating (resizing the application window can mean taking a coffee break).

          That's strange, it must be their inability to code an interface and data models in an efficient manner.''

          I don't know about your systems, but on any system I have used in the past years, user interfaces in Java apps are noticeably more sluggish than in native ones. Perhaps this is perceived performance, but arguably it's the perceived performance that matters for user interfaces.

          ``java applications leak memory

          This could be rephraed as "bad Java programmers leak memory".''

          Yes, but isn't it symptomatic of defects in the language if many programs written in it leak memory? Besides, isn't Java's garbage collection supposed to take care of things? Personally, I believe that there was an issue with old JVMs (at least on Linux) leaking memory, that has now been solved. At any rate, I think that kast's author is being more bitter than rational when he says things might be better without gc. Gc is a Good Thing, after all, memory allocation and deallocation is excactly the sort of task that machines are good at and humans are not. It can even speed up programs under some circumstances.
        • by mcbevin (450303) on Friday August 13, 2004 @06:18AM (#9957090) Homepage
          I agree with what you write in general - that the article was unduly harsh / biased against Java. However, I differ on a few details ...

          Well, you must be pretty hopeless not to be able to install the Java runtime. Last time I installed it on Windows, it took half a dozen mouse clicks and a couple of minutes tops.

          We're talking about the average Joe here. The average Joe just wants to double-click the installer for a program, click OK a couple of times, and have it work. I know from experience that such a requirement can be a great hinderance to adoption of a software application. I released a program with a .NET frontend, and a large portion of end-users weren't interested in downloading the .NET framework (why this wasn't made part of XP or at least XP SP1 I don't know) and would quite happily write the program off as broken despite it having informed them they need to download the .NET framework for it to run.

          That's strange, it must be their inability to code an interface and data models in an efficient manner. I write warehouse control software, where we are dealing with vasts amount of data that must be collated and displayed to the user. Very rarely do we have to resort to doing major grunt work on the server as opposed to doing it in the Java client.

          Swing _is_ rather unresponsive and slow unfortunately, due to it using no native widgets. This is solved by SWT, which mixes platform independence with use of native widgets where they exist. For this reason for example the popular Java IDE Eclipse (written with SWT) is much more responsive than Sun's IDE NetBeans. Swing in general is one of Java's major weaknesses (and its not 'excused' on the basis of platform independence) - not only in terms of speed but its layout managers for example are also a joke - and is the main reason why Java is used far far more for websites than application programs.

          This could be rephraed as "bad Java programmers leak memory". I have client-server Java applications that run 24x7 without leaking memory.

          I agree with you there, and would also add that 'very bad java programmers leak memory' while 'even pretty good C/C++ programmers leak memory. While one can leak memory in any language, Java does make it a lot easier to avoid. I have C++ programs where I've never found leaks despite a fair bit of work trying, yet I can't recall testing a single Java program for memory leaks (and I've written and tested a lot) and ever actually finding such a leak.

          If this is really an issue for you, then you can tweak the runtimes environment. Yes, Java does requisition a lot of memeory when an untweaked JVM starts up, but the inmpact depends on the machine running the program.

          Unfortunately for the average user with 'just' 256/512mb RAM on their machine, thrashing is almost an unavoidable consequence of using any non-trivial Java application. For development I find 1 gig RAM is a minimum for devloping with Java, whereas for .NET development I have no problems using 'just' 512 megs.

          I might also add a thought relating to the actual editorial - comparing search results for 'NET' and 'Java' is hardly an accurate comparison, given that 'NET' is liable to find a lot more pages than just those relating to .NET. That said, .NET and its C# language _is_ a huge challenge for Java. I'm hoping that this competition will cause both languages to improve and thus benefit us developers. Java 1.5 (5.0) is a great start (incorporating many much needed features seen in .NET such as generics).
        • Well, you must be pretty hopeless not to be able to install the Java runtime. Last time I installed it on Windows, it took half a dozen mouse clicks and a couple of minutes tops.

          That is SO not the point. Why the hell should a, for example, 55 year old occasional computer user need to even know WHAT Java is, let alone UNDERSTAND why they need to install it?
          Surely the uppermost aim for any software engineer / developer / designer is to hide complexity from the user?
          I have two roles at my work: the firs
      • by Anonymous Coward
        That little app will generate a setup.exe that will:
        1) Look for a JRE on the target machine.
        2) Download and install one if necessary.

        It will also create a native Java launcher, for quick splash screens, file associations, 32 bit icons, etc.

        And best of all - it's a breeze to use.

        http://www.advancedinstaller.com

      • - java applications are difficult to install
        This is the developers problem

        - java applications start up slowly
        As with any interpreted language, and has been an issue since Qbasic. Accept it.

        - java applications use a lot of memory
        As many applications do. 20 meg for Soundtool is ridiculous, but with a gig of ram, there is plenty left over.

        - java applications leak memory
        So do most other applications. If the programmer does not take heed. Again, a very broad statement having little to
      • by Glock27 (446276) on Friday August 13, 2004 @07:02AM (#9957261)
        And anybody who doesn't believe this might want to take a look at why kast wasn't written in Java.

        One doesn't have to look far to find claims there that are simply wrong. For instance:

        java applications leak memory--- java uses garbage collection to manage memory, which seems to imply that programmers don't need to think about memory management at all. However, garbage collection gives a false sense of security, and java applications can still have memory leaks unless programmers are very careful. In fact, many java applications that run for extended periods of time leak memory to the point of exhausting all system memory. These types of leaks are very difficult for programmers to isolate. In fact, memory management may be more difficult with a garbage collector than without one.
        In particular, the last sentence is nonsense. Memory leaks, once identified, aren't typically hard to find in Java - and let's not forget that Java eliminates several types of memory related errors common in C/C++ programs altogether. Array overruns, wild pointers, multiple deallocations - all things of the past. Thankfully.

        Some of the other objections there will go away with JDK 1.5, others might best be addressed with ahead-of-time compilation (small utilities for instance). Regardless, Java is certainly improving over time.

        All that said, of course, incompetent programmers will manage to screw up in any language they're given. ;-)

    • Java is "slow" because Sun has give us a brain dead GUI components. If you are looking at server side running things like EJBs, JSPs and servlets it is just as competitive as .NET framework.

      There are a lot of pending improvement on Java GUI front, like Eclipse Rich Client Framework using SWT and hopefully it will not be "slow" anymore
    • by Anonymous Coward on Friday August 13, 2004 @04:41AM (#9956816)
      Yawn. The 'Java is slow, obese and heavy' arguments are poor, out of date and largely inaccurate. Java's popularity on mobile phones suggests it is hardly a performance bottleneck, nor is it too demanding for memory.

      When Java first came out, a large number of 'web hackers' and inexperienced programmers flocked to the language and produced applications that were often very weak. The easy access to such a flexible toolkit encouraged first time coders to undertake projects beyond their skills. Even experienced teams of developers found it took a while to get to grips with the issues involved in the new environment. The result was the inevitable disillusionment following the hype. Expect C# to go through a similar slump as people realise it doesn't solve all your problems.

      However, Sun have done a stunning job in evolving Java, and developers who have taken the time to understand it have been producing impressive software for some time now. The latest version is powerful, fast and addresses an enormous range of requirements that make developing software very much more efficient.

      There will be a lot more about Java in the news this year. Tools are being developed for everything from screensavers to MMORPGs, so why not take a second look before rehashing old predjudices?

    • by redsolo (805195) on Friday August 13, 2004 @06:28AM (#9957120)
      Im amazed that MS (or other firms) have managed to let these rumors become facts. Java is not slow, at my last job we created an image viewer for professional photographers which was running on Java. The system had no problem showing 2000 thumbs (not at the same time, but scrolling was instant), zooming into 10mbs images was a breeze, you could play with the mouse buttons and it would instantly zoom to the 1:1 layer and back again. And this is something that Java has been known to be very bad with GUI and images. But we managed to pull it of anyway, and it was even quicker than the defacto industry standard application, which was written in C++.

      So, please dont come with those crap arguments, because they are not true.

      But what is true; c++ will always be faster than java, .Net might be (but thats because of the infamous shortcuts than only MS ppl know of). But is that the really point, when you are creating desktop applications? If you want speed, try develop a desktop app in Assembler. Now it will be the fastest around, but probably look like crap.

      What must be really annoying, is that .NET has borrowed so many classes from Java so they should call it J--.
  • Return of Java (Score:5, Insightful)

    by LizardKing (5245) on Friday August 13, 2004 @04:27AM (#9956775)

    It's strange how so many people say "Java is dying" or now that it patently isn't, they're saying "Java's back". If you go to any of the recruitment websites in the UK, the most popular requirement is Java Enterprise experience, hardly the mark of a development system that's been in decline ... The only explanations for this misrepresentation of Java that I encounter on sites like Slashdot and Linux Today is the following:

    • A large part of the readership are students, and therefore don't really know what's going on in the software industry.
    • The prepondereance of GNU fanboys means that Java gets dissed for not being Free(tm).

    Discuss ...

    • Re:Return of Java (Score:5, Insightful)

      by Tim C (15259) on Friday August 13, 2004 @04:34AM (#9956802)
      You forgot a couple:
      • despite entry level PCs now having specs along the lines of 2.5GHz processor and 256MB of RAM, lots of people on such sites are obssessed with perceived bloat
      • lots of (but by no means all) people dissing Java are actually sysadmins, rather than programmers, and do all of the coding that they do do in perl, shell script, and similar
      It always amuses me when I read "Java is teh suck because it's so slow and bloated!" comments. I've been doing server-side Java development for a little over 4 years now, and we've never had a performance problem. I use a number of client-side Java apps everyday, too, and they're perfectly responsive and usable. Sure, the same thing written in C or C++ probably would be faster - but when you literally can't tell the difference, who cares? A modern PC spends almost all its time waiting on user input or IO bound anyway.
      • Re:Return of Java (Score:2, Interesting)

        by gnovos (447128)
        Sure, the same thing written in C or C++ probably would be faster - but when you literally can't tell the difference, who cares? A modern PC spends almost all its time waiting on user input or IO bound anyway.

        For a long running enterprise application, it would probably be SLOWER in c/c++. No matter how good you are at programming c/c++ you can't anticipate every little bottleneck and write it in perfect assembler... but the hotspot compiler can do that rathar well.
        • Re:Return of Java (Score:4, Insightful)

          by mcbevin (450303) on Friday August 13, 2004 @06:41AM (#9957172) Homepage
          For a long running enterprise application, it would probably be SLOWER in c/c++. No matter how good you are at programming c/c++ you can't anticipate every little bottleneck and write it in perfect assembler... but the hotspot compiler can do that rathar well.

          Sounds nice in theory. In practice for most Java enterprise applications the memory usage is by far the biggest bottleneck. The hotspot compiler can't change this.

          For example, I did a fair few speed tests working with strings in Java. For example, comparing various search and replace algorithms. The entire difference between the faster algorithms and the slower ones was how they handled the memory usage.

          Strings are only a simple construct, but even with these Java is horribly inefficient unless great care is taken by the programmer to use them efficiently. In contrast, when programming C++ I can use strings paying scant regard to efficiency and know my code will virtually always be faster than any Java program doing the same thing.
          • Re:Return of Java (Score:3, Informative)

            by Glock27 (446276)
            Strings are only a simple construct, but even with these Java is horribly inefficient unless great care is taken by the programmer to use them efficiently. In contrast, when programming C++ I can use strings paying scant regard to efficiency and know my code will virtually always be faster than any Java program doing the same thing.

            Strings are something of a weak point with Java, IMO. I'm still not sure immutable Strings were a good idea, especially since it's become a common idiom to use StringBuffer ins

        • Re:Return of Java (Score:3, Interesting)

          by Xugumad (39311)
          I have to disagree here. There are certainly cases where Java is faster, but they're relatively few. Lets just go through that infamous benchmark again:

          Java faster than C++ benchmark [kano.net]

          Point 1 - "I was sick of hearing people say Java was slow, when I know it's pretty fast".
          Baaaad start to any analysis - always keep an open mind about the results.

          Point 2 - He used G++. So this is only valid for G++, not necessarily any other C++ compiler. Which is fair, I just feel this is worth emphasising.

          Point 3 - It's
      • Re:Return of Java (Score:3, Insightful)

        by 16K Ram Pack (690082)
        Often, bloat just doesn't matter. It's something I wish most programmers would learn. Code has to run as fast as the job needs it to.

        To generalise, a main functions of an online system needs to be optimised. But things like offline processing often doesn't. Higher priorities are maintainable and reliable code.

        And what you say is right about IO. When I used to work on mainframes, our senior tech guy used to tell us to not worry about the code speed except for IO. PCs are heading that way.

        • Re:Return of Java (Score:3, Insightful)

          by Fweeky (41046)
          "Higher priorities are maintainable and reliable code."

          Which is why so many people develop with dynamic languages. Bloat isn't just at the runtime side of things; it's at development time too.
      • Re:Return of Java (Score:4, Insightful)

        by ph1ll (587130) <`ph1ll1phenry' `at' `yahoo.com'> on Friday August 13, 2004 @06:14AM (#9957078)
        I just started working at a company where user Web sessions in Orion were reaching 1 MB each.

        Further investigation revealed that the code sucked. It was nothing to do with Java. A re-write brought the Web sessions down to about 100 bytes each. It is now a happy app.

        Moral of the story: there is good code and bad code in any language.

        (Having said that, the JVM does take an awfully long time to bootstrap...)

        :-P

      • Re:Return of Java (Score:3, Insightful)

        by Xyrus (755017)
        Java is fine as long as you use it for what it was defined for.

        You probably wouldn't want to use it for high-performance graphics for example, but it's great for developing most standard apps.

        If you really need to eek out the last nanosecond of performance, do not use java. Java will never be able to match the speed of writing to the metal. But I don't see why you wouldn't want to use it for a client-server app where nanosecond performance isn't critical.

        Java is a programming tool just like any other. On
    • Re:Return of Java (Score:5, Insightful)

      by LarsWestergren (9033) on Friday August 13, 2004 @04:43AM (#9956819) Homepage Journal
      It's strange how so many people say "Java is dying" or now that it patently isn't, they're saying "Java's back".

      I think a lot of the people who keep saying that Java is dying say it because they wish it was true.

      And of course, if you keep repeating a lie often enough, the sheep begin to believe it. Just like on CNN, turn it on and watch a "reporter" frown in mock gravitas and ask things like "A lot of people are saying that the Kerry campaign is floundering and the Democrats are beginning to feel desperate, we ask the experts 'can anything be done, or is it already too late?'"

      No one had said any of those things, but since CNN keeps saying that people say it, it becomes truth...

    • Java is pretty popular on the server side, but client side it was always one monumental flop.

      As applets go, for example, nowadays the whole program-inna-browser market is owned by Flash, followed by ActiveX. And for good reasons.

      Starting with the fact that Java 1.0 was indeed a slow piece of crap for anything but the most trivial applets. Try displaying a complex table without a JIT, and you were talking about response times you could measure with a stopwatch, not with System.currentTimeMillis().

      The init

      • And by the time it caught up... meh. Flash is _still_ the better choice.


        ah, that must be the reason why all of my homebanking is written in flash ;-)
      • by Azghoul (25786) on Friday August 13, 2004 @07:07AM (#9957281) Homepage
        Good to see your slowing moving back down the mod chart... "Client side... was always one monumental flop" is pure myth. It's interesting that you seem to think "client side" means "in a browser window".

        Run Eclipse sometime.
        • Eclipse is great, but no thanks to Sun. IBM went ahead and developed their own native widget because it was painfully obvious to everyone with eyes in their heads that both AWT and Swing were crap. Sun's been bitching and moaning [com.com] ever since and they still don't get it.

          With the exception of Eclipse and Azureus (both using SWT) Java on the desktop has been an abysmal failure. If it was up to Sun it would have been dead and buried a long time ago. There are however a few things that could revive the Java desk
        • by Moraelin (679338) on Friday August 13, 2004 @09:12AM (#9958298) Journal
          What did you want me to do? Write a whole tome worth of everything that ever was wrong with Java client side? I did say "That's just a small slice of the many ways in which Sun started it on the wrong foot."

          Believe it or not, I've been in client side application projects. I also have Eclipse open right now.

          In fact, Eclipse is the prime example of how Sun started on the wrong foot. SWT (the widget set used by Eclipse) is IBM's work, while AWT and Swing are what Sun had in mind. The words "dumb and dumber" come to mind, when I think about AWT and Swing.

          Want one thing that an actual client complained about? We had to program the same very small app in C _and_ Java, on Windows, Linux _and_ MacOS. Well, the whole package were more apps, but this was the only part which had to run on all desktops.

          The client's first comment? "Whoa! Why does the Java version need 16 MB of RAM, when the C one is less than 1 MB?"

          Another project was a bigger Swing "thick client" database program. In Swing. You know what the first complaint was? The look and feel. Inconsistent fonts, inconsistent keyboard shortcuts, etc. Sun's "Windows" Look and Feel is a sick joke. We ended up doing more work to write our own look and feel, just to get the program to look like a native app.

          Yet another way in which SWT got it right, while Sun screwed up.

          The second complaint? Performance and memory use. 'Nuff said.

          Also, believe it or not, bigger companies have tried moving to Java on the desktop. It was every company's wet dream to suddenly only have to maintain one version, and work on every single OS. Some of which they didn't even support before. Everyone tried it.

          E.g., Corel at one point wanted to move their whole office packet to Java.

          Why do you think Microsoft got so scared and wanted to kill Java? Precisely because of this. It looked like all of a sudden everything will be multi-platform, and the "but this and that runs only under Windows" advantage will evaporate over night.

          What happened to all those projects? They flopped. They ended up slow, bloated and more unstable than their Windows counterparts. So everyone moved back to C/C++.

          If that doesn't count as a monumental flop, I don't know what does.
    • Re:Return of Java (Score:5, Informative)

      by latroM (652152) on Friday August 13, 2004 @05:13AM (#9956891) Homepage Journal
      The prepondereance of GNU fanboys means that Java gets dissed for not being Free(tm).

      The SUN's java implementation is non-free but there are other free implementations of the java standard, look at http://www.kaffe.org/ [kaffe.org] for one.
    • the most popular requirement is Java Enterprise experience

      Yeah, and 15 years of it
  • by Anonymous Coward on Friday August 13, 2004 @04:28AM (#9956780)

    Do a user driven (10 questions, you know) with James Gosling. Java/Sun takes a lot of flak these days, it would be genuinely interesting to get Gosling respond to some good questions.
  • Embedded Java. (Score:4, Interesting)

    by Vo0k (760020) on Friday August 13, 2004 @04:28AM (#9956783) Journal

    Java is a nice choice for embedded platforms. It runs several times faster than on PCs (it's native for the hardware, not "emulated" through JRE), the hardware is inexpensive and can perform really sophisticated jobs. I think it may be one of major reasons for Java to take up so much.

    Java powered cryptographic iButton [ibutton.com] - a chip the size of your hand watch battery (stainless steel, shock-resistant, water-resistant and several other-resistant "iButton" package) with Java support.
    • One more interesting notice... Java as a development platform. Quite often recently I've seen Java as the language for development kits for different embedded devices. The choice is obvious: Write the kit for Windows and get yelled at by Linux community for supporting the monopoly. Write it only for Linux, you lose at least 60% of customer base. Write for both, not only you have two source trees to maintain, all the others are neglected. Write in Java - one size fits all. The speed isn't so critical in this
  • APIs and Libraries (Score:5, Interesting)

    by tezza (539307) on Friday August 13, 2004 @04:30AM (#9956787)
    CPAN was a real winner for Perl back in the early days of the web. Want SMTP? Net::SMTP. Want to format that email response? Text::AutoFormat. Easy templates? Template::Toolkit.

    Java now has an astounding array of libraries to use these days. Look at for some good ones [java-source.net].

  • Stupid comparison (Score:5, Informative)

    by plumby (179557) on Friday August 13, 2004 @04:30AM (#9956788)
    A "Googlefight" on, say, Java vs .NET tells us that all has not necessarily gone Java's way just recently. A "mere" 66 million "Java" hits...versus 388 million for "NET" - but that may all be about to change.

    Not that it really matters, but this is one of the most stupid comparisons ever. The .NET search pulls back just about every site with a .net extension. Out of the first 10 pages, only one seems to be directly related to the .NET framework (the 4th entry is php.net! ), whereas all of the first 10 Java searches is relevant.

  • by raffe (28595)
    Yeah, CxO talks about own technology, journalist writes about technology and VCs are investing in technology. Does it qualify as first page news?

    Java and Linux is the next thing.
    Come on, this isnt news.
    No, we didnt read it at JDJ first. We knew it long a go.

    Not intended as flame but this is just stupid.
  • by CountBrass (590228) on Friday August 13, 2004 @04:33AM (#9956800)

    Seriously, this was a 100% fluff article. The foundation for the article was based entirely on the assertion that a Google for "Java" brought back far fewer hits than "NET": well no shit Sherlock- perhaps if you'd tried ".NET" instead?

    The major problem Java has is EJBs: everyone in Java-land seems to think that their problem requires solving using this pile of crap. A web application with persistence- ooh we'd better use EJBs then!

    A secondary issue for Java is the barrier to entry is extremely high: sure you can learn the language quickly but it's Java's libraries that add the real value. And there are an awful lot of them. I've been using Java for 10 years (yeah I developed using the AWT and cursed it every day: if it hadn't been for the AWT being so awful I'd never have thought Swing was any good). Anyway, I've been using Java for 10 years and I would hate to have to learn it from scratch today.

    • A secondary issue for Java is the barrier to entry is extremely high: sure you can learn the language quickly but it's Java's libraries that add the real value.

      I did try Java. I think the main reason I didn't stick with it in retrospect is the feeling that you have to run a beast of a VM to do "Hello World!". Now I program in C++/Qt.

      That is to say, I don't program in C++. I barely know pointer artihmetic, templates, exceptions, the standard library, callback functions and a host of other things. Not that
      • by CountBrass (590228) on Friday August 13, 2004 @05:55AM (#9957008)
        You know, I can't remember the last time I was asked to deliver a product that printed "Hello World" so whether or not the JVM is too heavyweight for such an app' is moot. And even if it was: throw more hardware at it. Hardware is cheap. Maintaining code is expensive and C++ has a much higher maintenance overhead than Java does (pointers, object ownership, misused multiple inheritance - the list goes on).
    • Seriously, this was a 100% fluff article. The foundation for the article was based entirely on the assertion that a Google for "Java" brought back far fewer hits than "NET": well no shit Sherlock- perhaps if you'd tried ".NET" instead?

      You'd get the same results. The '.', used in a Google search, is a shortcut for searching for a string--you can either use '"i want to find this string"' or 'i.want.to.find.this.string'. Hence, ".NET" will search for a string consisting of the word "NET" and should return th

  • Source critique (Score:5, Insightful)

    by Kingpin (40003) on Friday August 13, 2004 @04:40AM (#9956812) Homepage

    One of the first things I was taught in college, was to be critic of the sources I based research on.

    In the world of WWW, it seems that each and every article and blog entry can be used as reliable fact. "He wrote it, it must be true". If some nerd posts that language X is the best, and those who use it are really really smart (case in point Paul Graham/Pythong) - that really doesn't make it come true. Same goes for Java "dead or alive" etc. etc. (Naturally, we all know that BSD is in fact dying - this is the exception).

  • by Scarblac (122480) <slashdot@gerlich.nl> on Friday August 13, 2004 @04:40AM (#9956813) Homepage

    For quite a while, when Sun was mentioned here, it was often in the context of "they're dying, no new research, no future, no idea of how to compete with Linux", and things like that. I think the height of that was this article [slashdot.org], which actually talks about who caused "the fall of Sun".

    Now in the last two weeks, we see a steady flow of Sun-related articles. Java is being promoted (this article, and this [slashdot.org] two weeks back), there is news on Solaris ("Linux apps on Solaris" [slashdot.org], "Solaris coming to Power architecture" [slashdot.org]), there have been bits about their cool Sun Rays on Linux [slashdot.org], their R&D with the chips without connectors [slashdot.org], and rumours that they could buy a key player, Novell [slashdot.org]. There's also Looking Glass [slashdot.org].

    All in 11 days or so. It seems someone is screaming "Hey Slashdot, we're really alive!". You'd almost expect them to sue SCO next week just for the attention...

  • by Anonymous Coward on Friday August 13, 2004 @04:45AM (#9956825)
    Java is a great language that people avoid because it's a pain in the ass.

    Java 1.5 goes a long way to help that, what with iterators, autoboxing and such.
  • Azureus: http://sourceforge.net/projects/azureus/
    Eclipse project: http://www.eclipse.org
  • Java keeps quiet (Score:2, Interesting)

    by 16K Ram Pack (690082)
    One problem is, no-one much hears about it. Sun rarely seem to trumpet what they are doing with it.

    I don't do Java, but from what I've seen, it doesn't change much, and where it does, it adds to what was there before. That is IMO a good thing, that developers aren't sitting around poring over documentation, but are productive instead.

    (One reason for not doing Java is the small number of companies doing Tomcat hosting).

  • Java is not back. (Score:2, Insightful)

    by Cyberax (705495)
    It's just a marketing.

    Java language has stagnated in about 1999 with the release of J2SE 1.2 (dubbed Java 2); new J2SE 1.5 (Java 5) is just a cosmetic change of language (yes, I consider current implementation of generics/annotations to be 'cosmetic').

    It's quite OK to be conservative, but you can't conquer the world of IT being conservative. Java's position on server-side is still pretty firm, but desktop apps in Java (apart from Java IDEs) are non-existant.

    And Microsoft's position on server-side
    • Re:Java is not back. (Score:5, Informative)

      by LarsWestergren (9033) on Friday August 13, 2004 @05:39AM (#9956962) Homepage Journal
      Java language has stagnated in about 1999 with the release of J2SE 1.2 (dubbed Java 2)

      Oh, what BS. Like that is the only thing that has changed .Java has become big enough to come in three different version, enterprise, standard and micro edition. The micro edition is extremely common in mobile phones, enterprise very common in banking etc.

      Some of the new things in Java 1.3:
      Java Naming and Directory Interface (JNDI), 20% faster RMI serialization, improvements in AWT/Swing/JavaSound, security enhancements, HotSpot optimization of client and server VMs.

      In Java 1.4:
      Secure Sockets and HTTPS, IPv6, cryptography extensions, LinkedHashMap, NIO (FileChannel, Non blocking IO), builtin regexp and logging (though there are even better open source libraries for those), assertions, XML processing, hardware acceleration of Java2D, image I/O framework, java Web start, Unicode 3.0 Support, Currency class, Accessibility improvements, Math improvments, Itanium support

      In Java 1.5:
      Generics, enhanced for Loop (for each), autoboxing/unboxing, typesafe enums, varargs, metadata annotations, class data sharing (improved VM startup time), launching apps under inetd in unix/linux, loads of security enhancements [sun.com], Unicode 4 support, hyperbolic transcendental functions (sinh, cosh, tanh), cube root, base 10 logarithm, AMD Opteron support....

      Sun is not letting MS win without a fight.
    • Re:Java is not back. (Score:5, Interesting)

      by Baki (72515) on Friday August 13, 2004 @05:39AM (#9956964)
      No it won't. Server-side programming (i.e. "enterprise") means backwards compatability is very important. MSFT cannot afford to break it in .NET either.

      SUN has done an amazing job in extending Java even to include generics without breaking backwards compatability. Yes it did not lead to the solution that is technically and internally the most efficient (it would have required changes to the JVM), but the developer is not affected. Internally it is solved by typecasts, but who cares? The compiler, it cares and verifies and tat is what matters. .NET is years behind and plans to bring similar features only in 2007 (generics). It remains to be seen if they can do it without breaking backwards compatability. They already have a very hard time to convince their current developers to switch to .NET, they cannot afford to make their developers have to migrate once more in the next 10 years. .NET being so poorly designed I truely wonder if they can improve it without disturbing compatability. I cannot see it being a threat.

      I work in a large company, and all new development is done 100% in Java (except the mainframe parts, in PL/1 but that is declining rapidly). .NET would only be considered for fat client GUI's which used to be done in MFC. So even if .NET becomes a success, it will only replace parts that were already done in MSFT technology before, it has zero chance on the server side.
  • by Vo0k (760020) on Friday August 13, 2004 @05:14AM (#9956892) Journal
    I'd win hands down. .NET
    (386 000 000 results)

    versus .COM
    (1940 000 000 results)
  • by nysus (162232) on Friday August 13, 2004 @05:35AM (#9956948)
    He bases part of his argument that Java is less popular than .NET by doing a Google fight between "java" and "net"???

    Java can be a coffee or an island in the Indonesia. Net is a device to ensnare animals and is a verb as well.

    And he cites a blog item from a Sun executive as proof that Java is back? Please. The article is nonsensical.
    • Part of? It's a couple of hours since I RTFA, but I don't recall him having any other argument that Java is less popular than .NET.

      In addition to nets as trapping implements, consider the common "sentence"

      import java.net.*;
  • All good but overhyped technologies do this. It works like this: The sponsor of a technology hits a home run in the media with hype, and everyone jumps on board thinking it's the silver bullet they've been waiting for. Then reality shows up, and all those who bought the unrealistic expectations generated by the hype jump ship, and the media reports on the mass exodus from the technology as though the technology has failed. Meanwhile the technology is still growing steadily as the real users find it suits
  • why bother arguing (Score:3, Insightful)

    by thebdj (768618) on Friday August 13, 2004 @05:51AM (#9956995) Journal
    This is another one of those horrible things that happens every once in a while on slashdot. This argument is about as big as MS v. Linux or AMD v. Intel or ATI v. nVidia (for those who care).

    The fact is you have some people who are super java fan boys and will stand by it until the day they die and most of them probably haven't programmed enough in other languages to say anything but the few bad experiences they did have.

    Don't think I am letting the C/C++ programmers off either. I am one of them and I will be the first to admit I have hardly ever used java, but I have also had enough first-hand bad experience to not want to use it.

    The fact is that people will stick with they know best and odds are whichever you learned first (java or c++) that will more than likely be the one you spend the majority of your time working with. So half the people can continue to rip on java now and the rest of you can praise it. I do digital design so I don't care enough about code to get into this argument.

    --
    "The same thing we do every night Pinky; Try to take over the world!"
  • How come whenever Java is mentioned people think of Swing and Web Applets?
  • Mobile??? (Score:4, Interesting)

    by Akimotos (747459) on Friday August 13, 2004 @06:28AM (#9957122)
    I never thought of Java as something worth following, because it was my personal experiece that: - it is slow - files are biiiiiig I mean, running some Java app makes the fan of my Powerbook spinning. Face it, only Photoshop and Imovie do that to me ...

    But in Europe Java is really strong in the mobile phone environment. I have this SE 900 and it always draws lots of attention and things that strike me most are remarks of non-technical people, like the 16 (or something) year old girl at some fast food joint: "Does it have Java?" Even my sister (30, knows shit about computers) has it on her wishlist: a Java enabled mobile phone...

    The fact alone that it is seen as some 'special' thing ... Sun (or Nokia, or whoever) has done a great job there.
  • Monkey (Score:5, Insightful)

    by Graymalkin (13732) * on Friday August 13, 2004 @07:30AM (#9957401)
    I find it amusing that Java is dying because it hasn't totally supplanted Win32 as a desktop application environment. More and more I'm seeing companies replacing their aging in-house applications with Java web services. Where several years ago an internal application might be a VB5 front-end to an Access database today is likely a full fledged web service running on a central server. Such applications are available over a VPN, dial-in modems, or even bridged networks with little trouble. The data is also centralized meaning there's no synch issues within the office. When Mary updates a record Sam gets that information immediately. These applications are also client agnostic so they'll run on just about anything with a web browser.

    Centralized web services are capturing the hearts and minds of a lot of companies anymore. Clients for such services can be thin or fat and can run whatever OS is practical. An office full of iMacs can access a web service just as well as an office full of HPs running Linux. If Java is ditched down the road for Perl or Python the database server isn't going to go tits up.

    Java's death never really happened, it's just that its success came from an area no one really expected early on. Perl's met with similar success. What started off as a language to parse server logs and turn huge data files into meaningful information became the premiere CGI language on the web. While a successful word processor might never be written in Java, the language and environment are far from dead.
  • by sethg (15187) on Friday August 13, 2004 @07:44AM (#9957504) Homepage
    ...unfortunately.

    When I was unemployed, I had monster.com and dice.com send me a daily email with every new job posting that contained "Perl" or "Java". For those ten months, I saw virtually no Perl jobs, and almost every Java-related job required J2EE experience.

    So I took a basic class in J2EE, and said to myself, "No wonder there are so many openings for J2EE programmers: it takes a team of five J2EE programmers a month to put together what a good Perl hacker can make in a week." The hoops you have to jump through to get things to work in J2EE--most of which seem to involve working around Java's static typing and its object model--are absurd.

    I've been re-employed for almost a year, thank God, and the group I work with is writing a J2EE-based ERP application. I have seen nothing so far to refute my original impression of J2EE.

    But it still beats being unemployed.

  • by kahei (466208) on Friday August 13, 2004 @07:58AM (#9957592) Homepage

    The article notes that a googlefight gives 66 million hits for java and 386 million for .NET (actually, those are the numbers I got just now, but they're similar).

    Thing is, the .NET hits include EVERYTHING IN THE WORLD THAT HAS A DOMAIN ENDING IN .NET, which makes it A BIT SILLY.

    The article is trying to make out like Java 'went away', just so it can build momentum for a comeback. I don't care for Java as a technology, but I'm pretty sure it never 'went away' at all -- and the fact that Java developers are cheap and common compared to almost every other kind is going to keep Java on the servers for a long long time.

    I wish Mono would hurry up.

  • "it's actually kind of amazing how ill-understood some of the timing is in C--things like malloc and free can actually be awful" -- Gosling on realtime

    If you're doing hard realtime you don't call malloc and free: you use a buffer pool that's sized for the objects you're working on, and allocate objects from that. Not only do malloc and free make a hash of timing dependencies, they make a hash of memory itself. The fragmentation you get from malloc and free are fine for short-running programs or programs that can afford a small slow memory leak as locked-down allocations make chunks of the heap unusable, but for realtime that just doesn't cut it.

    It's much the same as in the OS kernel or in file systems, you have pools of fixed size objects that you stick fixed size chunks of data into, your buffer cache and cylinder groups and clists and things. You can use some of the same tools to improve the behaviour of malloc and free, too, but you get a lot more memory overhead because you rarely have the kind of good sizing information that more or less automatically falls out in the process of designing your memory strategy without it.

    Bringing up malloc and free as reasons why Java's not so bad for realtime is really a red herring. I don't know if Gosling's just not used to a hard realtime environment, or what, but he's definitely muddying the waters here.
  • by dfj225 (587560) on Friday August 13, 2004 @09:48AM (#9958700) Homepage Journal
    Well, according to my research Java doesn't even exist! There are absolutely no servers existing in the .java domain. However, there are many, many servers with .net. Apparently, Java has much catching up to do if they ever want to pass Microsoft.
  • Pot, Kettle (Score:5, Funny)

    by mihalis (28146) on Friday August 13, 2004 @09:49AM (#9958707) Homepage

    In the first article, Eric Allman says I'm curious about a couple of other languages. My favorite language to hate is Perl. It seems like no real thought was given to the language. It kind of grew over the years. So it's just really deeply, deeply ugly.

    And this is from the guy who wrote Sendmail !

  • by Lodragandraoidh (639696) on Friday August 13, 2004 @10:49AM (#9959435) Journal
    "Were I a CIO facing these issues [the technical effort needed to port an app off one app server to another], I'd stay focused on the one thing definitively under my control - keeping the cost of substitution, of at least application portability, as close to zero as possible. How? You guessed it, I'd write to Java." - Jonathan Schwartz Sun COO

    Ummm - what about python or perl? Both of these are just as portable - requiring zero modification of the code to port to any OS.

    And don't pull out the 'java is more efficient' bull scatology. I have a java application right now that my team is rewriting in perl because it runs too slow (and also has a memory leak - code is vendor proprietary, so they won't let us see/modify the source to fix it). There is nothing I can do with java that I can't do with perl or python - as much as David Berlind would say otherwise (his statement in the article suggests perl and python are good for 'scripting', but not robust enough for large applications). As a supposedly impartial journalist/editor for ZDnet - I have to question his motives for jumping on this bandwagon. Also, his primary focus on writing, rather than building apps, hardly makes him qualified to make such an accessment, imo.

    Given that I would have to disagree with this editorial in JDJ.

    The words of the COO of SUN, who has a vested interest in the success of java, and the words of a journalist, who from all appearances doesn't have the technical background to be taken seriously concerning application development issues, in an editorial on a website dedicated to java development, hardly seems like 'news' more than a marketing ploy.
  • by bokmann (323771) on Friday August 13, 2004 @10:58AM (#9959549) Homepage

    Java isn't going anywhere. Java has at least reached the status of 'the next cobol', to quote Stu Halloway. This isn't a comment on Java's speed, quality, and such, it simply means that even if all Java development stopped today (which it won't), there has been enough investment in Java'based intfrastructure that the maintenance alone will be quite a large job market for years to come.

    Java is NOT dead/dying. New, important projects start with it every day. I am the president of the Northern Virginia Java Users Group [novajug.com], and we have a steadily growing membership (now over 1100 members). I am also a speaker for the No Fluff Just Stuff Software Symposiums [nofluffjuststuff.com], and the discussions about Java tools, techniques, etc dominate that conference. Why? Because it sells. .NET has been gaining some momentum, and c# is undoubtedly the 'next big thing', but Java is here to stay. If you are a software engineer, Java is a 'safe place' to be for new and interesting work for the next 4+ years, at least. (That doesn't mean software engineers don't need to have diverse talent - but that is a topic for another rant).

  • by JustAnotherReader (470464) on Friday August 13, 2004 @11:04AM (#9959606)
    Everyone's talking about how Java requires the user to install a JRE and how Java is slow (I beg to differ) and how Java Swing is to bloated. All these complaints assume that Java's predominant use is to write desktop applications.

    But that's not what Java is being used for. The most common usage of Java is for high volume dynamic web sites such as Amazon.com and most online banking systems. The combination of Java servlets, Java Server Pages and Java based web engines (WebSphere or Web Logic for example, or even Apache and Tomcat) are becoming the most common usage of Java.

    I work at a major California bank and have worked on various web based applications for about 9 years. Java is the standard for writing those types of dynamic web apps. For example. When you want to see your financial summary you wouldn't expect that there is somebody writing a web page just for you every time to make an ATM transaction would you? Of course not. You log in and we identify you. Then we go to an Oracle database or a bank host system and get your transaction history. We load that into a data object and pass it to a JSP which dynamically creates the web page with your transaction history. Java excels at that kind of application. And by the way, I can develop my code in Windows 2000, move it to a Linux box to do some basic testing, and then move it (all without recompiling) to an IBM AIX Unix box and have everything work the same on all these different environments. That makes my job easier.

    So we need to stop comparing apples to oranges and saying things that essentially sum up to "A badly written Java program is slower than a well written C program" or "Java was slow 6 years ago so it's still slow today" or "I don't agree with the language designer's choice of [properties, no operator overloading or whatever language peeve you have]". Look at how the language is actually being used and you'll see that Java is indeed alive and well.

  • I don't use Java (Score:3, Insightful)

    by CaptainTux (658655) <papillion@gmail.com> on Friday August 13, 2004 @11:53AM (#9960172) Homepage Journal
    I've been programming professionally since I was around 15 and have a CompSci degree under my belt along with probably a few million lines of code. I know what it takes to develop a large scale application and I'm definately willing to put in the work to learn a new language. I've learned solid principles of OOP and undertand where Java is coming from and trying to accomplish. I even took the time to learn it a few years back just to have it under my belt.

    Java is a good language. Yes, there are issues, but they could be resolved by Sun fairly easily. But, in most cases, Java simply isn't needed. Statistics show that the vast majority of software applications being developed are not "mass market" type apps but rather stuff that is used in house. Most shops have standardized around one platform or another so cross platform isn't really an issue. And, when it is, it's usually trivial to edit C code and recompile for the new arch.

    Lastly, let me tell you a little story: I am currently launching a new startup aimed at developing a kiosk for the entertainment industry. Originally, everyone said I simply *had* to write my software in Java because of an infinate number of reasons. Even as an experienced programmer, I was dumb enough to buy into it and try. Within a few weeks the software had become so slow and bloated that I knew I had to find something else. Where do you think I went?

    Python with the WX extensions.

    Python offers me everything Java can (WORA, Speed, Good GUI enviroment, etc) and is absolutley painless to learn. In fact, I am LEARNING the language AS I write the new software and it's not slowing me up at all. There are times I have to go back and fix things but usually it's pretty straightforward. Python is, to me at least, a Java killer.

    I think that Java has some strong points. But, ultimately, it's no stronger that some other languages out ther (think C++, Python) and in some ways weaker. Sun needs to do something to get Java back on track. They can save the language but they need to drop the arrogance and get back down to basics.

Sentient plasmoids are a gas.

Working...