Slashdot Mirror


Java's Backup Plan If Oracle Fumbles

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."

12 of 276 comments (clear)

  1. Letting Java languish is not the problem. by Eskarel · · Score: 4, Insightful

    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.

  2. Re:What could possibly go wrong ... by Big+Jojo · · Score: 5, Informative
    Go away troll....

    Microsoft was entirely within its rights to extend Java to provide native support for Windows O/S. The lawsuit was ridiculous and wrongly decided.

    The issue was violating the the compatibility constraints, so that code would no longer be portable to non-Windows O/S. This was precluded by the license which MSFT signed, so the lawsuit was reasonably decided.

  3. Re:Doing all my programming in C# by Eskarel · · Score: 4, Insightful

    C# is really more sort of the averaging of Java and C++ than anything else, and VB is now C# with a slightly different syntax(sort of wish Microsoft had the balls to just end it rather than farting around with putting god awful VB syntax onto a language which is nothing like it.

    I do agree that Microsoft needs to do something about the exceptions though, not necessarily checked exceptions cause those are a pain, but some easy way in Visual Studio to get a list of exceptions that can be thrown by a call so you know what you could check for. You're also right about javadoc.

    That said, LINQ is just incredible, and IIS with .NET is a hell of a lot easier to configure and tune than Tomcat, it's really 6 of one and a half dozen of the other with Java and .NET at the moment, which is why what Oracle does is so important.

  4. let Java languish by nurb432 · · Score: 4, Funny

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

    --
    ---- Booth was a patriot ----
  5. Re:Java isn't really built for the future is it? by Eudial · · Score: 4, Insightful

    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.

    --
    GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
  6. Re:Java isn't really built for the future is it? by arjan_t · · Score: 4, Insightful

    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/

  7. Java coders should be so lucky. by AnonymousClown · · Score: 4, Insightful

    Java, while widely used is on the down slide. There really hasn't been any new revolutionary additions to the language in about 7 years. In another 10 years, it will become like COBOL is to IBM.

    Don't knock COBOL.

    I know a couple of folks who are making a nice living as a COBOL programmer. And they're not that old. AND, when the majority of the IT market craps out, they always seem to have or can get a job. That's something not many programmers can claim.

    --
    RIP America

    July 4, 1776 - September 11, 2001

  8. Re:What could possibly go wrong ... by Tim+C · · Score: 5, Insightful

    Many Java apps made assumptions about file names and directory locations, and this prevented them from running on other OSes.

    That's the fault of the programmer(s), not Java.

    Besides, while you have valid points, they are irrelevant to the topic at hand; MS signed a licence saying that they could not introduce Windows-specific classes into the java.* package hierarchy, and yet they did so. No one would have cared if they'd put them in com.microsoft.*, but they chose not to do so.

  9. Re:What could possibly go wrong ... by KermitTheFragger · · Score: 5, Informative

    But Java's cross-platform compatibility has always been a myth. AWT apps were least-common-denominator pieces of shit most of the time. Swing apps weren't as bad, but never fit in with any desktop environment,

    Besides Apple no one cares about consistency on the Desktop anymore. Have you looked at Microsoft apps lately ? Visual Studio looks different then the rest, Office looks different from the rest, Outlook looks different from the rest of Office, Media player looks different from the rest, Home Server UI looks different from the rest and I could go on and on.

    and this only got worse as Sun kept cranking out a shitty new theme with each release of Java.

    In the like 14 years of Swing existence there have only been 3 themes in the JRE: Metal, Ocean and Nimbus. And metal is selected by default. Java never sets one of the newer themes by itself. So basically the default theme hasn't changed.

    Many Java apps made assumptions about file names and directory locations, and this prevented them from running on other OSes.

    So there are people who make crappy programs in Java. How exactly is that different from other languages ?

    early on we had to use JDBC drivers that depended on native code (it was a few years before pure Java JDBC drivers were available for some database systems).

    A few years before pure JDBC drivers were available ? That was when, 2000 or something ? Since that problem is long solved I don't really see how thats relevant today.

    Java has never really been a viable option on Mac OS X, and Mac OS before that.

    Apple does the Java implementation by their selves, not Sun / Oracle and yes, it shows. If Sun had done the Mac OS X implementation for Java it would probably be better.

  10. Re:Java isn't really built for the future is it? by etymxris · · Score: 5, Insightful

    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.

  11. Re:What could possibly go wrong ... by dmorris68 · · Score: 5, Insightful

    But Java's cross-platform compatibility has always been a myth.

    Bollocks.

    I've been a Java developer and manager of Java developers for about 10 years now. Before that, 20+ years as C/C++/asm guy across a wide variety of platforms ranging from embedded system to Honeywell/Bull and IBM mainframe and just about every mainstream business platform in between (AS400, VAX/VMS, various Unix flavors, Linux, Windows, Mac, etc.). So application portability is a subject I have a bit of experience with. While in the earliest days of Java portability was more wishful thinking, I can unequivocally say that since, oh, Java 1.4 if not earlier, cross platform portability has been spot on. It just works. I can't even remember the last time I took a Java application I've written to a platform that it didn't work on. Even today I am always mildly surprised to take a fairly complex GUI application I've developed on, say Windows, and drop it on another platform, like Linux or OSX, and watch it run flawlessly. I recently wrote a manufacturing line simulator to use as a test backend for a Java-based shop floor system. This is a multi-threaded GUI app simulating and displaying in real-time movement of product through the line, while interfacing with OPC servers and host applications via message queues and databases. When it was done, I dropped it on an Ubuntu desktop box and aside from the slight differences in the Linux GUI appearance, you wouldn't know which one you were looking at.

    The only portability problems I've seen are either from dependency on native JNI code (which is rarely but occasionally necessary) -- and almost all databases these days support pure-Java Type4 drivers without dependency on native clients -- or due to lousy programmers who hardcode platform specific constructs. I have *never* had an issue with filesystem path portability over the hundreds of Java applications I've written or managed in the last decade, because I never assume/hardcode anything specific to the platform I'm developing on. This is a common failure of your typical VB developer that is new to Java -- all they think about is Windows, many have had zero exposure to other environments, so that's all they know. Which is fine I guess if you're a 100% Windows shop or targeting a Windows base, but then I'd certainly question the transition to Java in that case. Regardless, don't blame the language for its misuse by developers -- if so then we could condemn every programming language ever made.

    I like Java well enough and am proficient enough with it that even if I were stranded in Windows purgatory forever, I'd still consider using it over .NET even without the portability benefits. I've had the occasion to have to write some C# due to some OPC/DCOM integration code that required it. While there are some things about the .NET platform and languages that I find appealing, there's not enough there to win me over from Java.

  12. Re:What could possibly go wrong ... by kaffiene · · Score: 4, Interesting

    Rubbish, Java *is* especially cross platform when compared to other languages. For example, C - which you cite.

    If you write a simple command line app, then sure, C and Java are about as cross platform capable as each other. Write a GUI app in C and Java and the former has no cross platform options.

    In C, you have to worry about endianness, in Java you don't.

    In C, you have to allow that primitives types may have different sizes, in Java you don't.

    In C, you have to allow that structures might pack differently, in Java you don't.

    In C, critical issues like threading will be platform dependant or non-existent, in Java it's consistent and standard.

    Java also has a consistent memory model, which provides a lot of value in working cross platform as well as the huge common library which is likewise valuable.

    I could go on, but I think that's sufficient to call BS on your claim.

    In Haskell or JavaScript, there are nowhere near as large *common* sets of libraries, so you can't as easily rely on your library of choice being supported on a client system.

    Christ, JavaScript doesn't run the same browser to browser, let alone cross platform.