• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Devaka Cooray
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Paul Clapham
Sheriffs:
  • Liutauras Vilda
  • Jeanne Boyarsky
  • paul wheaton
Saloon Keepers:
  • Tim Holloway
Bartenders:

[promo] More Java 17 -> what's the killer feature of Java 17 and what is still lacking?

 
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello Kishori Sharan & Peter Späth,
what's the killer feature of Java 17 and what is still lacking?

Henry N,.
 
Marshal
Posts: 81617
593
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I thought the Java® updates had largely given up on killer features.
Java5 had generics and new kinds of threading.
Java6 didn't have any.
Java7 had new kinds of switch and try with resources. [edit]I meant using Strings as labels in switches.[/edit]
Java8 had Streams.
Java9 had modules, and there have hardly been any killer features since.
Java12 (I think) brought us raw Strings, but that was hardly a killer feature. More a killed‑off features, replaced by text blocks in java16, which also brought us records. But I am not convinced either of those is a killer feature.
 
Campbell Ritchie
Marshal
Posts: 81617
593
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Henry Naf. wrote:. . . what is still lacking? . . .

The big thing I would like to see, or more precisely not see, is I would like to lose the distinction between reference types and the eight primitive types. Boxing (Java5) was a start, but you still can't say anything like the following:-
 
Rancher
Posts: 5250
85
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Since Java 17 is a Long-Term Support release (LTS), I think it makes sense to consider all non-preview improvements since the last LTS release, Java 11.  This is the first release where you can depend on the features really sticking around.  Of the improvements since then, I think the most significant for me are records.  I also like text blocks, pattern matching in instanceof, and new switch statements.  But I see that as still a work in progress, as it's really building towards pattern matching in switch, which is still in preview mode.  I also think the Vector API will be very good for enabling more performant implementations of matrix algorithms, which will allow better Java machine learning libraries, for example.

Still, I do agree that we're seeing diminishing returns in terms of "killer features" - none of these are as big a deal as lambdas and streams, or generics.  Maybe records or pattern matching might be on the order of enhanced for, or the var keyword.  That's part of the price of using a mature language with lots of users - many key ideas have already been implemented, and for the ones we still want, they can't change things too much or too fast, without breaking things.  But I can live with that.
 
No matter. Try again. Fail again. Fail better. This time, do it with this tiny ad:
Paul Wheaton's 16th Kickstarter: Gardening playing cards for gardeners and homesteaders
https://coderanch.com/t/889615/Paul-Wheaton-Kickstarter-Gardening-playing
reply
    Bookmark Topic Watch Topic
  • New Topic