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:
  • 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.

  • by Anonymous Coward on Sunday July 04, 2010 @08:52AM (#32791462)

    You're supposed to assume that all exceptions can be thrown from all code. That's the only safe way to develop reliable Java or C# code.

    Java checked exceptions do absolutely nothing to help when you're working with dynamically-loaded code, for instance. I had to work with one Indian team who claimed that using checked exceptions everywhere would prevent uncaught exceptions from ever being thrown. Then they decided to use a library that used a library that dynamically loaded some JDBC drivers that threw unchecked exceptions in some cases. Of course, their software broke, and I got stuck fixing it. But it was extremely annoying have to deal with them, having them tell me that the situation we were witnessing could never occur because they used checked exceptions in their code.

  • by Anonymous Coward on Sunday July 04, 2010 @09:04AM (#32791504)

    You're saying there are people who don't want any Oracle products (including Java) for religious reasons? I can assure you that there are lots of MS-haters too, but I don't believe either are a real factor.

  • by Sycraft-fu (314770) on Sunday July 04, 2010 @09:15AM (#32791544)

    Also a side effect of it was the web getting stuck on Java 1.1.6 for so long. Basically it got stipulated that MS had to ship that version, unmodified, in IE. That's what happens when you let lawyers after tech issues. Sun wanted MS to not make special mods to their version of Java but basically it can down to having to have that version. So the MS Java in IE languished at 1.1.6 and people kept using that because they wanted to be compatible. Finally MS was able to just remove Java and say "download it yourself" and it could be current.

    At any rate you have an extremely good point. People need to remember that if something is really open, then it also means it is open to someone doing their own thing with it. Open languages have that advantage and disadvantage. Anyone can implement them in any way they see fit, but the standards are guidelines, not rules set in stone. Someone can very well build a C++ IDE and compiler that is based on C++, but modified and not compatible. That would be ok. In some ways, this is already done with things like Visual Studio that offer more capabilities and as such can generate code that is not compatible with all compilers.

    A locked down, single company controlled language has the advantage of having only one way of it being implemented. You know any implementation is the same because they can force that. However the big disadvantage is if said company decides to not care or stop handing it out or whatever, you are screwed.

    Frankly I'd be happy to see Java die. Maybe if it did, something better would replace it. My objection isn't so much with the structure of the language, more the implementation, the JVM. It's a crap way of doing things. I think it could be done better, and would be, in the event that Java died off and people had to come up with something to replace it.

  • by Krahar (1655029) on Sunday July 04, 2010 @11:06AM (#32791880)

    C# is really more sort of the averaging of Java and C++ than anything else,

    C# is just like Java except without some of the problems and with some good things added. E.g. Java generics aren't really worthy of the name, while C# generics are pretty spiffy.

  • by Digital Pizza (855175) on Sunday July 04, 2010 @12:16PM (#32792154)

    While the Right Thing resulted from the lawsuit, it's funny how it hurt Sun and Java more than it hurt Microsoft, which was Microsoft's real goal anyway.

    The thing is, I remember around that time that Sun's CEO Scott McNealy was constantly ranting and raving about how the goal of Java was to take over the desktop and specifically "Kill Microsoft". Launching a frontal assault against Microsoft (especially at that time) was foolish, and look at what happened. If the good folks at Sun had kept their mouths shut, maybe they would have actually succeeded.

    You can applaud the result of the lawsuit, but so many comments on this article reflect a resulting public perception that is not exactly favorable to Sun and Java.

  • by drinkypoo (153816) <martin.espinoza@gmail.com> on Sunday July 04, 2010 @01:36PM (#32792568) Homepage Journal

    Apple cares about consistency on the desktop? that must be why Safari 5, QuickTime X Player, iTunes and Finder all look the same. Oh wait. None of them look the same.

    Apple doesn't give one tenth of one shit about their own HIG and they never did.

    What I find really interesting about Mac OS is that it's the last environment using a "Unix-style" file picker where you have as many panes as you like and each subdirectory click results in a pane shift to the left as the new directory is opened in the rightmost pane. Meanwhile KDE has a totally Windows-styled version and GNOME has a sort of fusion of Win and Mac.

  • by mgkimsal2 (200677) on Sunday July 04, 2010 @02:30PM (#32792834) Homepage

    So *why* was/is Apple in charge of the Java implementation for Mac? I don't buy the 'too much resources' argument I've heard. If your entire company is about Java (changing your stock symbol to JAVA for goodness' sake!) why cede control of implementation on a major developer platform (or one which could become a major developer platform)?

  • by careysub (976506) on Sunday July 04, 2010 @05:56PM (#32794078)

    As a whole the generics is a useless and dangerous disaster

    You keep repeating that. Citation needed.

    Since this is the first time I have ever commented on this topic it seems unlikely that I "keep repeating it". And I gave two examples in my comment. But also see Ken Arnold's opinion: http://weblogs.java.net/blog/arnold/archive/2005/06/generics_consid_1.html [java.net] and http://www.artima.com/weblogs/viewpost.jsp?thread=222021 [artima.com] and Joshua Bloch's attempts at favorable treatment are pretty damning: http://java.sun.com/developer/technicalArticles/Interviews/bloch_effective_08_qa.html [sun.com].

    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.

    Indeed it is a bad thing. A problem that all excessively obscure and complex languages have rapidly revealed (C++, Perl) is that every difficult-to-use feature gets used (if it is usable at all) and has to be supported by every other programmer eventually since 90% of all programming is support of existing code.

    The saving grace for Java generics is that beyond container typing it seems sufficiently hard to use that it rarely gets used. Some time back I scanned the source of several substantial and active open source projects without finding any examples in use beyond container typing.

    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.

    Beyond container typing what aspects did you actually use? Have you ever written one genuine generic algorithm? That is - an algorithm with a generic interface that takes any appropriate generic type and returns an appropriate result type while maintaining typing throughout?

  • 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?

  • by billcopc (196330) <vrillco@yahoo.com> on Monday July 05, 2010 @12:03AM (#32795864) Homepage

    Dolphin's column view is kind of crap, but that doesn't mean it's useless. Shuffling files and folders around is something I do daily, and it's mighty nice when I can access several dozen folders from one window, rather than having to open a bunch of individual windows and juggle them with Alt-Tab or very meticulous tiling.

    That said, the fact that this view is predominantly used on Apple's nerfed OS is quite ridiculous.

  • by kaffiene (38781) on Monday July 05, 2010 @01:08AM (#32796282)

    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.

  • by dgriff (1263092) on Monday July 05, 2010 @04:40AM (#32797424)

    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 the type "Set<Map.Entry<? extends K, ?
    extends V>>". It's easier to describe why if I drop the "extends K"
    and "extends V" part. So we have "Set<Map.Entry<?, ?>" and
    "Set<Map.Entry<capture-of ?, capture-of ?>>".

    The first one, "Set<Map.Entry<?, ?>>" is a set of Map.Entries of
    different types - ie it is a heterogeneous collection. It could
    contain a Map.Entry<Long, Date> and a Map.Entry<String, ResultSet>>
    and any other pair of types, all in the same set.

    On the other hand, "Set<Map.Entry<capture-of ?, capture-of ?>>" is a
    homogenous collection of the same (albeit unknown) pair of types. Eg
    it might be a Set<Map.Entry<Long, Date>>, so all of the entries in the
    set MUST be Map.Entry<Long, Date>.

I judge a religion as being good or bad based on whether its adherents become better people as a result of practicing it. - Joe Mullally, computer salesman

Working...