Сообщение Re: Мнение: объектно-ориентированное программирование — ката от 10.09.2019 21:40
Изменено 11.09.2019 11:26 Zhendos
Re: Мнение: объектно-ориентированное программирование — катастрофа на триллион д
Здравствуйте, кт, Вы писали:
кт>Перевод статьи «Object-Oriented Programming — The Trillion Dollar Disaster»
кт>Рассказывает Илья Суздальницкий, senior full-stack-разработчик
кт>Каковы альтернативы?
кт>Внимание, спойлер — функциональное программирование.
Как-то статья резко кончилась. Долго рассказывали как плохо иметь глобальное
состояние, а потом резко возьмите функциональный язык и будет вам счастье.
Допустим взяли язык, который позволяет позволяет писать только "чистые функции",
но реальная программная система включающая эту программу будет ведь обладать глобальным
состоянием, пусть оно будет не в самой программе, а в базе данных, кэше запросов,
еще где-то оно ведь все равно будет, как этого возможно избежать.
Где обоснование, что глобальное состояние в таком виде проще поддерживать, сопровождать и отлаживать?
И ведь до объектно-ориентированного подхода, были и есть процедурные языки,
да там в было можно использовать глобальные переменные, но в сложных программах этим не злоупотребляли,
то есть был совершенно тот же подход процедура(функция) принимает на вход данных,
считает и выдает не меняя глобальное состояние,
но в некоторых случаях такая программа намного труднее для понимания, чем несколько
агентов обменивающихся сообщениями для изменения своего состояния, именно поэтому ООП и взлетело,
непонятно что функциональное программирование предлагает концептуально нового?
кт>Перевод статьи «Object-Oriented Programming — The Trillion Dollar Disaster»
кт>Рассказывает Илья Суздальницкий, senior full-stack-разработчик
кт>Каковы альтернативы?
кт>Внимание, спойлер — функциональное программирование.
Как-то статья резко кончилась. Долго рассказывали как плохо иметь глобальное
состояние, а потом резко возьмите функциональный язык и будет вам счастье.
Допустим взяли язык, который позволяет позволяет писать только "чистые функции",
но реальная программная система включающая эту программу будет ведь обладать глобальным
состоянием, пусть оно будет не в самой программе, а в базе данных, кэше запросов,
еще где-то оно ведь все равно будет, как этого возможно избежать.
Где обоснование, что глобальное состояние в таком виде проще поддерживать, сопровождать и отлаживать?
И ведь до объектно-ориентированного подхода, были и есть процедурные языки,
да там в было можно использовать глобальные переменные, но в сложных программах этим не злоупотребляли,
то есть был совершенно тот же подход процедура(функция) принимает на вход данных,
считает и выдает не меняя глобальное состояние,
но в некоторых случаях такая программа намного труднее для понимания, чем несколько
агентов обменивающихся сообщениями для изменения своего состояния, именно поэтому ООП и взлетело,
непонятно что функциональное программирование предлагает концептуально нового?
Re: Мнение: объектно-ориентированное программирование — ката
Здравствуйте, кт, Вы писали:
кт>Перевод статьи «Object-Oriented Programming — The Trillion Dollar Disaster»
кт>Рассказывает Илья Суздальницкий, senior full-stack-разработчик
кт>Каковы альтернативы?
кт>Внимание, спойлер — функциональное программирование.
Как-то статья резко кончилась. Долго рассказывали как плохо иметь глобальное
состояние, а потом резко "возьмите функциональный язык и будет вам счастье".
Допустим взяли язык, который позволяет позволяет писать только "чистые функции",
но реальная программная система включающая эту программу будет ведь обладать глобальным
состоянием, пусть оно будет не в самой программе, а в базе данных, кэше запросов,
еще где-то оно ведь все равно будет, как этого возможно избежать.
Где обоснование, что глобальное состояние в таком виде проще поддерживать, сопровождать и отлаживать?
И ведь до объектно-ориентированного подхода, были и есть процедурные языки,
да там было можно использовать глобальные переменные, но в сложных программах этим не злоупотребляли,
то есть был совершенно тот же подход процедура(функция) принимает на вход данных,
считает и выдает не меняя глобальное состояние,
но в некоторых случаях такая программа намного труднее для понимания, чем несколько
агентов обменивающихся сообщениями для изменения своего состояния, именно поэтому ООП и взлетело,
непонятно что функциональное программирование предлагает концептуально нового?
кт>Перевод статьи «Object-Oriented Programming — The Trillion Dollar Disaster»
кт>Рассказывает Илья Суздальницкий, senior full-stack-разработчик
кт>Каковы альтернативы?
кт>Внимание, спойлер — функциональное программирование.
Как-то статья резко кончилась. Долго рассказывали как плохо иметь глобальное
состояние, а потом резко "возьмите функциональный язык и будет вам счастье".
Допустим взяли язык, который позволяет позволяет писать только "чистые функции",
но реальная программная система включающая эту программу будет ведь обладать глобальным
состоянием, пусть оно будет не в самой программе, а в базе данных, кэше запросов,
еще где-то оно ведь все равно будет, как этого возможно избежать.
Где обоснование, что глобальное состояние в таком виде проще поддерживать, сопровождать и отлаживать?
И ведь до объектно-ориентированного подхода, были и есть процедурные языки,
да там было можно использовать глобальные переменные, но в сложных программах этим не злоупотребляли,
то есть был совершенно тот же подход процедура(функция) принимает на вход данных,
считает и выдает не меняя глобальное состояние,
но в некоторых случаях такая программа намного труднее для понимания, чем несколько
агентов обменивающихся сообщениями для изменения своего состояния, именно поэтому ООП и взлетело,
непонятно что функциональное программирование предлагает концептуально нового?