Podlodka #47
Protocol-Oriented Programming
Выпуск-разоблачение парадигмы protocol-oriented programming. Андрей Мишанин, инженер из Facebook, рассказывает, как Apple популяризовала гораздо более старую концепцию обобщенного программирования под не самым удачным новым именем. Много экскурсов в историю с разбором процедурного и объектно-ориентированного программирования, практических примеров работы с POP, сравнения Swift и C++ и обсуждений полиморфизма. Ну и, конечно, очень глубоко закопали наследование.
Андрей Мишанин
Facebook
Работает в FB над ComponentKit.
Стало интересно? Послушайте весь выпуск!
Содержание

00:00:40 - Знакомство с гостем
00:01:47 - Актуальность темы
00:03:08 - Процедурное программирование
00:07:30 - Объектно-ориентированное программирование
00:11:55 - Схожесть функционального и объектно-ориентированного программирования
00:14:38 - Полиморфизм
00:20:40 - Принцип единственной ответственности
00:28:46 - Наследование
00:35:50 - Недостатки ООП
00:50:00 - Откуда пошел Protocol-Oriented Programming
00:57:20 - Swift vs C++
01:02:00 - Суть обобщенного программирования
01:08:00 - Zero-cost abstraction
01:14:02 - Протоколы в Swift
01:19:20 - Protocol extensions
01:25:25 - Разбираемся с обобщенным программированием
01:41:15 - Парсинг JSON
02:04:15 - Книги и статьи по теме
02:08:50 - Подведение черты

Полезные ссылки

POP WWDC
Comparing POP to OOP
swift-users Digest, Vol 3, Issue 15
Better Code: Runtime Polymorphism
An Extended Comparative Study of Language Support for Generic Programming
Stepanov Interview

Zero-cost Abstraction:
Lazy MapReduce
Sorting Nibbles in Swift

Книги:
From Mathematics to Generic Programming
Elements of Programming
C++ Templates - The Complete Guide