Гм. Я не вполне понял смысла переупрощения. С одной стороны - вы назвали все "интерфейсами", а с другой - что интерфейсами все подряд называть негоже. Тогда не понятно, зачем монады, карринг, стрелки называть одним общим словом?
Или вы возмущены тем, что автор доклада на видео всё назвал функциями? По-моему, в докладе он сначала объяснил, что не будет обсуждать паттерны ООП - в частности, потому что паттерны ФП не пересекаются с паттернами ООП, и потому что все паттерны ООП выглядят довольно единообразно (например, потому что ФП фокусируется на другом подходе к структуризации вычислений и размышлять, визитор ли это, декоратор ли, не приходится).
Адекватного представления ФП паттернов в ООП не будет в частности оттого, что функции не являются равноправными объектами. Тут, действительно, как повезёт. А в языках, где функции таки объекты, паттерны ФП проявляются и узнаваемы.
Например, на днях порефакторил код с колбеками - получил код, где колбеки являются tail call, увидел continuation monad. Пора вводить Promises.
no subject
Date: 2016-04-27 06:36 am (UTC)Или вы возмущены тем, что автор доклада на видео всё назвал функциями? По-моему, в докладе он сначала объяснил, что не будет обсуждать паттерны ООП - в частности, потому что паттерны ФП не пересекаются с паттернами ООП, и потому что все паттерны ООП выглядят довольно единообразно (например, потому что ФП фокусируется на другом подходе к структуризации вычислений и размышлять, визитор ли это, декоратор ли, не приходится).
Адекватного представления ФП паттернов в ООП не будет в частности оттого, что функции не являются равноправными объектами. Тут, действительно, как повезёт. А в языках, где функции таки объекты, паттерны ФП проявляются и узнаваемы.
Например, на днях порефакторил код с колбеками - получил код, где колбеки являются tail call, увидел continuation monad. Пора вводить Promises.