Comparing POP to OOP

I think it would have been best if you mentioned up front that the (first sentence of your) blog post is advertising your own book.

···

Message: 6
Date: Sun, 14 Feb 2016 18:59:05 -0500
From: Jon Hoffman <hoffman.jon@gmail.com>
To: swift-users <swift-users@swift.org>
Subject: [swift-users] Comparing POP to OOP
Message-ID: <5DA5F8F5-D645-4BF9-A0CE-1AF1DB8B3735@gmail.com>
Content-Type: text/plain; charset="utf-8"

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: Mastering Swift: POP and OOP

Jon

You are correct that the first sentence and last sentence of the blog post does mention my upcoming book and contains links to it however if I mentioned it in the e-mail then I would have been advertising it in the e-mail which may or may not be appropriate depending on who you ask. This post really is not about my book but about POP and OOP.

If that one sentence turned you off from the article then I am sorry that you missed out. I would like to know what people think and get some good discussions going on what Protocol-Oriented programming is and isn’t because I believe that it is an outstanding programming paradigm that many people have misunderstand.

Thank you for the feedback,

Jon

···

On Feb 15, 2016, at 5:15 PM, sacbor--- via swift-users <swift-users@swift.org> wrote:

I think it would have been best if you mentioned up front that the (first sentence of your) blog post is advertising your own book.

Message: 6
Date: Sun, 14 Feb 2016 18:59:05 -0500
From: Jon Hoffman <hoffman.jon@gmail.com>
To: swift-users <swift-users@swift.org>
Subject: [swift-users] Comparing POP to OOP
Message-ID: <5DA5F8F5-D645-4BF9-A0CE-1AF1DB8B3735@gmail.com>
Content-Type: text/plain; charset="utf-8"

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: Mastering Swift: POP and OOP

Jon

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users