Slashdot Mirror


If Java Is Dying, It Sure Looks Awfully Healthy

Hugh Pickens DOT Com writes "Andrew Binstock writes at Dr. Dobb's that a recurring prejudice in the forums where the cool kids hang out is against Java, often described as verbose and fading in popularity but Binstock sees little supporting evidence of Java being in some kind of long-term decline. While it is true that Java certainly can be verbose, several scripting languages have sprung up which are purpose-designed to spare developers from long syntactical passages to communicate a simple action, including NetRexx, Groovy, and Scala. As far as Java's popularity goes, normally, when technologies start their ultimate decline, tradeshows are the first to reflect the disintegrating community. But the recent JavaOne show was clearly larger and better attended than it has been in either of the last two years and vendors on the exhibiting floor were unanimous in saying that traffic, leads, and inquiries were up significantly over last year. Technically, the language continues to advance says Binstock. Java 8, expected in March, will add closures (that is, lambda expressions) that will reduce code, diminish the need for anonymous inner classes, and facilitate functional-like coding. Greater modularity which will be complete in Java 9 (due in 2016) will help efficient management of artifacts, as will several enhancements that simplify syntax in that release. 'When you add in the Android ecosystem, whose native development language is Java, it becomes very difficult to see how a language so widely used in so many areas — server, Web, desktop, mobile devices — is in some kind of decline,' concludes Binstock. 'What I'm seeing is a language that is under constant refinement and development, with a large and very active community, which enjoys a platform that is widely used for new languages. None of this looks to me like a language in decline.'"

16 of 577 comments (clear)

  1. Re:Wake me up... by nitehawk214 · · Score: 5, Insightful

    Wake me up when netcraft confirms it. Until then it's not dying.

    --
    I'm a good cook. I'm a fantastic eater. - Steven Brust
  2. The story, as visualized in Python by idontgno · · Score: 5, Funny

    The Dead Collector: Bring out yer dead.
    [a company puts COBOL on the cart]
    Oracle Corporation with Dead Body: Here's one.
    The Dead Collector: That'll be ninepence.
    Java: I'm not dead.
    The Dead Collector: What?
    Oracle: Nothing. There's your ninepence.
    Java: I'm not dead.
    The Dead Collector: 'Ere, he says he's not dead.
    Oracle: Yes he is.
    Java: I'm not.
    The Dead Collector: He isn't.
    Oracle: Well, he will be soon, he's very ill.
    Java: I'm getting better.
    Oracle: No you're not, you'll be stone dead in a moment.
    The Dead Collector: Well, I can't take him like that. It's against regulations.
    Java: I don't want to go on the cart.
    Oracle: Oh, don't be such a baby.
    The Dead Collector: I can't take him.
    Java: I feel fine.
    Oracle: Oh, do me a favor.
    The Dead Collector: I can't.
    Oracle: Well, can you hang around for a couple of minutes? He won't be long.
    The Dead Collector: I promised I'd be at Microsoft. They've lost nine today.
    Oracle: Well, when's your next round?
    The Dead Collector: Thursday.
    Java: I think I'll go for a walk.
    Oracle: You're not fooling anyone, you know. Isn't there anything you could do?
    Java: I feel happy. I feel happy.
    [The Dead Collector glances up and down the street furtively, then silences the Body with his a whack of his club]
    Oracle: Ah, thank you very much.
    The Dead Collector: Not at all. See you on Thursday.
    Oracle: Right.

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
  3. Java won't die. by sirsky · · Score: 5, Insightful

    The reason Java is still alive and well is not because it's a good language. It's not because Oracle does a good job patching security faults with it. It's not because it may be able to run most of it's code on any given OS that can run its VM.

    The reason Java is still alive and well is because it is the OO language most schools, universities and colleges teach in their CS classes.

    1. Re:Java won't die. by ausekilis · · Score: 5, Informative

      The reason Java is still alive and well is because it is the OO language most schools, universities and colleges teach in their CS classes.

      Which is both a blessing and a curse. I went through my programming undergrad classes in the last round they offered C and C++. It worked out well because my employer needed those languages and for me to be able to learn others quickly, such as Java and C#. My experience with classes in C++ and lower level bit-bashing in C gave me the knowledge in being able to create custom libraries and handle oddly defined standard binary blobs, such as DTED data.

      This same employer stopped looking at my school afterwards simply because Java was the dominant language. The graduates being churned out had knowledge of data structures and libraries, but knew very little of the ins and outs of binary data streams, binary blobs, memory management, and all those other things that you need in C and C++ that Java gives you for free.

      Yes, it's good to have an approachable basis for such a complicated field as programming (computer science/software engineering/development/etc..). However, going from C/C++ to Java is a lot easier than the other way around. There's a reason my professor called Java a "Training Wheels Language"

  4. Re:Wake me up... by stewsters · · Score: 5, Informative

    The great part about Java is that there are so many libraries for it.

    http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/primitives/UnsignedInteger.html

  5. Re:Wake me up... by Anonymous Coward · · Score: 5, Informative

    Wake me up when java supports unsigned integers. Until then it's not a real language.

    Python, Perl, and Ruby are examples of other languages that don't support unsigned integers. These languages are independent of the underlying hardware and automatically upsize the integer to handle larger value. You can always use the AND operator to convert to an unsigned integer for C calls. (e.g. var & 0x0FFFFFFFF).

    You're not a real programmer if you can't adapt to the lack of unsigned variables.

  6. Re:Sudden death by Kagato · · Score: 5, Informative

    I consult in a lot of sectors. Banking, Insurance, New Media, Old Media, Start-ups, etc. People who want to leave Java for some new language are doing it because of a set of features. I've yet to come across anyone, let alone an institution, that wanted to leave Java because of Oracles court proceedings (I would assume against Google for Android).

    There was tons of talks on OpenJDK at JavaOne. If Oracle is the next Microsoft you would think they would have put the hammer down on that. I didn't see any of that happening. In fact Microsoft's cloud support of Java is based on OpenJDK and that was a keynote item.

    On the other hand, I do hear a lot of dissatisfaction from the MySQL folks. They are moving to Maria (or other DBs). That has little to do with Java.

  7. If there's such a market.. why the Ask toolbar?? by gregmac · · Score: 5, Insightful

    It definitely doesn't help that the JRE installer tries to also install the Ask toolbar. Seriously? Even Microsoft doesn't try to install Bing with the .NET installers, and that's their own property they're desperately trying to push on everyone.

    How am I supposed to take a platform seriously if the fundamental piece that has to be installed by all developers AND users to use it is doing the same sneaky things that half the crappy freeware on the internet is doing?

    Just how much revenue does Oracle make from Ask anyway?

    --
    Speak before you think
  8. Java's problem isn't verbosity by engun · · Score: 5, Insightful

    Java's problem isn't verbosity IMHO. It's the general mindset and community that has grown around the language. Instead of simplicity, they've gone into massive over-engineering, with factory factory factories and the like. A combination of pattern mania, and "enterprise" java, has resulted in turning an otherwise simple language into a veritable nightmare. Contrast this with the python community for example. Language wise, compare Java with C#. C# has done things a lot better in general. It may help that newer versions of Java will achieve some degree of feature parity with it but in the long run, I think it also has to be accompanied by a shift in the general notion of what's "normal" design in the Java world.

    1. Re:Java's problem isn't verbosity by Kagato · · Score: 5, Funny

      There's certainly a lot of factory pattern stuff out there. But your comparison is a bit outdated. Now days development uses a lot of annotations, auto-wiring/dependency injection. If I need to roll out a web service that makes some DB calls it's not that big of a lift. Maybe a half a dozen classes to get the job done (including tests).

    2. Re:Java's problem isn't verbosity by hondo77 · · Score: 5, Insightful

      Nothing but him bitching about how PHP sucks...

      To be fair, it does.

      --
      I live ze unknown. I love ze unknown. I am ze unknown.
  9. Re:Wake me up... by frinkster · · Score: 5, Insightful

    You're not a real programmer if you can't adapt to the lack of unsigned variables.

    Forget about being a "real programmer" and focus on being a "real developer.' There are functional requirements and then there are technical requirements. Functionally speaking, how important is it to have an unsigned data type rather than having the equivalent data type and enforcing a "no negative values" rule? I'm not sure I can think of any, aside from the case of being able to interpret unsigned data types for interoperability. But that says nothing about the need for the actual storage of that data.

    I'm pretty sure that some respected Computer Scientist said something about premature optimization....... It's a good rule. Focus on meeting the functional requirements of the system you are developing, and then optimize where it makes sense. I don't think you are going to notice the lack of unsigned data types. But if you really need them, perhaps that should be a signal that a lower-level language is more appropriate for that particular component in the system.

  10. Re:Google Chrome is killing java by binarylarry · · Score: 5, Insightful

    Java is a lot bigger than Java Applets.

    Java Applets fucking suck and deserve to die.

    --
    Mod me down, my New Earth Global Warmingist friends!
  11. Re:Android, Objective-C and Tiobe Index by bill_mcgonigle · · Score: 5, Insightful

    Rails and Python are great when you don't have significant technical skills and just need to slap some shit together and throw in on a web server.

    I've seen this from the other side. Java is a *great* language for the middle of the normal distribution. I'm not going to name the languages on the left side of the curve, because the point of this isn't to start a flame war, but if you have a large number of averagely competent programmers, then Java lets you (as architect/manager/etc.) have those programmers be productive for you, produce code that can be read in the future by the same segment of the population, and be reasonably sure the language will prevent them from making hidden catastrophic mistakes. Also there are a large number of existing tools that let you scale their work out both in depth and in breadth.

    The alpha geeks employing Ruby, Python, modern Perl, erlang, etc. are usually at the right side of the curve, doing very efficient, agile, but abstract and terse stuff that takes exceptional (not heroic, just unusual) sysadmin skills to get to work on a grand scale.

    Due to the nature of the available talent pool, it's natural to see projects start with the advanced scripting languages among the startup crowd and then migrate to the Java environment over time. Twitter would be a good example of this.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  12. Re:Google Chrome is killing java by RaceProUK · · Score: 5, Informative

    (chrome is 32 bit, and java 1.7 is 64 only.)

    Total bollocks. Here's 32-bit Java for:

    Windows

    Linux (tarball)

    Linux (RPM)

    --
    No colour or religion ever stopped the bullet from a gun
  13. Re:Android, Objective-C and Tiobe Index by angel'o'sphere · · Score: 5, Insightful

    Because it would be a dozen times more efford in programming hours, because it lacks the relevant libraries, because the amount of capable C++ programmers is very low, because C++ is a dying language in the enterprise environment, because C++ is not truely portable across platforms, because in the end when it comes down to performance the C++ implementation (which costed you 5 times the money and 2 times the time to develop) will be only 5% faster than the Java implememtation.
    And all arguments above will kill you when you plan to maintain it for the next 15 years.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.