Make concrete classes final by default

Well, if we view the ability to patch external code by extending a class as a feature, perhaps we should remove final from the language. Cause right now the only reason you can do that kind of patching is because the author forgot to make his class final. Otherwise if it’s his intention that clients can do this he would make his class open in this new scheme.

That said, completely inverting open-final and/or private-public semantics is a huge change I’m not sure you can pull off after a language has existed for 15 years

5 Likes