As argued in, for instance, Hardcore Java[1], 'final' should definitely have been the default for variables in Java. My Eclipse 'on save' actions include making every possible local variable, parameter and field final. If I'm reading the code and one of them is not final, I know it requires some extra attention.
Even technical books like Hardcore Java: https://www.oreilly.com/library/view/hardcore-java/059600568... are god-awful, and even further away from the seminal texts on computer science that came before.
It does feel like authorship was once heralded in higher esteem than it deserves today.
Seems like people agree: https://www.reddit.com/r/books/comments/18cvy9e/rant_bestsel...