News for hackers. Stuff that matters.
Re:Java is not a safe language by kaba0 on Monday June 13, 2022 @06:07PM (#31732393)
Other than what other commenters have already mentioned, Java has probably one of the best tools for actual correctness verification, due to it being huge both in academia and in production environments.

There are multiple model checkers, static analysis (and no, I’m not just talking about some basic linting, but e.g. Checker Framework pretty much augments Java’s type system with many other compile-time verified features, not only adding null-safety, but checks for map keys, tainting, etc), and even a complete verification tool which adds a whole language to specify the behavior of your functions, and will statically verify what it can, but will add runtime checks for statically not-verifiable parts (JML) This in turn means that you can write a sort function and verify whether its output will uphold the sortedness property.

And then I didn’t even mention the observability of the platform (which is probably the best, or at least one of the best of any plaform), where you can stream many kind of interesting data in realtime from even a prod system, with almost zero overhead (JFR), tools like VisualVM, etc.

Correctness doesn’t stop at the language level, it probably barely starts there.

There are no comments on this comment yet.