Java 9

Discussion in 'Programming' started by Despect, Apr 20, 2017.

  1. Choco

    Moderator

    Java 9? No it won't. Java is backwards compatible. The only reason people have concerns programming in Java 8 is because people aren't updating from Java 7. At this point in time, most people have moved on to Java 8. For those that have not... well... do it. If you're on a server host that does not support Java 8, migrate server hosts. There's no reason not to be on Java 8. It's stable, up-to-date and a lot more secure than Java 7 was. Java 9's release will most likely not be in use for quite some time until people start to update much like how Java 8 was. It will take time, but eventually during the development of Java 10, people will be completely up to date. There's nothing to worry about
     
    • Agree Agree x 6
  2. FrostedSnowman

    Resource Staff

    not really..... it'll just make me more sad on how people will stay on java 7, and java 8(understandable for now i suppose) ;(

    the new java updates, like 8, are awesome. new stream api, optimizations, and overall great functionality flow.
     
    • Agree Agree x 1
  3. Okay thanks for your input!
     
  4. Minecraft, as of 1.12, requires java 8, so the scrubbery (hosts included) will e forced to upgrade.
    9 will not add much of interest to server owners or developers and will likely pass unnoticed.
     
    • Agree Agree x 2
    • Winner Winner x 1
  5. FrostedSnowman

    Resource Staff

    saw the 'list of updates happening' on the link he posted, looks like not TOO much interesting stuff being added. hoping for some syntax changes or something lol, just me :p
     
  6. md_5

    Administrator Developer

    Java 9 breaks a lot of reflection.


    Also security means nothing for desktop Java - thats just a strawman often used when really its only an issue for applets.
     
    • Informative Informative x 2
    • Like Like x 1
    • Funny Funny x 1
  7. Choco

    Moderator

    I've not seen anything on reflection changes. Anything major that may cause any issues with plugins using reflection to avoid version-specific code when using NMS?
     
  8. md_5

    Administrator Developer

    You can't reflect across module boundaries unless you run Java with specific arguments.
    Mainly affects reflecting Java classes because Spigot doesn't have modules (yet).
     
    • Informative Informative x 2
    • Agree Agree x 1
  9. MiniDigger

    Supporter

    would you consider making plugins modules?
     
  10. I just hope lambda expressions don't get removed like the case blocks only allows primitive types. :(
     
  11. MiniDigger

    Supporter

    wtf are you talking about?
     
    • Agree Agree x 1
  12. In java 8 or something, you can't just case blocks for objects but only primitive types (not even arrays)
     
  13. MiniDigger

    Supporter

    https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
    "A switch works with the byte, short, char, and int primitive data types. It also works with enumerated types (discussed in Enum Types), the String class, and a few special classes that wrap certain primitive types: Character, Byte, Short, and Integer"
    I really don't see what you are talking about here, how would you switch on a object or an array? that makes no sense. its also always been that way (only change I know of was the addition of String to that list in java 7)
     
  14. Switch? Yeah you can only switch on primitives, Strings and enums.........but it's been like this forever (Strings allowed in Java 7). Java 9 won't change this AFAIK. And if it did, it would only lift restrictions, not add any.
     
  15. And Minecraft just updated to Java 8 in the latest snapshot xD
     
  16. MiniDigger

    Supporter

    that post is 2 years old, Lmao. it doesn't even mention project jigsaw. if you want to learn about what's in Java 1.9, check here http://openjdk.java.net/projects/jdk9/
    jigsaw and everything that belongs to it (jlink) are an amazing addition to the Java environment. 9 is not as much about Lang changes as Java 8 was, it's about making some stuff that was changed in Java 8 smoother and all the backend module stuff that is coming. the modules might be boring for spigot plugin developers (at least for now, maybe some day plugins will be modules, who knows) but for me, as professional developer, these could drastically change the way we design the architecture at my company.
     
    • Like Like x 1
  17. I dont think that there will be big issues with Java 9. It'll probably break a lot of bad code, which is a good thing.