<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br><br>Sent from my iPad</div><div><br>On Dec 22, 2015, at 3:43 AM, Tino Heth &lt;<a href="mailto:2th@gmx.de">2th@gmx.de</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div><br class=""><blockquote type="cite" class=""><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I can see why you view it this way, but access control and inheritability are orthogonal.</span></div></blockquote></div>as I understand orthogonal (mathematical background), it is definitely not the case:<div class="">I can't inherit what I cannot access, so there is one impossible combination of the two attributes.</div></div></blockquote><div><br></div>Ok, you got me there. &nbsp;Orthogonal was not the best choice of words. &nbsp;Nevertheless, they are independent concerns that happen to interact in this one case.<div><br><blockquote type="cite"><div><div class=""><br class=""></div><div class="">The argumentation that "users of your framework could cause trouble (what they will do anyways ;-) with overriding" looses traction when you have to add "of cause that only applies to classes you made explicitly accessible to them".</div><div class=""><br class=""></div><div class="">Final is right in theory, but in real software, classes are rarely designed for inheritance — it just happens (and I'm quite sure most real software is build by people who would shrug of such discussions as academic nonsense ;-).</div></div></blockquote><div><br></div>If the time comes it is certainly a good thing if the language can remind you of the fact that you didn't consider it in the initial implementation by requiring you to mark the superclass inheritable.</div><div><br><blockquote type="cite"><div class=""><br class=""></div><div class="">Btw: I wouldn't oppose a proposal to allow changing conventions like this (there are at least two other discussions about the best default) on a per module/file basis — as long as the "local" effect of the setting isn't vital, there shouldn't be a problem with customizing.</div></blockquote><br></div><div>I would really be opposed to this. &nbsp;It would not be clear when reading code what it actually means. &nbsp;Copy and paste would also be problematic for similar reasons. &nbsp;Flags should not change the semantics of a piece of code.</div></body></html>