title: What is Protocol Oriented Programming in Swift? What added value does it bring?
body: <p>From Apple's own website: "At the heart of Swift's design are two incredibly powerful ideas: <strong>protocol-oriented programming</strong> and first class value semantics."</p>
  
  <p>Can someone please elaborate what exactly is protocol oriented programming, and what added value does it bring?</p>
  
  <p>I have read <a href="https://stackoverflow.com/questions/30943209/is-there-a-difference-between-swift-2-0-protocol-extensions-and-java-c-abstract?rq=1">this</a> and watched the Protocol-Oriented Programming in Swift <a href="https://developer.apple.com/videos/play/wwdc2015/408/" rel="noreferrer">video</a>, but coming from an Objective-C background still haven't understood it. I kindly ask for a <em>very</em> plain English answer along with code snippets &amp; technical details about how it's different from Objective-C.</p>
  
  <p>Just <em>one</em> of the confusions I have is using <code>&lt;tableViewDelegate, CustomDelegate&gt;</code> Couldn't we also conform to multiple protocols in Objective-C as well? So again how is Swift new?</p>
  
  <hr>
  
  <p>EDIT: See <a href="https://www.youtube.com/watch?v=AySlYrel7fc&amp;t" rel="noreferrer">Protocol-Oriented Views</a> video. I find this video to be more basic and easier to grasp a meaningful use case. The WWDC video itself is a bit advanced and requires more breadth. Additionally the answers here are somewhat abstract. </p>