<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div>On Mar 5, 2016, at 5:15 PM, Jon Hoffman via swift-users <<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>> wrote:<br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""></div></div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""><p class="MsoNormal">To be honest, I think that Apple may have done a disservice
to POP by giving it the name “Protocol-Oriented Programming”. With OOP and POP having such similar names,
people tend to relate them together and in my opinion, how you design your application
with POP is fundamentally different than with OOP. Hopefully I will be able to write some additional posts about designing applications in a POP way using case studies. Just a matter of finding time</p></div></div></div></div></blockquote>Interestingly, we just had a discussion about abstract classes on the Swift Evolution mailing list, and many of the people who opposed the idea of adding the feature cited the fact that Swift was a protocol-oriented programming language rather than an object-oriented programming language.</div><div><br class=""></div><div>By that argument, because Swift is protocol-oriented, classes should be treated like second-class citizens that shouldn't evolve new features and don't deserve the same level of functionality provided by just about every other object-oriented programming language (aside from ObjC).</div><div><br class=""></div><div>Calling Swift protocol-oriented seems to have led to a certain level of dogmatism and reflexive opposition to anything seen as object-oriented; it's protocols vs. classes.</div><div><br class=""></div><div>Personally, what I love about Swift is that it doesn't fit into just one "oriented programming" box. But perhaps I'm in the minority.</div><div><br class=""></div></body></html>