Java Development Kit (JDK) 12 soon could be minus one feature that had been targeted for the release: a beta version of raw string literals.
Meant to ease developing with Java, a raw string literal can span multiple lines of code of source code and does not interpret escape sequences. But the developers of this feature no longer are confident that the beta capability will be ready when JDK 12 is released on March 19, 2019. So, a proposal has been launched by Brian Goetz, a Java language architect at Oracle, to delete the raw string literals capability from the planned upgrade. The review period for the deletion plan ends on December 18, 2018.
Goetz said he is no longer convinced developers had the right trade-offs between complexity and expressiveness, or that there had been enough exploration to know the current design was the best that could be done. Feedback on the proposal raised questions such as having the two-backquote sequence confused for an empty string, even though it is an opening delimiter. Other concerns centered on unnecessary asymmetry and complexity.
And the removal proposal notes that the faster release schedule for Java, which now is upgraded every six months, means the cost of missing a release is much lower that it would have been previously. The feature might not even miss a beat when it comes time to hit “permanent” status, because a subsequent beta period was anticipated anyway, given the likelihood of modifications to the first beta.
In the meantime, withdrawing the capability gives developers the opportunity to continue refining the design and explore more options. Besides raw string literals, other capabilities still proposed for JDK 12 include improvements for garbage collection, a JVM constants API, switch expressions, and a benchmark suite.