2 ч 11 мин.

Podlodka #47 – Protocol-Oriented Programming Podlodka Podcast

    • Технология

Выпуск-разоблачение парадигмы 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/

Выпуск-разоблачение парадигмы 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/

2 ч 11 мин.

Топ подкастов в категории «Технология»