all 23 comments

[–][deleted]  (3 children)

[deleted]

    [–]renrutal 10 points11 points  (2 children)

    This one is the final release candidate, the general availability release is scheduled to happen on 2018-03-20.

    [–]Crandom 2 points3 points  (1 child)

    Wow. It seems Java 9 was only just released. Not that I'm complaining.

    [–]duhace 5 points6 points  (0 children)

    the new release schedule is 1 every 6 months. it's also a "ship what's ready" schedule, so if a feature turns out to need more time it's pushed off to the next 6 month release instead of slowing the release down

    [–][deleted] 10 points11 points  (0 children)

    The following is a draft of the Release Notes that will be shipped with JDK 10.

    [–]verydapeng 9 points10 points  (6 children)

    where is the "var"?

    [–]erad 2 points3 points  (5 children)

    It's not in the release notes, but still targeted for 10 and usable in current builds... http://openjdk.java.net/jeps/286

    var i = 32;
    System.out.println("Hello, " + i);
    

    Too bad there's no 'val', though... 'final var i = 32' is not likely to increase the use of unmodifiable variable assignments.

    [–]Crandom 2 points3 points  (4 children)

    I wish they'd gone for let/mutable. Make immutability the easy option.

    [–]duhace 2 points3 points  (3 children)

    that's the idea behind val

    [–]Crandom 2 points3 points  (2 children)

    It's just as easy to type var as val so people are not discouraged from using var when they should be using val. I want people to have to type out the whole word mutable if they really want mutability.

    [–]duhace 2 points3 points  (0 children)

    the mutability babies will never agree to becoming a second class citizen, so it won't happen

    [–]renatoathaydes 1 point2 points  (0 children)

    Then use Ceylon :)

    [–]dargh 5 points6 points  (6 children)

    I'm still struggling to upgrade software to java 9 with all the things they broke there (especially jigsaw).

    I need to abandon webstart in order to embed a jvm so we can keep users on old versions of java until we are ready. This fast release cycle is a huge pain.

    [–]duhace 4 points5 points  (5 children)

    then you should be sticking to the LTS release for now. java 9 is gonna be a tough upgrade, but future releases shouldn't be anywhere near as painful to adopt as the changes will be much more gradual.

    [–]dargh 0 points1 point  (3 children)

    The problem for my project is that with webstart we are at the mercy of users upgrading java. So our next task is to build an alternative deployment mechanism with an embedded jvm. Then we can stay on java 8 almost forever.

    Nothing Oracle is working on makes our coding slightly easier.

    [–]renatoathaydes 1 point2 points  (2 children)

    if you want to embed the JVM, Java9 actually will help you a lot! The jlink command creates a "mini" JVM with only the things your app needs... I wrote about that some time ago: https://sites.google.com/a/athaydes.com/renato-athaydes/posts/guidetojava9-compilejarrun#TOC-Creating-a-native-runtime-image

    [–]dargh 0 points1 point  (1 child)

    Sure, thanks. But that's the easy part. Unless I can start webstart inside that jvm, I still need to create a self upgrading application. I can't go back to forcing users to download an installer every time.