Slashdot Mirror


Trouble Ahead for Java

Jeremy Geelan writes "The editor-in-chief of the world's largest journal devoted to Java wonders whether, with the arrival of Microsoft's C# programming language on the scene, Java perhaps has only 5 years or so left to live. Javaland has erupted! This is a little like Bill Gates wondering out loud whether to send Scott McNealy a Christmas card. But is Alan Williamson right? Read this short article and decide for yourself."

5 of 670 comments (clear)

  1. Cobol is still in demand. by Lucky+Kevin · · Score: 5, Insightful

    There are so many Java programmers and so much Java code being produced that it will last a lot longer than five years. People still need Cobol programmers, ok so not mainstream but look how long ago that was designed and despite being crappy it is still here.

    But as the article says it really doesn't help when people who should know better say "Java? No one is doing that now. Microsoft is no longer supporting it."

    Gates has a lot to answer for.

    --
    Kevin
    "It's not the cough that carries you off, it's the coffin they carry you off in" O. Nash
  2. Valid points, not conclusion by bigmouth_strikes · · Score: 5, Insightful

    I think the author has several good points, especially in pointing out some key shortcomings of Java (java on the client, Swing). Also, the .NET toolkit looks very competent and building and deploying .asp's is quite simple as compared to deploying a java solution.

    But the key thing not mentioned is the fact that Big Blue and the rest of the industry is quite determined on Java. Sure, IBM and Microsoft are working together on Web Services, but I think IBM is unlikely to start supporting .NET instead of Java in their tools. More important, when IBM and MS are talking to each other and making standards for web services, it is more likely than not that both Java and C# will coexist.

    Java has shortcomings, but it has become a success despite this, and due to a vast support from professionals ranging from programmers to computer scientists. To say that all this will be gone in 5 years is more than bold, when in fact the amount of existing Java code are probably more than can be replaced in 5 years.

    Of course, languages and platforms come and go, but since C# doesn't drastically change the way application development is done - which is what Java did, in several ways - I don't think it'll start a revolution in the way that the article suggests.

    --
    Oh, I can't help quoting you because everything that you said rings true
  3. Why .net will really win over java by johnburton · · Score: 5, Insightful

    .NET platforms will win over from java because .NET compilers to .EXE and .DLL files which look and seem to work just like the ones you are used to. Of course they are completely and utterly different behind the scenes, but that one simple fact makes .NET seem familier but new and exciting, and not at all like all those scary java .class files. Ok, so I exagerate, but I think that having .EXE and .DLL files really WILL make a lot of difference to how people percieve this platform.

    --
    Sig is taking a break!
  4. Re:Not likely :) by smack.addict · · Score: 5, Insightful
    I agree that Java is on the way out.

    I seriously doubt it. All major metrics such as adoption in companies, teaching in education, and adoption by programmers suggests it is continuously growing. Furthermore, the only potential competitor on the market is C# which, while not an inferior clone, is a clone. Jumping languages is a hard task. C# will capture the windows client development market and the microsoft people who never adopted Java in the first place. It is hard to see what will compell people already in the Java camp to move to C#.

    The language is awkward and unexpressive; its main appeal seems to be in preventing stupid programmers from doing things their brains can't understand (like multiple inheritance). But we all know that you cannot prevent the programmer from writing bad code. OK, pointer safety and garbage collection is useful, but c'mon, practically every other language apart from C and C++ has this too, and C++ is pretty safe if you program it carefully and use the STL.

    You can succesfully prevent coders from being stupid. The difference between C and Java is that you have to be an expert to write good C code; you have to be an expert to write bad Java code. What you want from a language is a language that maps well to architectural models so that your architects are making the decisions, not your immature and inexperienced code monkeys. Java is that language. C# is almost that language.

    And the libraries: urgh. They all seem to be designed by committee and make QBASIC look elegant. The standard date library for example, or database access.

    The libraries, in general, are actually quite well designed. Especially the database access API. The problem is, novice coders don't generally understand that there are things like non-western calendaring systems, multi-byte character sets, and alternate forms for displaying dates. These libraries make sure such novice programmers do not code a company into a box.

    Java claims to be cross-platform, but it only does this by creating a whole new platform on top which has to be installed first. And the JDK is one of the least portable programs you'll find on a modern system. As for being vendor independent: don't make me laugh. Java is just as dependent on Sun as Windows is on Microsoft

    There is no way to get cross-platform behavior without installing a virtual machine. Whether you call that VM a browser, an emulator, or a VM is irrelevant. And Java really has no dependence on Sun. It is much more dependent on IBM than Sun.

    Java has succeeded because it solves real programming issues for large-scale software development.

  5. Re:This is a Good Thing by jpatokal · · Score: 5, Insightful
    Sun sells hardly *any* Java-based products (the only thing that comes to mind is the HotJava Bean which has been discontinued, and Forte, which there is already a free edition!)

    Maybe you should take a peek into the corporate world. Want to add SNMP functionality to your Java product? J. Random Hacker doesn't, but Q. Big Corporation often will, and the only way to do this is to fork out the moolah for Sun's JDMK. The cost? $10000 for one (1) developer seat and 50 runtime licenses.

    But Sun's basic strategy is to popularize Java (at a loss) and then sell Sun hardware for it (at a profit). The company I work for is almost entirely a Java shop. We make carrier-grade applications, and whenever possible we ask our customers to use Sun hardware, because that's what Java works best on. This is not a coincidence.

    Cheers,
    -j.