LINUX.ORG.RU

[вброс]Почему объектно-ориентированное программирование провалилось?

 


2

7

http://citforum.ru/gazeta/165/

по линку многабукаф, немного для Ъ:

факт остаётся фактом: сторона, представлявшая объектно-ориентированное программирование, во время открытой дискуссии с противниками под смех зала даже запуталась в своих же концепциях. Люди вспоминают, что у всех создалось стойкое впечатление, что аргументация Lisp’еров была куда убедительней и последовательней, чем сторонников ООП.

Другой крупный критик ООП – это известный специалист по программированию Александр Степанов, который, работая в Bell Labs, участвовал в создании C++ вместе c Бьерном Страуструпом (Bjarne Stroustrup), а впоследствии, уже после приглашения в HP Labs, написал Standard Template Library (STL). Александр Александрович полностью разочаровался в парадигме ООП; в частности, он пишет: “Я уверен, что парадигма ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, только тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой. Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы вы приходите к тому, что оказываетесь в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг – из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле”.

Ричард Столлман (Richard Stallman) также известен своим критическим отношением к ООП, особенно он любит шутить насчет того мифа объектников, что ООП “ускоряет разработку программ”: “Как только ты сказал слово «объект», можешь сразу забыть о модульности”.

Ричард Гэбриел неожиданно сравнивает нынешнюю ситуацию с ООП с провалом эфиродинамики в физике начала 20 века, когда, в сущности, произошла “тихая революция”.

Ответ на: комментарий от siberean

>самое прямое.

Основная работа программиста - сидеть с дебаггером.

Одно дело - когда я иду по одной функции, и понимаю её.


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

Booster ★★
()
Ответ на: комментарий от Booster

Да не тип ответственнен. Вы программист и пишете функции, алгоритмы. Тип вторичен.
Алгоритм (самый эффективный) будет один и тот же у 2х программистов. А типы у них будут разные, потому что у них ассоциации разные. И те ассоциации не имеют никакого значения.

siberean
()
Ответ на: комментарий от Booster

> Вы пишите бред.

Считайте так. Жизнь научит (если не спрыгните в менеджмент)

siberean
()
Ответ на: комментарий от Booster

> Одно дело когда я знаю за что ответственен тип, понимаю его, и другое когда мне нужно вызывать тучу непонятных вложенных фунок

«Туча непонятных вложенных фунок» - это по вашей части: порождение неправильного деления на классы из-за классического ООП подхода.
Если алгоритм (который уже не упростишь) побьёте на сто-тысячу кусков - то разобраться в этих кусках (методах) - гораздо сложнее, чем разобраться в алгоритме, если он написан в стиле псевдокода Кормена. Т.е. одна простая функция. И модули, передающие, например, контекст (структуру или как вы там её называете - объект).

Лень писать примеры, можно было-бы показать на примере что фанаты ООП творят с геттерами и ejb. Да всё это в топике выше уже есть. Надоело. ПО-моему, всё ясно.

siberean
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.