
Doubling Down on Protocol-Oriented Programming - agronaut
http://khanlou.com/2016/05/protocol-oriented-programming/
======
gue5t
This is about Swift "protocols" which are more like "interfaces". It isn't
about network protocols or process calculi.

~~~
delinka
The term "protocol" is held over from Obj-C. I guess because in Obj-C, the
declaration of a class is wrapped in @interface...@end (the implementation is
inside @implementation...@end)

And it's annoying to have to explain this to all the other devs on the team
who don't use Obj-C. Here's hoping Swift fixes the vocabulary.

EDIT: I suppose the main difference between Swift's "protocol" and Java's
"interface" is that Swift lets the dev provide actual implementations for some
declared functions. "Protocol" is still not an idea word in my opinion.

~~~
BrandonM
Java 8 added default and static methods to interfaces.

~~~
delinka
I'm not experienced with Java since ... long ago. Thanks for the information.

------
sidraval
We've been working on something similar at thoughtbot -
[https://github.com/thoughtbot/Swish](https://github.com/thoughtbot/Swish)

------
jernfrost
It is interesting to see the development of new patterns of working caused by
the features introduced in Swift.

There is so much here I wish I had when I struggled with many software design
issues in C++.

------
partycoder
[https://github.com/facebook/swift](https://github.com/facebook/swift)

