FYI: <https://inside.java/2022/09/23/quality-heads...
# cfml-general
f
FYI: https://inside.java/2022/09/23/quality-heads-up/ I know ACF / Lucee do not yet even support JDK19, but possibly something to be aware of: Double.toString() and Float.toString() changes
s
I'm very excited about virtual threads in JDK 19 🙂
f
yeah - me too, I think that will be a game changer for java
g
Fibers have been in the CATS library of Scala for ages! Just another case (there have been many) of Oracle / Java, being late to the party! I have always seem Scala as being a better Java than Java! Though - with support in the JVM - it will enable runtimes on the JVM to offload the responsibility - as long as Oracle / Java doesn't "eff"-up the implementation!
s
@gavinbaumanis Maybe you should actually try the implementation out before assuming Oracle might mess up? This has gone through a lot of research and testing to get to the preview stage in JDK 19. Having core support for this in the JDK lifts all boats (even Scala's 🙂 ).
(and, yeah, I used Scala in production in the 2.7/2.8 days and I'm still very happy I switched to Clojure after that -- and I'm still happy using Clojure over a decade later)
g
@seancorfield: I was being a little flippant! As a Scala user, I am sure you're aware that Java has historically "stolen" what Scala has previously implemented.
s
Java "steals" a lot of features from other languages. Most languages do. Scala and Clojure have swapped persistent data structures back and forth to improve both languages, for example. I have an almost trivial implementation of "go" blocks and channels, based on JDK 19's virtual threads, that is really nice to use -- it simplifies Clojure's
core.async
dramatically (which in turn draws from Go's machinery which in turned comes from CSP which I remember studying at uni back in the early '80s when I was doing Occam). There are very few new ideas out there 😞
BTW, are you using Scala 3 @gavinbaumanis? I remember Odersky talking about Dotty at Strange Loop years ago and saying that would be folded into Scala 3... and it looks like that's actually available now...? (I stopped tracking Scala back around 2.10)
g
Scala 3 has been "out" for a few years now. (I am most interested in Play - which is still not working in Dotty) Some add-ons are still catching up... But they're actively working on getting the dependency tree up to date. Lots of things like; library A needs something from B - and B needs this from C and we can't even start on C until we get XXX fixed in Dotty - which is waiting on ZZZZ in the next release of the JVM. But they're getting there. And of course - if you're not needing Play - then you're golden!
s
Sounds like this still haven't solved the painful version upgrade paths that Scala had back when I used it (2.7 -> 2.8 was a miserable upgrade because of everything depending on everything and no binary compatibility, 2.8 -> 2.9 was only marginally less painful -- but enough to make us not want to upgrade).
g
Indeed but at least you know you're in for some pain with a Major release.... especially when a lot of the changes were in the compiler / linker.