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 века, когда, в сущности, произошла “тихая революция”.

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

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

> Не, ну правда же, зондер-комманда МС работает настолько эффективно, что сейчас куда ни плюнь, попадёшь в быдлокодера на сишарпе.

тупой вброс.

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

What is a proof?

По ссылке какой-то ГСМ, они почему-то называют доказательства, которые опираются на аксиому индукции «негильбертовскими», т.е. теми, утверждения которых нельзя вывести последовательно из аксиом, и вводят новый термин «схематические доказательства».

А неприминимость доказательства Коши для полых многогранников, также положили в основу «негильбертовости», хотя это просто придирка к входным условиям, не имеющая отношения к математической индукции.

Неужели теория доказательств недостаточно формализована, чтобы такие сомнительные статьи имели право на существование и обсуждение?

mclaudt ()

Сообщение удалено annoynimous по причине '4.3 Провокация flame (-7)'

Совсем того? Где там провокация flame? Вроде бы пункт 5.1 создан чтобы не отвечали на тролльские вбросы, а тут получается мне сняли 2 скора не за что! А ну ка быстро вернули мне 4 скора (+2 за моральный ущерб)!

creepnee ()
Ответ на: комментарий от jtootf

>>Ну не эпична ли лента Мёбиуса? Или сосуд Клейна?

ты, кажется, путаешь топологию и проективную геометрию

Как ты по одному слову определил преимущественную близость термина к проективной геометрии, нежели к топологии?

Опять ради красивого словца?

mclaudt ()
Ответ на: комментарий от mono

> Толкин писатл Властелина колец долго, постепенно продумывая сюжет. Т.е в начале написания книги он еще не знал чем все, в конечном итоге закончится.

Но он конечно говно, а не писатель.. да.


Вообще-то он писал не только и не столько Властелина Колец.

А Сильмаррилион он так и не дописал до конца жизни. Что как бы намекает!

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

Как ты по одному слову определил преимущественную близость термина к проективной геометрии, нежели к топологии?

с помощью libastral. и в явном виде отметил в конце несерьёзность предположения, между прочим

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

Неужели теория доказательств недостаточно формализована, чтобы такие сомнительные статьи имели право на существование и обсуждение?

напиши тем, кто посмел её опубликовать

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

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

если так хорошо помнишь древнюю грецию, сравни как доказывал (если доказывал вообще) свою теорему Фалес с тем, как рекомендуют доказывать ее в современном учебнике

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

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

мнение о чём? по ссылке, если ты не заметил, студенческая работа; подход свой они неоднократно называют гипотетическим:

We hypothesize that schematic proofs provide a cognitive model of some mathematical proofs. We are soon to start a project to test this hypothesis

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

jtootf ★★★★★ ()

по ссылке какой-то укуреный бред. тред дочитал до четвертой страницы.

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

Вообще-то «пищу для ума»(x) XOR «обсуждать не предлагаю»(x) == 1

как будет угодно; добавь в мою фразу обсуждать со мной не предлагаю, и все будут довольны

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

Хех, тогда область истинности утверждения сузится от множества всех постов до множества вбросов ;)

Ладно шучу. За ссылку спасибо.

mclaudt ()
Ответ на: комментарий от anonymous

> о даа, два более-менее реалистичных персонажа на два кило бумаги

они там все более-менее реалистичные.

просто ты привык к персонажам из Донцовой и Марининой, которые с трудом выбирают между двумя одинаковыми пачками «парламента», а уж их «доброта» или «злота» явно зависит от положения луны в Раке. Или к гопарям с раёна, которые поступают как Бог на душу положит.

тот же Боромир — накосячил с три короба. И закономерно сделал сепукку. В чем тут реалистичность - ума не приложу. Встретить полюбившийся тип героя - безголовый самоубийца?

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

Ладно шучу. За ссылку спасибо.

не за что. извини за резкость. голова раскалывается

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

>они там все более-менее реалистичные

лепи горбатого, ага

просто ты привык к персонажам из Донцовой и Марининой, которые с трудом выбирают между двумя одинаковыми пачками «парламента», а уж их «доброта» или «злота» явно зависит от положения луны в Раке. Или к гопарям с раёна, которые поступают как Бог на душу положит

твои бредовые откровения мне не очень интересны - я и без тебя уже заметил, что опусы Толкиена любят инфантильные личности

тот же Боромир — накосячил с три короба. И закономерно сделал сепукку. В чем тут реалистичность - ума не приложу

если б кто-то почаще отрывал жопу от монитора...

metadon ()
Ответ на: комментарий от stevejobs

> Где мой напалм, Джонни?!

Правильно, сожги себя.

robux ()
Ответ на: комментарий от DNA_Seq

>Это только для натуральных чисел

Да причем тут натуральные числа? Способность людей к обобщению может быть более сложной чем тупой перебор всех вариантов.

Это и позволяет обобщать не только конечные но и бесконечные множества.

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

Для этого нужен разум. Вопрос как без разума обойтись. Для дедукции мозги уже 2 тысячи лет как не нужны

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

>ты, кажется, путаешь топологию и проективную геометрию. впрочем, неважно

Ну может попутал. Недавно просто читал сборник фантастический, там и про топологию были забавные рассказы, о том, например, как в метро построили какуя-то ветку и ее топология стала такова, что один из поездов застрял в четвертом измерении:)

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

>как в метро построили какуя-то ветку и ее топология стала такова, что один из поездов застрял в четвертом измерении:)

омгф... Авторы вещества хорошие употребляли, видимо. А у меня топология стойко ассоциируется с лвс, видимо, издержки профессии.

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

Вот! Я к тому, что мы говорим об одном и том же. Просто я говорил о чистой математике, а ты говоришь об применении ее в лвс.

BlacKeeper ()
Ответ на: комментарий от DNA_Seq

>Ну я конечно утрирую однако дедукцию компу уже доверить можно а индукцию - страшно

Пока существует винда, кончено страшно:D А если серьезно, я слышал, ведутся разработки по созданию искуственного интеллекта для решения некоторых исследовательских задач.

BlacKeeper ()

Степанов прав относительно аксиом, а тем, кто с ним не согласен, не хватает грамотности. Смотреть аксиому выбора, аксиоматику Вейля вместо аксиоматики Гильберта для евклидовой геометрии, аксиому Паша, 21-ю аксиому аксиоматики Гильберта.

Если меня попросить и мне не влом будет, расскажу подробнее.

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

>Ну я конечно утрирую однако дедукцию компу уже доверить можно а индукцию - страшно

Дай угадаю. Про индукцию - это изначально вброс был, чтобы кто-нибудь возразил. А сейчас ты слегка прикармливаешь в надежде потом развернуть более масштабный троллинг?

pathfinder ★★★ ()

Расскажи, пожалуйста, поподробнее!

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

Да чего только там не применяют. И нейросети, и марковские цепи, но все равно даже людям не всегда доверяешь, что уж о компах говорить. Зачастую доказательства сводятся к «мамой клянус!» а на результаты того же CASP вполне можно делать ставки как на спортивные игры

DNA_Seq ★★☆☆☆ ()

Загловок слишком желтый -- ООП сильно ограниченно, а не провалилось. В ООП обычно: полиморфизм сводится к ad-hoc, нет мультиметодов, наследование только ко- или контра- вариантно.

Насчет вариантности — обычно нет возможности определить предок (а не потомок) класса.

Например, у нас есть класс Integer, и мы хотим определить класс Real — так вот, Real должен быть надклассом.

Еще есть expression problem.

Претензии Степанова хорошо видны на функции template<class T> T min(T,T).

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

> это императивно или декларативно?

этот вопрос более бессмысленен, чем осмыленен

имеет смысл спрашивать «вот эта программа более декларативна или более имеративна, чем та программа»

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

* имеет смысл спрашивать «вот эта программа более декларативна или более императивна, чем та программа» при условии, что обе делают одно и то же

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

> мне вот интересно - это у тебя склероз или слабоумие?

Регаешься и обсуждаешь. А здесь гадить нечего

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

Ты меня прям обижаешь копипастой про коммутативность =(.

Да хреновый с меня философ.

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

Бертран Рассел так отозвался об аксиоме выбора: «Сначала она кажется очевидной; но чем больше вдумываешься, тем более странными кажутся выводы из этой аксиомы; под конец же вообще перестаешь понимать, что же она означает».

Аксиоматика Вейля — это то, как я воспринимаю пространство, она проста и приятна; аксиоматика Гильберта ужасна (хотя для математиков весьма *этим* интересна, да).

В аксиоматике Гильберта

1. Приходится делать аксиомой такую с виду нефундаментальную вещь, как Аксиома Паша — Пусть A, B, C — три точки, не лежащие на одной прямой, и a — прямая в плоскости (ABC) этих трех точек, не проходящая ни через одну из точек A, B, C; если при этом прямая проходит через одну из точек отрезка AB, то она должна пройти через одну из точек отрезка AC или через одну из точек отрезка BC.

2. Сам Гильберт, величайший математик, включил в свою аксиоматику лишнюю — 21-ю аксиому «Любым четырём точкам на прямой можно присвоить имена A, B, C, и D так, чтобы точка B лежала между точками A и C, а также между A и D; точка C — между A и D, а также между B и D.»

Теперь: никто не воспринимает евклидову геометрию как набор аксиом. Скорее как набор связей между утверждениями (т.е. доказательств).

Аксиоматика вообще похоже на базис линейного пространства — его можно выбирать разным. Правда в случае базиса количество линейно независимых векторов постоянно, в случае аксиоматики — похоже, что нет :-)

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

> Сейчас я не вспомню точную цитату Кея, но он говорил об «extremely late binding», что фактически означает динамическую типизацию.

Кхм, кхм. Возможно что и не так.

То есть тут, правда, есть еще одно направление для полного раздолбайства — это prototype-oriented в противовес ОО. То есть все указатели на функции, обычно хранящиеся в vtbl, лежат внутри объекта (и могут меняться). Однако, вроде бы, при этом можно соблюсти статическую типизацию.

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

Бертран Рассел так отозвался об аксиоме выбора: «Сначала она кажется очевидной; но чем больше вдумываешься, тем более странными кажутся выводы из этой аксиомы; под конец же вообще перестаешь понимать, что же она означает».

и какое же отношение эта цитата имеет к правоте Степанова?

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

Кхе, а у меня знакомый убнтушник сишарпист, лютое сочетание.

wlan ★★ ()

Например, у нас есть класс Integer, и мы хотим определить класс Real — так вот, Real должен быть надклассом.

а для Real надклассом должен быть Complex - я правильно тебя понимаю? и наследование реализации должно идти в противоположном направлении наследованию интерфейса?

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