back to article Oracle VP: 'We want the next decade to be Java first, Java always'

In the wake of a safe harbor disclaimer insisting Oracle could not be held to anything said during its JavaOne conference keynote on Monday, Georges Saab, veep of software development for the Java platform, talked his way through a Java victory lap. "Over the past 22 years, Java has grown and matured to the point that the …

  1. Pascal Monett Silver badge

    "Java [..] is the number-one programming language"

    His argument, apparently, is because of the number of thingys that run it, essentially. Number which is respectable indeed, except that I will never forgive whoever thought it was a good idea to put Java in a Blu-Ray player.

    But if he can use his metrics to justify his position, then I can propose another number one programming language as well : COBOL. Because without COBOL, VISA, MasterCard and American Express, not to mention PayPal, all grind to a sudden halt and the world's economy collapses in the hour.

    Java, with all its faults, doesn't hold a candle to that.

    1. Gene Cash Silver badge

      Re: "Java [..] is the number-one programming language"

      > because of the number of thingys that run it

      Do these "thingys" include Android phones? That'd be ironic...

      1. Christian Berger

        Re: "Java [..] is the number-one programming language"

        Well for some unknown reasons SIM-cards often contain a tiny JVM.

        1. Lysenko

          Re: "Java [..] is the number-one programming language"

          Java Cards run a very restricted subset of Java, but by all means include them and lets go with Oracle's marketing figure of 3 billion devices running Java? There are 50 billion ARMs out there, 94%+ of which obviously aren't running Java. That's just one architecture. Add in the 12 billion PICs, 5 billion MIPS, God knows how many x86 and Java/JVMs are clearly way below 5%.

          The question is therefore what all those processors actually do run? I refer to the answer I gave some moments ago.

          NB: Yes, a lot of early PICs will have been programmed directly in assembler. That doesn't shift the overall numbers in any material way.

    2. Lysenko

      Re: "Java [..] is the number-one programming language"

      His argument, apparently, is because of the number of thingys that run it, essentially.

      Even on that basis the argument is completely bogus. The number one programming language is C, end of discussion. There are probably enough washing machines and TV remote controls in the world to outnumber JVMs, and that's without taking into account that every JVM is itself a C/C++ program.

      1. Def Silver badge

        Re: "Java [..] is the number-one programming language"

        Surely by that argument the number one programming language is actually ARM assembler.

        1. Lysenko

          Re: "Java [..] is the number-one programming language"

          ARMs are not usually programmed in assembler any more than x86s are. Even PICs and MSP430s are mostly programmed in C these days.

  2. Oh Homer

    The next decade...

    Personally I'd be overjoyed if Java and indeed all PVMs were consigned to the bin over the next decade, and programmers stopped producing bloated, insecure garbage just because it supposedly "runs anywhere" (yet in practice it strangely never does).

    While we're at it, let's bin RAD in general, and change the focus of development from being "Rapid" (accumulation of cash) to the slow and steady release of high quality code.

    Yes I know, it'll never happen.

    1. Jonathan 27 Bronze badge

      Re: The next decade...

      Definitely won't happen, if anything software will be written in even more high-level languages. It's been shown time and again that productivity beats performance (at least as far as management is concerned). JavaScript everywhere! That's not even the next frontier anymore, it's the current reality.

    2. This post has been deleted by a moderator

      1. Ken Hagan Gold badge

        Re: The next decade...

        As far as I can see, the most common security holes over the last decade have been phishing attacks and actual holes-by-design in the matrix of permissions (who gets to write to what). The former is, of course, a particularly pernicious case of the latter, because the end-user generally insists on having far more privilege than they need and then grant that privilege to almost everything they run.

        Your advice on portability applies equally to C or C++, languages which have been ported for far more platforms over the years than Java.

        RAD in the sense of iterative design requirements gathering makes sense. Applying it later in the process simply makes it easy for management to undermine the assumptions that made earlier design decisions safe. Work out what you want to build and then build it. In that order.

        The simple fact is that you can write secure portable code in almost any language. People just don't, and the use of a particular language will not magically change people.

        1. AMBxx Silver badge

          Re: The next decade...

          Requirements gathering before starting development? You'll be suggesting that we test before release next!

      2. Oh Homer

        Re: "a clueless comment"

        Your sophistry notwithstanding, the fact that PVMs don't have the same problems as native code, doesn't somehow mean that they don't have any problems, or even that they have fewer or less severe problems. Quite the contrary.

        And like security, there's a vast gulf between the theory and practical reality of portability. Much like the practical usefulness of modular PCs has essentially been rendered worthless by constantly changing standards (or more cynically, planned obsolescence), the reality of the claim that PVMs allow you to "write once, run anywhere" has, in practice, been proven false, and yet this false promise is what seemingly continues to drive adoption (while simple inertia maintains the existing base).

        But actually these are all minor points, because by far the biggest problem with PVMs is the vast gargantuan bloat they've inflicted on us, transforming multi-gigahertz devices into expensive paperweights that are easily outperformed by three decade-old 16 bit computers, when they should in fact be several orders of magnitude faster and more responsive.

        The hand-holding that you expound as some kind of virtue is simply a pretext for unqualified opportunists to make money from something they are not really competent to do, which is exactly why so much of today's software is such utter garbage. I'd like to hope that will change in the next decade, but it probably won't, mainly because the underlying motive (greed) isn't going to change either.

  3. Roo

    If you want a picture of the future, imagine a boot stamping on a human face — forever

    Welcome to my Orwellian Nightmare ! :)

  4. Anonymous Coward
    Anonymous Coward

    Loving Java, hating Oracle

    I think these could become interesting times. The thing is: I seriously enjoy the Java programming language because of what you can do with it. However I don't particularly enjoy all the bloat that seems to be getting into it or shipped with it, with this I specifically refer to several new frameworks.

    Earlier this week I was checking out "DukeScript"; a scripting environment running on top of the Java JVM which is said to be a "nice and clean architecture". Obviously the runs-everywhere applies because you should be able to produce stuff which can run on a variety of environments: from Android to your webbrowser. Well, I gave it one try and stopped bothering the very same day because man... I was using NetBeans and before I knew I was looking at 5 automatically created projects which tons of stuff assigned to it, saw a 4 - 5 minute (Maven) download session running to grab tons of supporting libraries and in the end I was looking at a webpage with a logo on it. That was the demo project. One (virtual) project consisting of 5 projects in total and TONS of XML control files.

    Things like that may make it "easier" to create stuff (a few lines of scripting) but I always wonder: at what costs? What underlying pile of bloat does it need to work? I know most people don't bother to think about that because storage space and computing power is cheap these days, but I don't like that.

    Quite frankly I think these could be dangerous times for Oracle. As much as I like Java I also seriously dislike Oracle. And I think there are plenty more who feel this way. The reason I still stick with Java myself is mainly because I'm not a full time programmer, and because I enjoy the environment. But it always makes me wonder: how many people would pick up on environments such as Python purely out of mistrust of Oracle?

    1. This post has been deleted by a moderator

    2. Karlis 1

      Re: Loving Java, hating Oracle

      > I know most people don't bother to think about that because storage space and computing power is cheap these days, but I don't like that.

      And yet you use netbeans. Hmm. (okay, at least it is not Eclipse - where dead projects go to die second time. Which is why the whole eclipse foundation thing is not encouraging at all...)

    3. Hstubbe

      Re: Loving Java, hating Oracle

      Right, so i tried to run this simple plotting application at work the other day, written in python. 2 hours and 50gb of downloaded crap later it managed to generate a simple xy-plot. Data scientists manage to ruin everything!

  5. Anonymous Coward
    Anonymous Coward

    No worries

    We'll port our existing stuff and write all new stuff in Java, unless we want performance or portability.

    Please, Oracle, do sign up my company's competitors.

    1. This post has been deleted by a moderator

      1. Ken Hagan Gold badge

        Re: No worries

        Well written/designed C or C++ code is faster and more portable.

        But well written/designed code is Hard, so it is almost never found in nature.

        1. PlinkerTind

          Re: No worries

          @Ken Hagan

          Java can in theory be faster than C/C++ because the JVM is adaptive optimizing. Each run the JVM is optimizing more and more. C/C++ optimizes once, at compile time and never again. This means C/C++ must target the least common denominator, and not use vector instructions etc. JVM can turn on vector instructions if it discovers them in the cpu. Another example of optimization that C/C++ can not do: assume you run a large for loop in Java, the first time you iterate over a subclass, the next time you iterate over another subclass - JVM can optimize for different subclasses each run. C/C++ can not do that.

          It is obvious that if you optimize continuously, it is better than optimizing once in the beginning, yes? All large and fast stock exchange systems are written in Java or C/C++ with sub 100 microseconds latency and enormous throughput - for instance the INET system that NASDAQ uses on Wall Street is written in Java. The secret to get speed with Java, is to never trigger the garbage collector. That is done by preallocating lot of objects and reuse them all the time, so no object is ever killed. If you ever trigger the GC, performance goes down. Realtime Java should be avoided for utmost speed.

          1. Roo

            Re: No worries

            "JVM can turn on vector instructions if it discovers them in the cpu."

            That presumes you've built a special JVM that targets the special instructions first. Your binary is only as portable as JVM(s) you have available to you. Someone somewhere will have to tweak those JVMs and release them to you in the first place.

            "It is obvious that if you optimize continuously, it is better than optimizing once in the beginning, yes?"

            It's not obvious at all. Optimisation is not free. Mechanical optimisation doesn't always make code faster, it's not perfect and it introduces risk as a consequence. Finally if you want stable behaviour from your code you would need to switch it off - jitter can be a huge problem in a distributed system, going to sleep for a millisecond can easily multiply to a penalty of a few seconds across multiple processes... :)

            I am not dismissing runtime optimisation out of hand, but the downsides can be significant in practice.

            In my line of work the size of working set is often a key determinant of performance - simply because cache miss penalties are so big... JVM based apps tend to be at a disadvantage in this regard because they usually chew up *more* memory than a native binary - with a JVM you bring the kitchen sink with you regardless. This may not be a big deal when you are running a couple instances on your desktop PC - but it is a big deal when you are trying to maximise the throughput of a box running tens, hundreds or even thousands of instances in parallel. It's not uncommon for the Java apps we watch over to run into the OOM Killer - and that literally kills throughput stone dead.

            Memory efficient code does have a legitimate role to play, it's not just a fetish. :)

            Generally speaking I find that optimising the code at the source level actually gives the biggest benefits of all - a bad design will always perform badly. :)

  6. Jim-234

    So about that suing Google over "Java" kind of sort of thing?

    So they are saying they are being attacked with a sudden spasm of being good and such?

    Perhaps maybe they should end that whole suing Google thing if they expect anyone to believe them.

    There was also that Java installer installing features that you owed them money for if you ever used... any news on that?

  7. Anonymous Coward
    Anonymous Coward

    Java marketing messages reworded

    “By eating shit, you will be able to experience the taste of shit”

    "Eat shit - billions of flies can't be wrong"

    That may be a little harsh - Though Java runtime is a pain to keep up to date and many apps seem to install their own out-of-date version on Unix/Linux, multiplying that pain. And I find I don't miss it on my Windows machines.

    1. This post has been deleted by a moderator

      1. Anonymous Coward
        Anonymous Coward

        Re: Java marketing messages reworded

        No...just install Windows-only software...and...should...some...

        It seems we're in violent agreement then?

  8. Elledan

    Design-by-committee languages suck

    No unsigned integers (now awkwardly crammed back in), only Big Endian support, everything is a reference and a potential Null type (argh!), the horrors of the JNI, no multiple inheritance, no pass-by-reference, no default parameters, no defining of custom operators... etc.

    Speaking as a primarily C++ dev who also does work in other languages (including Java, both web platform and Android), I can honestly not wait for the day that Java just goes away. It's such a horribly designed, flawed and broken-by-design language that simply should not exist, let alone be praised in any way or fashion. Somewhat like JavaScript, but I digress.

    Here's hoping that Google will indeed be dropping Java soon as a first citizen on Android and we can observe the slow demise of a language-that-never-should-have-been :)

    1. Ken Hagan Gold badge

      Re: Design-by-committee languages suck

      "Somewhat like JavaScript, but I digress."

      You don't, actually. Both languages were designed for quick-and-dirty executable content on the client side. Once they had been adopted by the great unwashed of hobbyist programmers and lame educators (because they were free and available everywhere) they started to get used on the server side and for larger projects.

  9. Anonymous Coward
    Anonymous Coward

    What’s going to happen with the Java lawsuits?

  10. IGnatius T Foobar Bronze badge

    JavaScript != Java

    "We generally see Java and JavaScript at the top of the rankings," he said during his turn on stage.

    That's a bit disingenuous. JavaScript and Java share zero except the characters j-a-v-a in their names.

    1. Sloppy Crapmonster

      Re: JavaScript != Java

      Ouch. He said that because, while Java generally does have a spot somewhere near the lower part of the top of the rankings, JavaScript clearly outweighs it.

      "We generally see big piles of shit and candy at the top of the foodstuff rankings"

  11. Himalayaman

    Java is dead

    Oracle just doesn't realize it yet.

  12. Karlis 1

    Huggy feely idiocity?

    > For Alvarez, Java provided a path to improve the future by bringing more women into the tech industry.


POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2020