<story><title>What&apos;s new in Java 12, 13 and 14</title><url>https://java.christmas/2019/17</url></story><parent_chain></parent_chain><comment><author>pron</author><text>One thing I find a bit disappointing is the focus on language features. Most of the effort in Java goes into the VM and libraries, while keeping the language conservative. This is because VM&amp;#x2F;library features have a much bigger impact on application quality, and more directly impact the application&amp;#x27;s users; moreover, it&amp;#x27;s a strategy that&amp;#x27;s proven quite successful -- HN notwithstanding, most developers don&amp;#x27;t like too much change in the language. Still, many developers focus on language changes that affect &lt;i&gt;them&lt;/i&gt;, rather than major changes than can affect their customers and their business. Recent versions have seen major improvements to the GCs, startup time, and there&amp;#x27;s an exciting new Java Flight Recorder (low-overhead, deep in-production profiling) feature in 14 that allows streaming flight recorder events.&lt;p&gt;Also, the bit about LTS is problematic. While the multiple LTS update paths have their place (although the widely in their offerings and intended audiences), they are not less risky than the default path. The default path is designed to be the cheapest and easiest, but requires a little bit more agility. The effort required to update to a new feature release is not much bigger than the effort required to update to a patch release, especially as some of the LTS programs have major new features in their &amp;quot;patches.&amp;quot; An LTS program should be chosen only once it&amp;#x27;s been established that the default, recommended update path is not right for your organization, and even then you&amp;#x27;ll need to compare the different LTS programs, as they differ from one another in about as much as LTS differs from the regular update path. LTS should not be the default choice.</text></comment>
<story><title>What&apos;s new in Java 12, 13 and 14</title><url>https://java.christmas/2019/17</url></story><parent_chain></parent_chain><comment><author>cies</author><text>Pattern matching in switch statements (calling them match statements would then be more fitting), a nice way to deal with nulls, and proper sum types (aka tagged unions, like enums in Rust) and Java would be pretty up-to-date.</text></comment>