Nicolai Parlog writes about Java features and changes, including modules, switch expressions, default methods, and var in recent releases.
HN links it for Java explainers; commenters use it to show Java's switch is limited and that modules may worsen version problems.
I read this article yesterday and I really dislike how it is worded. The "this engineer" has a name, Donald Smith, this is what he said:
"If you're using
Unsafe, this is the year to explain where the API is broken and get it
straight.... Please help us kill Unsafe, kill Unsafe dead, kill Unsafe right, and do
so as quickly as possible to the ultimate benefit of everyone."
It reads like a request to have a discussion on Unsafe, to talk about it and find solutions. Unfortunately, I don't see anyone pointing out why Unsafe should be kept around on that thread (http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-April/017028.html).
And this quote from Oracle shows an effort to do things right:
http://mail.openjdk.java.net/pipermail/discuss/2013-October/003162.html
"This is definitely something we plan to propose for SE 9. I expect
to see a JEP from the current maintainers of sun.misc.Unsafe..."
This (http://blog.codefx.org/java/dev/how-java-9-and-project-jigsaw-may-break-your-code/) seems like a more balanced article on the situation.
"So far we focused on the problematic aspects of Project Jigsaw. But that should not divert from the exciting and – I think – very positive nature of the planned changes. After reading the documents, I am impressed with the scope and potential of this upcoming Java release. While it is likely not as groundbreaking for individual developers as Java 8, it is even more so for everyone involved in building and deploying – especially of…
No, it is supposed to reduce surface area between modules/jars. Before Java9 library creators could only add "internal" to their packages name and hope end users won't touch it.
The introduction of modules might actually make version hell even worse: https://blog.codefx.org/java/dev/will-there-be-module-hell/
It's not. C#'s switch can pattern match on value and type: https://blogs.msdn.microsoft.com/dotnet/2019/01/24/do-more-with-patterns-in-c-8-0/
Java's switch still operates only on String, int, short, byte, char, and their wrapper types: https://blog.codefx.org/java/switch-expressions/
Does this page look like crap on anyone else's browser? I'm on Firefox 34.
Edit: The non-cached version at http://blog.codefx.org/jdk/everything-about-default-methods/ is much better.