Podlodka #47 – Protocol-Oriented Programming - podcast episode cover

Podlodka #47 – Protocol-Oriented Programming

Feb 18, 20182 hr 12 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Выпуск-разоблачение парадигмы protocol-oriented programming. Андрей Мишанин, инженер из Facebook, рассказывает, как Apple популяризовала гораздо более старую концепцию обобщенного программирования под не самым удачным новым именем. Много экскурсов в историю с разбором процедурного и объектно-ориентированного программирования, практических примеров работы с POP, сравнения Swift и C++ и обсуждений полиморфизма. Ну и, конечно, очень глубоко закопали наследование. Поддержи лучший подкаст про мобильную разработку: www.patreon.com/podlodka Также ждем вас, ваши лайки, репосты и комменты в мессенджерах и соцсетях!
 Telegram-чат: https://t.me/podlodka Telegram-канал: https://t.me/podlodkanews Страница в Facebook: www.facebook.com/podlodkacast/ Twitter-аккаунт: https://twitter.com/PodlodkaPodcast Содержание: - 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 - Подведение черты Полезные ссылки: - Сессия про Protocol-Oriented Programming на WWDC https://developer.apple.com/videos/play/wwdc2015/408/ - Comparing POP to OOP https://forums.swift.org/t/comparing-pop-to-oop/1438/12 - swift-users Digest, Vol 3, Issue 15 https://forums.swift.org/t/swift-users-digest-vol-3-issue-15/1442 - Better Code: Runtime Polymorphism https://www.youtube.com/watch?v=QGcVXgEVMJg - An Extended Comparative Study of Language Support for Generic Programming http://www.osl.iu.edu/publications/prints/2005/garcia05:_extended_comparing05.pdf - Stepanov Interview http://stlport.org/resources/StepanovUSA.html - Lazy MapReduce https://godbolt.org/g/iCRhES - Sorting Nibbles in Swift https://airspeedvelocity.net/2015/03/08/sorting-nibbles-in-swift/comment-page-1/ - From Mathematics to Generic Programming http://www.informit.com/store/from-mathematics-to-generic-programming-9780321942043 - Elements of Programming https://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/032163537X - C++ Templates - The Complete Guide https://www.amazon.co.uk/Templates-Complete-Guide-David-Vandevoorde/dp/0321714121/ref=sr_1_1?ie=UTF8&qid=1518904677&sr=8-1&keywords=C%2B%2B+Templates+-+The+Complete+Guide - Advanced Swift https://www.objc.io/books/advanced-swift/ - Optimizing Collections https://www.objc.io/books/optimizing-collections/
For the best experience, listen in Metacast app for iOS or Android