Сообщение Re[3]: Мнение: объектно-ориентированное программирование — к от 10.10.2019 14:44
Изменено 10.10.2019 15:02 Pauel
Re[3]: Мнение: объектно-ориентированное программирование — к
Здравствуйте, Kernan, Вы писали:
scf>>Но сейчас не 90е и ООП как граф мутабельных объектов "реального мира уже неактуален.
K>Расскрой мысль, а то не понятно что-то что сейчас у нас ООП?
Да много чего. Модель трех китов усохла -симуловское ооп дало течь. Смоллтолковское ООП используется даже радикальными функционалистами. При этом они яростно отрицают любые заимствования из такого ООП.
Во первых, появился такой кит, как композиция
Во вторых, появился еще один кит — абстракция
Во третьих, т.н. свободные методы, как оказалось, улучшают инкапсуляцию
В четвертых, принцип замещения Лисков стал так же важен, как и бритва Оккама. Наследование интерфейсов порождает хаос не хуже наследование реализаций
В пятых, ООП вобрало в себя модульное программироание
Депенденси стали осознаваться самостоятельной проблемой и беспокоят всех без исключения, включая функционалистов.
Далее, подход к дизайну поменялся. Вместо "моделируем реальный мир" стала применяться концепция "моделируем решение", что предполагает, что задачу сначала надо решить, а уже потом при помощи ООП транслировать решение в код.
Далее, утвердилась концепция "обработка данных". Для ООП это значит, что бизнес-логика не размазывается по классам, а помещается в класс, который обычно stateless. Такой класс занят обработкой данных. Какая унутре модель вычислений, мутабельная или иммутабельная, дело десятое. Со временем такие классы начали называть сервисами. Важно, что такой сервис может агрегировать другие сервисы и делегировать им обработку, может проксировать, может замещать, может представлять собой композицию сервисов и тд и тд и тд.
Все это можно посмотреть в Service Oriented Programming — тут есть и инкапсуляция, и абстракция, и композиция, и интерфейсы и все что угодно.
Все это радикальные функционалисты называют заимствованием из ФП, потому чтот такие сервисы похожи на функции. На самом же деле ООП может структурировать все что угодно, а метафора Сервис известная со времен рабовладельческого строя а может и раньше. Именно так работает человек, который обрабатывает нечто или служит кому либо. И именно так устроен любой механизм по обработке чего либо(человека заменили механизмом). И есть именно то, что лежит в основе ООП — человека-механизм заменили идентичной моделью.
Далее, как следствие из "обработка данных" прочно закрепилась иммутабельная модель вычислений. Радикальные функционалисты до сих пор спать не могут, плачут горькими слезами, что их де ограбили. Да, их ограбили, жестоко и цинично. Но тут не олимпийские игры
Теперь самое страшное — выяснилось, что дизайн всех мейнстримных языков построен по слоёной структуре:
Верхний слой, это парадигма для структурирования
Средний слой, это парадигма для каких нибудь многозадачных вещей
Нижний слой, это парадигма для вычислений
В кратце, ООП обосновалось на верхнем слоем. Нижний слой занимают фунциональщина, императивщина и логическое программирование. Средний слой ушел в реактивное, актёрное и прочие программирования.
То есть, ООП всех победил и стал королём горы. Радикальные функционалисты с этим не согласны, а потому регулярно радуют эмуляцией известных из ООП паттернов типа Роутер, Медиатор и тд. При этом они любят повторять "смотрите, для ФП не надо никаких паттернов, щас я вам Роутер покажу..."
scf>>Но сейчас не 90е и ООП как граф мутабельных объектов "реального мира уже неактуален.
K>Расскрой мысль, а то не понятно что-то что сейчас у нас ООП?
Да много чего. Модель трех китов усохла -симуловское ооп дало течь. Смоллтолковское ООП используется даже радикальными функционалистами. При этом они яростно отрицают любые заимствования из такого ООП.
Во первых, появился такой кит, как композиция
Во вторых, появился еще один кит — абстракция
Во третьих, т.н. свободные методы, как оказалось, улучшают инкапсуляцию
В четвертых, принцип замещения Лисков стал так же важен, как и бритва Оккама. Наследование интерфейсов порождает хаос не хуже наследование реализаций
В пятых, ООП вобрало в себя модульное программироание
Депенденси стали осознаваться самостоятельной проблемой и беспокоят всех без исключения, включая функционалистов.
Далее, подход к дизайну поменялся. Вместо "моделируем реальный мир" стала применяться концепция "моделируем решение", что предполагает, что задачу сначала надо решить, а уже потом при помощи ООП транслировать решение в код.
Далее, утвердилась концепция "обработка данных". Для ООП это значит, что бизнес-логика не размазывается по классам, а помещается в класс, который обычно stateless. Такой класс занят обработкой данных. Какая унутре модель вычислений, мутабельная или иммутабельная, дело десятое. Со временем такие классы начали называть сервисами. Важно, что такой сервис может агрегировать другие сервисы и делегировать им обработку, может проксировать, может замещать, может представлять собой композицию сервисов и тд и тд и тд.
Все это можно посмотреть в Service Oriented Programming — тут есть и инкапсуляция, и абстракция, и композиция, и интерфейсы и все что угодно.
Все это радикальные функционалисты называют заимствованием из ФП, потому чтот такие сервисы похожи на функции. На самом же деле ООП может структурировать все что угодно, а метафора Сервис известная со времен рабовладельческого строя а может и раньше. Именно так работает человек, который обрабатывает нечто или служит кому либо. И именно так устроен любой механизм по обработке чего либо(человека заменили механизмом). И есть именно то, что лежит в основе ООП — человека-механизм заменили идентичной моделью.
Далее, как следствие из "обработка данных" прочно закрепилась иммутабельная модель вычислений. Радикальные функционалисты до сих пор спать не могут, плачут горькими слезами, что их де ограбили. Да, их ограбили, жестоко и цинично. Но тут не олимпийские игры
Теперь самое страшное — выяснилось, что дизайн всех мейнстримных языков построен по слоёной структуре:
Верхний слой, это парадигма для структурирования
Средний слой, это парадигма для каких нибудь многозадачных вещей
Нижний слой, это парадигма для вычислений
В кратце, ООП обосновалось на верхнем слоем. Нижний слой занимают фунциональщина, императивщина и логическое программирование. Средний слой ушел в реактивное, актёрное и прочие программирования.
То есть, ООП всех победил и стал королём горы. Радикальные функционалисты с этим не согласны, а потому регулярно радуют эмуляцией известных из ООП паттернов типа Роутер, Медиатор и тд. При этом они любят повторять "смотрите, для ФП не надо никаких паттернов, щас я вам Роутер покажу..."
Re[3]: Мнение: объектно-ориентированное программирование — к
Здравствуйте, Kernan, Вы писали:
scf>>Но сейчас не 90е и ООП как граф мутабельных объектов "реального мира уже неактуален.
K>Расскрой мысль, а то не понятно что-то что сейчас у нас ООП?
Да много чего. Модель трех китов усохла -симуловское ооп дало течь. Смоллтолковское ООП используется даже радикальными функционалистами. При этом они яростно отрицают любые заимствования из такого ООП.
Во первых, появился такой кит, как композиция
Во вторых, появился еще один кит — абстракция
Во третьих, т.н. свободные методы, как оказалось, улучшают инкапсуляцию
В четвертых, принцип замещения Лисков стал так же важен, как и бритва Оккама. Наследование интерфейсов порождает хаос не хуже наследование реализаций
В пятых, ООП вобрало в себя модульное программироание
Депенденси стали осознаваться самостоятельной проблемой и беспокоят всех без исключения, включая функционалистов.
Далее, подход к дизайну поменялся. Вместо "моделируем реальный мир" стала применяться концепция "моделируем решение", что предполагает, что задачу сначала надо решить, а уже потом при помощи ООП транслировать решение в код.
Далее, утвердилась концепция "обработка данных". Для ООП это значит, что бизнес-логика не размазывается по классам, а помещается в класс, который обычно stateless. Такой класс занят обработкой данных. Какая унутре модель вычислений, мутабельная или иммутабельная, дело десятое. Со временем такие классы начали называть сервисами. Важно, что такой сервис может агрегировать другие сервисы и делегировать им обработку, может проксировать, может замещать, может представлять собой композицию сервисов и тд и тд и тд.
Все это можно посмотреть в Service Oriented Programming — тут есть и инкапсуляция, и абстракция, и композиция, и интерфейсы и все что угодно.
Все это радикальные функционалисты называют заимствованием из ФП, потому чтот такие сервисы похожи на функции. На самом же деле ООП может структурировать все что угодно, а метафора Сервис известная со времен рабовладельческого строя а может и раньше. Именно так работает человек, который обрабатывает нечто или служит кому либо. И именно так устроен любой механизм по обработке чего либо(человека заменили механизмом). И есть именно то, что лежит в основе ООП — человека-механизм заменили идентичной моделью.
Далее, как следствие из "обработка данных" прочно закрепилась иммутабельная модель вычислений. Радикальные функционалисты до сих пор спать не могут, плачут горькими слезами, что их де ограбили. Да, их ограбили, жестоко и цинично. Но тут не олимпийские игры
Теперь самое страшное — выяснилось, что дизайн всех мейнстримных языков построен по слоёной структуре:
Верхний слой, это парадигма для структурирования
Средний слой, это парадигма для каких нибудь многозадачных вещей
Нижний слой, это парадигма для вычислений
В кратце, ООП обосновалось на верхнем слоем. Нижний слой занимают фунциональщина, императивщина и логическое программирование. Средний слой ушел в реактивное, актёрное и прочие программирования.
То есть, ООП всех победил и стал королём горы. Радикальные функционалисты с этим не согласны, а потому регулярно радуют эмуляцией известных из ООП паттернов типа Роутер, Медиатор и тд. При этом они любят повторять "смотрите, для ФП не надо никаких паттернов, щас я вам Роутер покажу..."
P.S. Из этого не следует, что ФП не нужно. Проблема исключительно в головах радикальных функионалистов, которые то свои любимые ЯП применяют тотально, вне зависимости от доводов рынка, заказчика, разума.
scf>>Но сейчас не 90е и ООП как граф мутабельных объектов "реального мира уже неактуален.
K>Расскрой мысль, а то не понятно что-то что сейчас у нас ООП?
Да много чего. Модель трех китов усохла -симуловское ооп дало течь. Смоллтолковское ООП используется даже радикальными функционалистами. При этом они яростно отрицают любые заимствования из такого ООП.
Во первых, появился такой кит, как композиция
Во вторых, появился еще один кит — абстракция
Во третьих, т.н. свободные методы, как оказалось, улучшают инкапсуляцию
В четвертых, принцип замещения Лисков стал так же важен, как и бритва Оккама. Наследование интерфейсов порождает хаос не хуже наследование реализаций
В пятых, ООП вобрало в себя модульное программироание
Депенденси стали осознаваться самостоятельной проблемой и беспокоят всех без исключения, включая функционалистов.
Далее, подход к дизайну поменялся. Вместо "моделируем реальный мир" стала применяться концепция "моделируем решение", что предполагает, что задачу сначала надо решить, а уже потом при помощи ООП транслировать решение в код.
Далее, утвердилась концепция "обработка данных". Для ООП это значит, что бизнес-логика не размазывается по классам, а помещается в класс, который обычно stateless. Такой класс занят обработкой данных. Какая унутре модель вычислений, мутабельная или иммутабельная, дело десятое. Со временем такие классы начали называть сервисами. Важно, что такой сервис может агрегировать другие сервисы и делегировать им обработку, может проксировать, может замещать, может представлять собой композицию сервисов и тд и тд и тд.
Все это можно посмотреть в Service Oriented Programming — тут есть и инкапсуляция, и абстракция, и композиция, и интерфейсы и все что угодно.
Все это радикальные функционалисты называют заимствованием из ФП, потому чтот такие сервисы похожи на функции. На самом же деле ООП может структурировать все что угодно, а метафора Сервис известная со времен рабовладельческого строя а может и раньше. Именно так работает человек, который обрабатывает нечто или служит кому либо. И именно так устроен любой механизм по обработке чего либо(человека заменили механизмом). И есть именно то, что лежит в основе ООП — человека-механизм заменили идентичной моделью.
Далее, как следствие из "обработка данных" прочно закрепилась иммутабельная модель вычислений. Радикальные функционалисты до сих пор спать не могут, плачут горькими слезами, что их де ограбили. Да, их ограбили, жестоко и цинично. Но тут не олимпийские игры
Теперь самое страшное — выяснилось, что дизайн всех мейнстримных языков построен по слоёной структуре:
Верхний слой, это парадигма для структурирования
Средний слой, это парадигма для каких нибудь многозадачных вещей
Нижний слой, это парадигма для вычислений
В кратце, ООП обосновалось на верхнем слоем. Нижний слой занимают фунциональщина, императивщина и логическое программирование. Средний слой ушел в реактивное, актёрное и прочие программирования.
То есть, ООП всех победил и стал королём горы. Радикальные функционалисты с этим не согласны, а потому регулярно радуют эмуляцией известных из ООП паттернов типа Роутер, Медиатор и тд. При этом они любят повторять "смотрите, для ФП не надо никаких паттернов, щас я вам Роутер покажу..."
P.S. Из этого не следует, что ФП не нужно. Проблема исключительно в головах радикальных функионалистов, которые то свои любимые ЯП применяют тотально, вне зависимости от доводов рынка, заказчика, разума.