Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Java Programming

Java 8 Officially Released 302

darthcamaro writes "Oracle today officially released Java 8, nearly two years after Java 7, and after much delay. The new release includes a number of critical new features, including Lambda expressions and the new Nashorn JavaScript engine. Java 8, however, is still missing at least one critical piece that Java developers have been asking for, for years. 'It's a pity that some of the features like Jigsaw were dropped as modularity, runtime dependencies and interoperability are still a huge problem in Java,' James Donelan, vice president of engineering at MuleSoft said. 'In fact this is the one area where I still think Java has a long way to go.'"
This discussion has been archived. No new comments can be posted.

Java 8 Officially Released

Comments Filter:
  • by nurb432 ( 527695 ) on Tuesday March 18, 2014 @06:45PM (#46520173) Homepage Journal

    Just what we need, yet another version to fight with and worry about..

  • Re:Fanboy Glee (Score:5, Insightful)

    by vux984 ( 928602 ) on Tuesday March 18, 2014 @06:48PM (#46520195)

    And another round of everyone getting ask.com toolbars.


  • Re:Fanboy Glee (Score:5, Insightful)

    by allcoolnameswheretak ( 1102727 ) on Tuesday March 18, 2014 @06:52PM (#46520223)

    Yeah, that actually sucks some serious monkey balls right there. It doesn't make any sense at all for Oracle to do such a thing with something as important as the Java platform.

    There has been a petition [change.org] to remove this "feature" for some time now, but despite the millions of Java developers, it never took off.

  • Re:Damnit (Score:5, Insightful)

    by RobertM1968 ( 951074 ) on Tuesday March 18, 2014 @07:26PM (#46520505) Homepage Journal

    What the fuck are you going on about? Java 8 supports all the previous versions without a problem. Same for Java 7, and all the others before it. If you write code that breaks because of backwards compatibility issues, you're a retard.

    No, they most definitely do NOT. We inherited an infrastructure (from a company we bought) that relies heavily on Java 1.4.2 and Java 1.5 (both on the server end and on the client end). Many of the (entirely internal) apps and servlets will not run in Java 6, much less Java 7. Believe me, we've tried. Too much deprecated stuff (not to mention security keys from Sun that haven't been changed in over half a decade).

    We've got a two year long project going on to upgrade everything - but because so many libraries are shared (including *SUN* libraries that don't work in Java 6/7) across hundreds of projects, it's going to be an upgrade nightmare. In total, we have GIGABYTES of code, spread across a pretty large infrastructure (comprised of over a hundred servers and 5 racks of SAN).

    Of course, our plans are to ensure that all code is up to snuff so we never run into this again - but we had no choice in this matter, since we neither wrote nor planned the original code bases. But what WE do going forward doesn't resolve what we have to do in order to move forward.

    Perhaps you simply haven't done any real Java coding on an Enterprise level? If you had, you'd never had made such a post.

  • Re:Damnit (Score:5, Insightful)

    by Anrego ( 830717 ) * on Tuesday March 18, 2014 @07:31PM (#46520541)

    Meanwhile in the real world:

    -people use methods that have been deprecated since java3 (including 3'rd party vendors that you have to deal with)
    -massive (and expensive) libraries are used years after they stopped being maintained/supported
    -new versions do break old functionality by adding new behavior (often around security)
    -reasonable mistakes/oversights where new situations are introduced and not accounted for in code (statuses are reported differently / new things added to enums / etc)

  • Re: Damnit (Score:2, Insightful)

    by Anonymous Coward on Tuesday March 18, 2014 @08:47PM (#46520973)

    No the selling point is that you move your code to any hardware platform that has an interpreter and not need to rewrite any code. Switching between supported Java versions isn't part of that.

  • Re:Damnit (Score:5, Insightful)

    by mythosaz ( 572040 ) on Tuesday March 18, 2014 @09:04PM (#46521065)

    -new versions do break old functionality by adding new behavior (often around security)

    Multiple programs each requiring unique versions of Java (and each only looking at the default Java on the system) coexisting on the same machine used to be my biggest nightmare.

    Now though, it's security. Oh, I'm sorry. Did the vendor sign their .jar files in a way that makes 7_fourtywhatever not shit out dialog boxes? Oh they didn't? Did Sun include simple registry values to fix this? No. They moved to a crazy collection of files in %appdata%? Oh, that should be fun.

    Do you want to run this code?
    Are you absolutely sure you want to run this code?
    No, you can't run it anyway, because your security settings are wrong.
    Would you like to change your settings now?
    No, you can't. You need to change obscure settings.

    Fuck you, Sun. Right in the goat ass.

  • Re:Jigsaw (Score:5, Insightful)

    by Miamicanes ( 730264 ) on Tuesday March 18, 2014 @10:50PM (#46521515)

    Far BETTER would be if Java could be aware of how much ram the computer has, and enlarge its heaps as necessary & possible. Few things piss me off more than getting OutOfMemoryException on a computer with 16 gigs because I forgot to manually specify a larger heap size when I launched some executable jarfile from the commandline.

    I mean, seriously. Would it really be *that* hard for the JVM to handle TWO sets of memory pools instead of just one, so that if the Eden space (for example) gets exhausted and is due for GC, the JVM would check with Windows to see how much physical RAM is free, and if there's a lot of it, just allocate a new chunk that's roughly double the size of the old one, start sticking new data into the new one immediately, and consolidate data from the old one into the new one as a very, very low-priority non-blocking background thread that eventually returns the first chunk of RAM to Windows once everything in it has been either moved or freed. For longer-lived services where memory leaks are a real issue, you could tell it, "expand by doubling up to [max megs or percent free], then fall back to conventional garbage collection -- possibly, grabbing a new chunk of ram that's the same size as the old one if possible so the time-consuming object-copy can be deferred and done in the background"

  • by philip.paradis ( 2580427 ) on Wednesday March 19, 2014 @12:19AM (#46521899)

    Quoting the grandparent:

    The one thing they need to do is make Java run multi-threaded ... Oracle should not ignore it's Minecraft userbase.

    Three things seem plain. First, the poster appears to believe that applications may be rendered multithreaded by mere virtue of the programming language they are written in, without special consideration; in other words, an application that would otherwise be singlethreaded may be made instantly multithreaded without special work. Second, the poster did not know Java has threads. Third, the poster believes Oracle cares about Minecraft. All of these things appear to reflect an uninformed poster.

"How many teamsters does it take to screw in a light bulb?" "FIFTEEN!! YOU GOT A PROBLEM WITH THAT?"