Forgot your password?
typodupeerror
Java Open Source Oracle

Java's Backup Plan If Oracle Fumbles 276

Posted by timothy
from the enough-java-should-keep-you-awake dept.
GMGruman writes "In an InfoWorld blog, Paul Krill suggests that those concerned that Java might get lost in Oracle's tangle of acquired technologies should relax a little: Java's future isn't wholly in Oracle's hands, so if Oracle screws up or lets Java languish, the popular language has other forces to move it forward nonetheless."
This discussion has been archived. No new comments can be posted.

Java's Backup Plan If Oracle Fumbles

Comments Filter:
  • ... when being owned by Oracle?
  • by bdsesq (515351) on Sunday July 04, 2010 @08:31AM (#32791410)

    Oracle uses Java for supporting it's bread and butter database.
    The Universal Installer is written in Java as are a number of other tools.
    It would cost Oracle millions of dollars to rewrite these tools if they killed Java.
    They could still kill Java but it it would not be an easy decision for them to make.

    • Re: (Score:3, Insightful)

      by red_dragon (1761)

      It isn't just the Universal Installer that's written in Java; for some things there are shell scripts that bypass it. A much bigger and profitable product for them is the E-Business Suite, which is mostly Java with a few native code components. Letting Java languish would mean losing billions of dollars in support and maintenance fees as customers abandon EBS (and the Oracle database by extension) for more up-to-date enterprise software.

  • by Eskarel (565631) on Sunday July 04, 2010 @08:56AM (#32791478)

    Oracle will not let Java languish, they need Java to exist because it's part of their ecosystem now whether they wanted it or not. It's a lot easier to connect to an Oracle database using Java than it is with .NET, and Oracle really doesn't want .NET to win since MS SQL is now a viable alternative(and substantially cheaper) than Oracle for all but the largest of data sets.

    The issues for Java are either Oracle getting into a fight with IBM and resulting in a fork of Java or distrust of Oracle pushing a critical mass of developers away from Java and onto .NET. As to the first, Oracle has to suppress their natural desire to charge like wounded bulls for everything they own, and try not to interfere with the JCP much at all, which is a big ask really. For the second, it's already starting to happen in certain areas. There are shops out there who have spent an awful lot of time and money getting Oracle out of their DC and they don't want it back again.

    • by ultranova (717540)

      It's a lot easier to connect to an Oracle database using Java than it is with .NET, and Oracle really doesn't want .NET to win since MS SQL is now a viable alternative(and substantially cheaper) than Oracle for all but the largest of data sets.

      So... should we expect to see using non-Oracle databases from Java becoming harder?

  • There have been many discussion about multi-core processing being the way forward as we have already, more or less, reached the limit of what can be done with a single processor. Multi-core and multi-processor methods are expected to transition to multiple cores. At the moment, we have the core OS managing processor time on multiple processors but that's not the efficiency that has been imagined even it if it helpful and yields good results. So what about Java? The language itself is of the classical va

    • There have been many discussion about multi-core processing being the way forward as we have already, more or less, reached the limit of what can be done with a single processor.

      The 1970s, 1980s, and 1990s called, and they want their predictions back. People have been saying that single core architectures have reached their limit for a long time now, so what makes you think it is definitely true now as opposed to a decade ago?

      • by ultranova (717540)

        People have been saying that single core architectures have reached their limit for a long time now, so what makes you think it is definitely true now as opposed to a decade ago?

        The fact that CPU makers have stopped boasting about their chips megahertz rating and instead switched to boasting about how many cores they have comes to mind. Also, graphics cards are massively parallel (1600 cores in Radeon 5870), and there seems to be a push to get them to work on general computing.

        • So you are basing your argument on marketing? The parallel processing on graphics cards is only suitable for a few problems; general purpose programs do not gain much from the level of parallelism that graphics cards offer, and the style programming that is being pushed by Nvidia (CUDA) is not at all suitable for most computing tasks. Shared memory architectures have been tried many times in history, and hit very serious walls when issues like hot spots and coherency come about; creating a 64 core shared
          • by drinkypoo (153816)

            So you are basing your argument on marketing?

            Everyone and their mom is building processors for the consumer and server markets alike with more and more cores. Even handhelds have gone multicore. If this doesn't tell you that we're in the age of multicore processing, then I don't know what can help you. But maybe you could try to keep up with the pack [slashdot.org] so that you too can see where we are headed [slashdot.org].

            Right now basic limitations of physics mean that we're going to have to make a sort of right turn and go beyond basic photo-litho procedures if we're going to c

          • by ultranova (717540)

            So you are basing your argument on marketing?

            I'm basing my argument on the simple logic that if a CPU manufacturer could make a single-core CPU that's significantly faster than the current ones, they would, rather than force the programmers to make parallel programs which, as you yourself noted, is hard.

            Was this really that difficult to understand, or did you simply figure this would be a nice cheap shot?

            People talk about parallel programming like it is some kind of silver bullet that is going to make ever

          • by siride (974284)
            It will require a different paradigm for programming. Programs these days are built around monolithic flows of execution with lots of global and interconnected state. These really can't be parallelized. I don't know what the answer is, although I have some naive ideas based around extreme encapsulation and loose coupling. I'll leave solving that problem to people who are smarter than me.
    • by roman_mir (125474)

      Just what are you talking about? Blaming a language for something that is an architectural decision?

      I've been using multiple cores in a 2-quad core processor environment for over a year now, of-course my design allows me to do so and has nothing to do with the language itself.

      Under GNU/Linux use taskset to attach a process by Id to a specific core (or to a number of cores) and start more than one JVM and have your application's architecture use that cluster correctly.

      • by HiThere (15173)

        Well, that would work. But it would be LOTS of work.

        A better choice would be a dataflow language, like Prograf was. (Though preferably one that didn't only have graphical representations of it's programs.)

        In the meantime, even Google's go would appear to be an improvement over Java in this area. (It needs LOTS of work on it's documentation...or at least it did the last time I looked at it. And it's libraries are still pitiful...but they claim a knowledgeable user can add any C library, so that should be

    • by Eudial (590661) on Sunday July 04, 2010 @09:35AM (#32791600)

      You have an aptly chosen user name. Not only is multi-threaded programming in Java quite easy to use, Java hasn't been interpreted in quite a long time.

    • by arjan_t (1655161) on Sunday July 04, 2010 @09:37AM (#32791606)

      Is Java doomed to get stuck behind in the single processor world

      Far from it actually... of course Java has had the absolute low level concurrency primitives from the very beginning (Threads, synchronized blocks, wait/notify). More than half a decade ago, the java.concurrent library was added to the platform, which added tons of goodies for concurrent/parallel programming like concurrent maps, blocking queues, thread pools and executor services, cyclic barriers, programmatic locks with timeouts (which actually performed better than the build-in locks based on the synchronized keyword) etc.

      Now Java 7 will be extended with the join/fork framework, which is essentially a thread pool and support code for (recursively) computational intensive operations and supports advanced features like work stealing. The join/fork framework has been specifically designed to scale into the many, many multi-core range. Not just quad, hex or oct cores but well beyond that.

      Parallel array is another topic on the agenda, which allows you to express in an almost declarative style operations on arrays, which the library will then execute for you in parallel. To really make this work elegantly, closures are needed, which were on and off the radar for the Java SE 7 release. Because of that, parallel array has somehow stalled. Now that closures are back, so might parallel array be, but I haven't heard anything about it for a while to be honest.

      This blog post has a nice summary about some of the added concurrency items in Java 7: http://www.baptiste-wicht.com/2010/04/java-7-more-concurrency/ [baptiste-wicht.com]

      • by careysub (976506) on Sunday July 04, 2010 @11:12AM (#32791904)

        ... To really make this work elegantly, closures are needed, which were on and off the radar for the Java SE 7 release. Because of that, parallel array has somehow stalled. Now that closures are back, so might parallel array be, but I haven't heard anything about it for a while to be honest...

        Elegance? Closures? Now you have me scared. Really scared.

        The most serious problem with Java today is the whole complexity of the generics feature added in Java 5. Typing container classes was fine (and the only thing any working programmer I have talked to actually uses), but as soon as you venture beyond that it descends into a nearly incomprehensible API, all in pursuit of the elusive and trivial pursuit of absolute type safety (at which it fails anyway). Angelika Langer's FAQ about Java generics is 512 pages long. One of the world's leading Java experts, Ken Arnold, cannot explain the meaning of the Enum generic class's definition, I could go on and on.

        As a whole the generics is a useless and dangerous disaster. If you mastered Langer's FAQ and could actually write code using generic wildcards no other programmer could understand and maintain your code. And I am doubtful that you could yourself, 6 months later. Java generics seems to require at least a graduate level course in type theory to use (possibly an actual degree in the field).

        And the root cause of this disaster, as opposed to a useful tweak (typing containers and letting it go at that) is the search for "elegance" in a formal Comp Sci PhD dissertation type way.

        What we need right now is for whoever is guiding Java development to find away to back out of the generics disaster to simplify the language and leaving only features people can actually use. This will clear the field for actual useful innovations.

        • by etymxris (121288) on Sunday July 04, 2010 @12:29PM (#32792204)

          Generics seem pretty straightforward to me, even the "? extends Whatever" syntax. Maybe you could give some concrete examples as to the problems with generics. The only problem right now is that type erasure makes arrays of generics impossible. Hopefully they'll fix that with the next revision.

          • Re: (Score:3, Interesting)

            by dgriff (1263092)

            Generics seem pretty straightforward to me, even the "? extends Whatever" syntax. Maybe you could give some concrete examples as to the problems with generics. The only problem right now is that type erasure makes arrays of generics impossible. Hopefully they'll fix that with the next revision.

            Here's an example [gmane.org] of how complex it can get. Extract:

            The problem is that the entrySet() method is returning a
            "Set<Map.Entry<capture-of ? extends K, capture-of ? extends V>>",
            which is incompatible with th

        • Re: (Score:3, Insightful)

          by M. Baranczak (726671)

          I don't think generics are a 'disaster'. More like 'potential disaster if you don't watch your ass'. And to date, I still haven't seen a better way to do it. (Your suggestion, "typing containers and letting it go at that", makes no sense; there was no way to do that without adding generics to the language, or something that works like generics.)

          Anyway, it doesn't matter. There's no way in hell that they'll be removing a widely-used feature from future versions of the language. As long as we're coding in Jav

        • by dominious (1077089) on Sunday July 04, 2010 @12:49PM (#32792324)

          As a whole the generics is a useless and dangerous disaster

          You keep repeating that. Citation needed.

          Java generics seems to require at least a graduate level course in type theory to use (possibly an actual degree in the field)

          So? Is this a bad thing? It's like saying "expert field" seems to require at least "expert field" graduate level course. If you are no expert, then don't use java generics. And if you can't read other's code, then maybe we should hire someone who can.

          I remember using java generics to build a visual keyboard for any kind of text component. I'm reading my code now, and yes, I understand it.

        • by HiThere (15173)

          The trouble with generics is that to allow backwards compatibility they broke the implementation. Otherwise it's an excellent idea. (I'm not really sure I like the syntax, though.)

          Still, if you use them properly and carefully, they allow much cleaner code.

          OTOH, I'm not at all sure about Java7. I recently downloaded NetBeans 6.9, and it keeps crashing. It's usable, but just barely. And not enough that I continued to use it. (I've started to use Eclipse instead. This is a pity, as Eclipse seems to assu

  • In a rare fit, I actually read the TFA (I know, I don't know what I was thinking), and it leaves with the feeling that Paul is concentrating on the wrong argument...

    He appears to be arguing that third-party vendors control Java through the development of their frameworks and tools. While most modern-day development is relegated to gluing together frameworks instead of actual programming, I think this misses the point in the same vein as when people talk about JEE being Java.

    Java is a language upon which th

    • Yes, Java core language is stagnating. Even JDK7 has not much new features.

      Java does have a nice ecosystem of libraries, but by now we've explored about 100% of what can be done in libraries without changing the core language. But there are limits, and a lot of things are just not possible to do in libraries.

      For example, java.util.concurrent library is quite nice. But it's rather clumsy even with the planned closures support, any parallel algorithm is quickly drowned in the clutter of anonymous classes. In

      • Yes, Java core language is stagnating. Even JDK7 has not much new features.

        I disagree. Java is evolving at a reasonably steady pace and while each subsequent release is not as radically different as its previous as in some newer languages, this is to be expected since the language is already fairly mature. Its usage however, is ever expanding.

        http://langpop.com/ [langpop.com]

        If you check out the link above, you can see that C# is considerably behind Java in popularity (its even behind old standbys like C, C++, PHP and Perl) which makes me wonder where the "java is dead" crowd are getting t

        • by Cyberax (705495)

          "Its usage however, is ever expanding."

          Where? Java is pretty stable only in enterprise because of large volume of legacy code. All other usage areas are disappearing.

          langpop is rubbish. If you want to get real picture - try searching Monster.com or freelance sites. C# now dominates Java in nearly everything.

          The pace of Java development can hardly be described as 'steady'. It's more like 'spastic' - 5-7 years without any updates followed by stinky code drop from some obscure JSR group. Come on, Java6 is clos

          • Where? Java is pretty stable only in enterprise because of large volume of legacy code. All other usage areas are disappearing.

            Where? Everywhere. I don't know what enterprises you work in, but I've been in enterprise development for 35 years and I've never seen such a sea change in such a short time toward any particular platform. Java is in nearly every major enterprise application available on the market nowadays - EAI, ETL, CIS, HRM, ERM - you name it - the big vendors are either switching to or already using Java. Outside the enteprise, there's a burgeoning new development ecosystem building steam around Android - of which the

            • by Cyberax (705495)

              "Where? Everywhere. I don't know what enterprises you work in, but I've been in enterprise development for 35 years and I've never seen such a sea change..."

              Yeah, yeah. I know. And I'm absolutely not interested. The world of enterprise is a world of stale old tenchnologies, it's a world of hopeless legacy. Java gave it a brief time of excitement, but now it'll fall back on being soul-crushing boredom. Only now with Java instead of COBOL.

              While small and nimble companies will use good tools (.NET, Python, etc

              • Yeah, yeah. I know. And I'm absolutely not interested. The world of enterprise is a world of stale old tenchnologies, it's a world of hopeless legacy. Java gave it a brief time of excitement, but now it'll fall back on being soul-crushing boredom. Only now with Java instead of COBOL.

                Wow, now you've really exposed your naivety and cluelessness. The world of enterprise is what drives all the significant developments. Small, nimble companies that are successful are inevitability consumed by "enterprisey" companies the moment they show potential for profit. Most are started with the dream of being successful enough to be bought out by a larger company. The technologies they possess are added to the portfolio of the consuming company so your argument doesn't hold water.
                You seem to want to

  • by nurb432 (527695) on Sunday July 04, 2010 @09:16AM (#32791550) Homepage Journal

    Oh wait, i thought this was a poll.. Nevermind.

  • by esarjeant (100503) on Sunday July 04, 2010 @11:54AM (#32792086) Homepage

    What about the prospect of having to pay for Oracle Java? The client would continue to be free (JRE) but if you want to compile code it will cost you. How would Java fair if there was a $100 developers license?

    Certainly the open source Java compilers would gain a significant foothold, but with Oracle steering the JCP it seems likely they would eventually corner the market...

    • by RPoet (20693)

      How could you "corner the market" like that? Java has an incredibly strong free software culture around it; making the compiler proprietary (it's free software today) and then even charging for it, would be Oracle Java's death knell and a free fork would take over.

    • Certainly the open source Java compilers would gain a significant foothold, but with Oracle steering the JCP it seems likely they would eventually corner the market...

      Don't lose any sleep worrying about that, as it has a near-zero chance of being reality. Oracle certainly could try such a move (it's in the corporate culture), but it would have no teeth. When SUN open-sourced Java, the former assumed the role of steward, and surrendered the role of dictator. There is no way that Oracle can now force people to bow down to its will with Java.

      There would be short-term angst for developers, and short term profits for Oracle, but there would be an inevitable fork of not onl

    • I would see something like that working like RHEL vs CENTOS.

      Some companies would pay the fee ( for extended support? ), while others would use the free alternative.

      And let's face it, there would be a free alternative. Within minutes of the announcement, a million forks would be created from the last release.

  • Java was never in the hands of any one company, not even Sun- because Java (both language and frameworks) is controlled and evolved using the JCP [jcp.org] (Java Community Process).

    There are a variety of companies on the various panels so any one company cannot hijack (or kill) the language or platform.

    That was always part of the strength of Java, instead of going through a more hidebound standards body they created one specifically for Java, run by the people of the Java community.

  • by Ilgaz (86384) on Sunday July 04, 2010 @10:40PM (#32795328) Homepage

    I keep wondering why people forget about Big Blue these days. Java and Linux support are the keys to their offerings and both are said to save mainframe/big server business of them.

    Eclipse is Java too. A lot of IBM applications, even client side stuff relies to Java.

    Lets not forget Google Android which is a huge success is enhanced J2ME/Java, billion cell phones have J2ME built in, the "winner" high definition format, Blu-Ray has J2ME/Java.

    Sorry to say the idea of Oracle wasting Java is really stupid to begin with. Perhaps Java will focus on the thing it does best is a better theory, I mean huge servers, databases, J2EE?

Things equal to nothing else are equal to each other.

Working...