[swift-users] Comparing POP to OOP

zhaoxin肇鑫 owenzx at gmail.com
Sun Feb 14 19:34:26 CST 2016

I have not read your blog. But in my opinion, what Apple called protocol
programming is actually so called functional programming. It is not object
programming at all. It uses protocols and structs to avoid object


On Mon, Feb 15, 2016 at 7:59 AM, Jon Hoffman via swift-users <
swift-users at swift.org> wrote:

> Numerous tutorials that I have seen take a very Object-Oriented approach
> to the protocol-oriented programming (POP) paradigm.  By this statement I
> mean that they tell us that with POP we should begin our design with the
> protocol rather than with the superclass as we did with OOP however the
> protocol design tends to mirror the superclass design of OOP.   They also
> tell us that we should use extensions to add common functionality to types
> that conform to a protocol as we did with superclasses in OOP.  While
> protocols and protocol extensions are arguably two of the most important
> concepts of POP these tutorials seem to be missing some other very
> important concepts.
> In this post I would like to compare Protocol-Oriented design to
> Object-Oriented design to highlight some of the conceptual differences.
> You can view the blog post here:
> http://masteringswift.blogspot.com/2016/02/pop-and-oop.html
> Jon
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160215/fba45d72/attachment.html>

More information about the swift-users mailing list