The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Почему объектно-ориентированное программирование провалилось?, opennews (ok), 03-Окт-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


21. "Почему объектно-ориентированное программирование провалилось..."  +1 +/
Сообщение от Аноним (-), 03-Окт-10, 12:14 
> Всё же я хотел бы понять, в чём заключается провальность ООП? Его вроде же как часто и везде используют.

Не можете понять, потому что не можете видеть. Смотрите, но не видите, слушаете, но не слышите, читаете, но не понимаете.

Читата в той же статье высказывания самого Александра Степанова, создателя библиотеки шаблонов STL для C++. Т.е. человек в ООП более чем не случайный.

Цитата из статьи: "Именно из-за этой неразберихи в ООП так популярен рефакторинг - из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле."

Хотя Степанов в своих высказываниях концентрируется на алгоритмах (чтобы было понятно большинству), точно такие же рассуждения можно построить, отталкиваясь от функциональной парадигмы. Ведь его STL основывается скорее на функциональной парадигме, чем на алгоритмической, хотя это большинству хуже понятно. Вот он и переводит "для масс".

Можно еще по другому сказать. ООП просто провоцирует создавать плохомасштабируемые неортогональные (сильноосвязанные) решения. Т.е. кажущаяся легкая модульность, на самом деле порождает быстронарастающую сложность при компоновке.

В этом и заключается "провал". Бысторое нарастание сложности.
Хотя для быдлокодерства ООП самое то.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

80. "Почему объектно-ориентированное программирование провалилось..."  –2 +/
Сообщение от Aleksey Salow (ok), 03-Окт-10, 17:40 
Рефакторинг это реация на изменчивость условия, и это вполне естественный процес независимый от используемой парадигмы. Вас, например, тоже когда-то давно отрефакторили - хвост отобрали, хотя отросток оставили.
Ответить | Правка | Наверх | Cообщить модератору

88. "Почему объектно-ориентированное программирование провалилось..."  –1 +/
Сообщение от Анонимemail (84), 03-Окт-10, 18:10 
> Рефакторинг это реация на изменчивость условия, и это вполне естественный процес независимый
> от используемой парадигмы. Вас, например, тоже когда-то давно отрефакторили - хвост
> отобрали, хотя отросток оставили.

Ага. И мне ещё понравился вброс Степанова про аксиомы. Человек явно далёк от математики и пытается рассуждать о том, чего сам не понимает.

Ответить | Правка | Наверх | Cообщить модератору

93. "Почему объектно-ориентированное программирование провалилось..."  –1 +/
Сообщение от Аноним (-), 03-Окт-10, 18:18 
> Ага. И мне ещё понравился вброс Степанова про аксиомы. Человек явно далёк от математики и пытается рассуждать о том, чего сам не понимает.

Нет, он просто знает самые передовые достижения в математике. Рекомендую вам почитать, что такое секвенции и натуральный вывод. Аксиомы на практике вторичны по отношению к процессу натурального вывода.

Он прямо пишет, что не нужно путать теорию и практику. Теория рождается из практики, и практику направляет. В том числе и в математике.

Ответить | Правка | Наверх | Cообщить модератору

90. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Аноним (-), 03-Окт-10, 18:13 
> Рефакторинг это реация на изменчивость условия, и это вполне естественный процес независимый от используемой парадигмы. Вас, например, тоже когда-то давно отрефакторили - хвост отобрали, хотя отросток оставили.

Ну, допустим, так тоже можно сказать. Только вы за что выступаете?

Вопрос то ведь именно в цене рефакторинга. И как скоро необходимость в нем возникнет.
И вообще - в сдерживании роста связности, сложности и т.п. Сколько уже об этом говорится.

Похоже вы до понимания этих вопросов просто еще не дошли, и просто не замечаете, о чем написано в статье.

Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

98. "Почему объектно-ориентированное программирование провалилось..."  –1 +/
Сообщение от Aleksey Salow (ok), 03-Окт-10, 18:34 
> Только вы за что выступаете?

я за безопасный секс, всё остальное мелочь не стоящая какого-либо внимания.

> Вопрос то ведь именно в цене рефакторинга. И как скоро необходимость в
> нем возникнет.
> И вообще - в сдерживании роста связности, сложности и т.п. Сколько уже
> об этом говорится.

Это всё проблемы с архитектором. Если он это предусмотрел, значит и проблем особых нет, если же нет - значит мотыгу в руки и вперёд.

Ответить | Правка | Наверх | Cообщить модератору

102. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Аноним (-), 03-Окт-10, 18:49 
>> Вопрос то ведь именно в цене рефакторинга. И как скоро необходимость в нем возникнет.
>> И вообще - в сдерживании роста связности, сложности и т.п. Сколько уже об этом говорится.
> Это всё проблемы с архитектором. Если он это предусмотрел, значит и проблем особых нет, если же нет - значит мотыгу в руки и вперёд.

Понятно. То есть вы это относите строго к "архитектуре". Ну допустим.
Однако саму архитектуру вы к проблематике ООП не относите. Замечательно.

Тем не менее из ваших же слов, вопрос остался тем же, только в другой формулировке.

Ну и как часто вам придется "брать мотыгу в руки" в обоих случаях?
И каковы в обоих случаях у этого самого "архитектора", которого вы даже в ООП посвящать не намерены, каковы у него шансы "все предусмотреть"?

И уж вы наверняка точно уверены, что с помощью ФП "архитектуру" никак нельзя описать, и никак нельзя решать задачи связанные с "архитектурой" еще на ранних стадиях.

Ответить | Правка | Наверх | Cообщить модератору

104. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от VoDA (ok), 03-Окт-10, 18:59 
> Можно еще по другому сказать. ООП просто провоцирует создавать плохомасштабируемые неортогональные
> (сильноосвязанные) решения. Т.е. кажущаяся легкая модульность, на самом деле порождает
> быстронарастающую сложность при компоновке.

а как же IoC? модульность получается еще и слабосвязанной ибо компоновка происходит по требованию того, кто скомпоновал, а не изначального прогера.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

107. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Аноним (-), 03-Окт-10, 19:13 
> а как же IoC? модульность получается еще и слабосвязанной ибо компоновка происходит по требованию того, кто скомпоновал, а не изначального прогера.

Как? Да очень просто.
Кто вам сказал, что "инверсия управления" имеет непосредственное отношение к ООП. Просто где так прочитали?

Тогда уж и процедурное, и структурное, и вообще императивное программирование - это все по-вашему следует считать ООП. Ведь и процедуры, и структуры, и даже состояния с командами - это ведь все тоже объекты. Смотрите, не запутайтесь.

И еще. Попробуйте на "инверсию контроля" посмотреть с точки зрения функциональной парадигмы, или с точки зрения других декларативных парадигм. Может все окажется гораздо проще?

Только чтобы так "посмотреть", вам придется по-настоящему изучить функциональную парадигму, сопутствующие теории и практики. А вовсе не с той точки зрения, какой вам все это представляется сейчас.

Ответить | Правка | Наверх | Cообщить модератору

139. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от VoDA (ok), 04-Окт-10, 00:25 
>> а как же IoC? модульность получается еще и слабосвязанной ибо компоновка происходит по требованию того, кто скомпоновал, а не изначального прогера.
> Как? Да очень просто.
> Кто вам сказал, что "инверсия управления" имеет непосредственное отношение к ООП. Просто
> где так прочитали?
> И еще. Попробуйте на "инверсию контроля" посмотреть с точки зрения функциональной парадигмы,
> или с точки зрения других декларативных парадигм. Может все окажется гораздо
> проще?
> Только чтобы так "посмотреть", вам придется по-настоящему изучить функциональную парадигму,
> сопутствующие теории и практики. А вовсе не с той точки зрения,
> какой вам все это представляется сейчас.

Стоящих проектов на функциональной парадигме не вижу вокруг, потому изучаю подопытных кроликов, т.е. ООП. IoC позволяет добиться слабой связанности - это ответ на сильную связанность ООП приложений.

Ответить | Правка | Наверх | Cообщить модератору

149. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Аноним (-), 04-Окт-10, 02:15 
> Стоящих проектов на функциональной парадигме не вижу вокруг, потому изучаю подопытных кроликов, т.е. ООП.

Я тоже не видел "стоящих на парадигме", знаю только что существуют методы наСТОйки проектов на всяких там березовых брульках и ореховых перегородках.
Хотя каждый выбирает в меру своего понимания, что на чем будет стоять, и чего оно будет стоить.

> IoC позволяет добиться слабой связанности - это ответ на сильную связанность ООП приложений.

Любой может прочитать на Википедии, что "инверсия управления" применяется для снижения связности.

Однако суть вы так и не поняли. "Инверсия управления" в общем случае к ООП не относится. "Инверсия управления" нужна потому, что сама императивная парадигма способствует быстрому росту связности. В то время как функциональная и декларативная парадигмы такими проблемами наделены гораздо в меньшей степени изначально.

Кроме того, как "инверсия управления", так и само ООП, легко выражаются в функциональном виде в случае необходимости.

Ответить | Правка | Наверх | Cообщить модератору

156. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Vkni (?), 04-Окт-10, 09:08 
> Читата в той же статье высказывания самого Александра Степанова, создателя библиотеки шаблонов
> STL для C++. Т.е. человек в ООП более чем не случайный.

В STL ООП нет или почти нет. Чтобы в этом убедиться, достаточно пересчитать количество виртуальных функций. Они там только в локалях и исключениях :-).

И позиция Степанова в общем-то такая уже лет 20-ть как.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

160. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Аноним (-), 04-Окт-10, 09:34 
>> Читата в той же статье высказывания самого Александра Степанова, создателя библиотеки шаблонов
>> STL для C++. Т.е. человек в ООП более чем не случайный.
> В STL ООП нет или почти нет. Чтобы в этом убедиться, достаточно
> пересчитать количество виртуальных функций. Они там только в локалях и исключениях
> :-).
> И позиция Степанова в общем-то такая уже лет 20-ть как.

Чуть ниже в цитируемом вами посте так и сказано, что STL скорее функциональная, нежели ОО. Учитывая еще, что сама функциональная парадигма может сама по себе натуральным образом трактоваться, как система объектов высокого порядка.

Об этом и речь, что с помощью ФП можно легко создавать библиотеки для ОО-языков, и сами ОО-языки в том числе.

Ответить | Правка | Наверх | Cообщить модератору

201. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Vkni (?), 04-Окт-10, 17:46 
> Об этом и речь, что с помощью ФП можно легко создавать библиотеки
> для ОО-языков, и сами ОО-языки в том числе.

Вы будете смеяться, но с помощью практически любого языка можно создать компилятор/интерпретатор любого языка. :-) И библиотеки тоже. В конце-концов, это просто тексты.

Ответить | Правка | Наверх | Cообщить модератору

180. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Codir (?), 04-Окт-10, 11:59 
> Можно еще по другому сказать. ООП просто провоцирует создавать плохомасштабируемые неортогональные (сильноосвязанные) решения.

Если мозг заражён идеями "четырёх идиотов" с их "паттернами" - тогда да. А так слабую связанность проектирует мозг, а не парадигма. Скажем, можно написать ядро + плагин, а можно тупо вбить ещё одну из сотни подфункций прямо в модуль. Как вы понимаете, "плагины" не относятся ни к одной парадигме.
ООП _в_сипиписной_реализации_ - да, полный фэйл. В Смоллтоке ООП доведено до идеала, но похоронено рынком. Но как теоретическая база ООП вполне хорош.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

185. "Почему объектно-ориентированное программирование провалилось..."  +/
Сообщение от Аноним (-), 04-Окт-10, 12:40 
> Если мозг заражён идеями "четырёх идиотов" с их "паттернами" - тогда да.
> А так слабую связанность проектирует мозг, а не парадигма.

В том-то и дело, что слабую связность в императивной модели приходится очень тщательно проектировать. В то время как в декларативных языках это получается естественным образом.

И если сильно запроектироваться, в итоге и получится деларативный подход, придете к тому же, только более длинным, сложным и окольным путем с большим количеством кода, хоть даже и менее связанного. Проще весь этот код сразу внести в декларативный транслятор и не мучаться.

>Скажем, можно написать ядро + плагин, а можно тупо вбить ещё одну из сотни подфункций прямо в модуль. Как вы понимаете, "плагины" не относятся ни к одной парадигме.

Вы явно валите в одну кучу совершенно разные теории, методики и технологии.

> ООП _в_сипиписной_реализации_ - да, полный фэйл. В Смоллтоке ООП доведено до идеала,
> но похоронено рынком. Но как теоретическая база ООП вполне хорош.

Теоретической базой ООП являются те же теории, которые лежат в основе функциональной парадигмы.

А для особо упертых в императивную модель, команды и состояния - это будет та же теория автоматов (не путать с первым случаем выше).

Так что никакой новой теории в ООП нет. Она была придумана специально для людей, подсевших на императивные и процедурные стереотипы, и вадана за некоторую невиданную теорию. В то время как ООП само по себе просто является смесью императивных и декларативных подходов. Просто промежуточной формой.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру