[swift-users] Comparing POP to OOP
hoffman.jon at gmail.com
Wed Mar 9 20:28:36 CST 2016
> On Mar 9, 2016, at 3:15 PM, Evan Maloney <emaloney at gilt.com> wrote:
> On Mar 5, 2016, at 5:15 PM, Jon Hoffman via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>> 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
> 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.
> 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).
> 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.
> 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.
I am not a big fan of abstract classes however that is a personal opinion. Being able to use the paradigm that you want to use with Swift is one of the best features.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-users