<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I love protocols as much as the next guy, but if the problem I'm solving requires a hierarchy of</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">RubyInterpreter</div><div class="">SystemRubyInterpreter</div><div class="">HomebrewRubyInterpreter</div><div class="">RVMRubyInterpreter</div></blockquote><div class=""><br class=""></div><div class="">then thank you, but no, I'll prefer to stick to the most simple and clear solution (an abstract class). Yes, I can turn that into a protocol with extensions, supercharged with some extra features we don't currently have. But why on earth would I want to?</div><div class=""><br class=""></div><div class="">There are no benefits to be had from a protocol here.</div><div class=""><br class=""></div><div class="">Things won't get more clear or readable.</div><div class=""><br class=""></div><div class="">Everyone in the world understands simple hierarchies.</div><div class=""><br class=""></div><div class="">Yes, it's a wrong modeling tool conceptually, but it's a very simple and practical one. Sometimes the problem doesn't call for anything else.</div><div class=""><br class=""></div><div class="">So many people will continue to prefer simple class hierarchies in these cases. <b class="">Let us be clear about what we're choosing from here.</b></div><div class=""><br class=""></div><div class="">Our choice is between fatalError("Must override") and a keyword that makes that clear. I'll take a keyword any day, but if you deny me, I'll go on using fatalError.</div><div class=""><br class=""></div><div class="">But please don't live in a fantasy world where, due to lack of SE-0026, I switch to protocols for those very simple and isolated cases, unless you can demonstrate the benefits <i class="">for those specific cases</i>. Please do not be so high-handed.</div><div class=""><br class=""></div><div class="">A.</div><div class=""><br class=""></div></body></html>