<div dir="ltr">On 10 April 2013 00:50, Dmitry Olshansky <span dir="ltr"><<a href="mailto:dmitry.olsh@gmail.com" target="_blank">dmitry.olsh@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">09-Apr-2013 14:18, Manu пишет:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 9 April 2013 13:09, Rob T <<a href="mailto:alanb@ucora.com" target="_blank">alanb@ucora.com</a> <mailto:<a href="mailto:alanb@ucora.com" target="_blank">alanb@ucora.com</a>>><div class="im"><br>
wrote:<br>
<br>
    On Monday, 8 April 2013 at 08:21:06 UTC, Manu wrote:<br>
<br>
<br>
        The C++ state hasn't changed though. We still avoid virtual<br>
        calls like the<br>
        plague.<br>
        One of my biggest design gripes with D, hands down, is that<br>
        functions are<br>
        virtual by default. I believe this is a critical mistake, and<br>
        the biggest<br>
        one in the language by far.<br>
<br>
<br>
    My understanding of this is that while all of your class functions<br>
    will be virtual by default, the compiler will reduce them to<br>
    non-virtual unless you actually override them, and to override by<br>
    mistake is difficult because you have to specify the "override"<br>
    keyword to avoid a compiler error.<br>
<br>
<br></div><div class="im">
Thus successfully eliminating non-open-source libraries from D...<br>
Making a dependency on WPO is a big mistake.<br>
<br>
</div></blockquote>
<br>
final class Foo{ //no inheritance<br>
final: //no virtuals<br>
...<br>
}<br>
<br>
2 extra words and you are done. The only problem I see is that there is no way to "undo" final on a few methods later...</blockquote><div><br></div><div style>Yes, it can not be un-done. And any junior/tired/forgetful programmer will accidentally write slow code all over the place, and nobody will ever have any idea that they've done it. It's very dangerous.</div>
</div></div></div>