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

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

ФП там даже и близко не валялось


ФП нигде и никто не смог реализовать без чудовищного оверхеда поэтому в ядре только чистый asm

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

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

Ты путаешь 2 похожих, но не одинаковых понятия: аксиому и постулат.

Сумма углов треугольника равна 180 градусов только в Евклидовой геометрии при принятии аксиомы параллельности Евклида.

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

>Что начинать программирование с написания классов это все равно что «парни, у меня трава есть первоклассная, давайте пару аксиом придумаем?».

Читай классиков: структурное программирование «сверху-вниз» и «снизу-вверх». Э. Дейкстра и Н. Вирт плохому не научат :)

quickquest ★★★★★ ()

>объектно-ориентированное программирование провалилось

А мужики-то не знали. «Кто виноват и что делать?» - это даже не боян, не.

Ричард Гэбриел неожиданно сравнивает нынешнюю ситуацию с ООП с провалом эфиродинамики в физике

Тег вещества забыл. Физики сидели «на эфире», пока в Беркли не открыли LSD^Wдругие вещества и внезапно поняли, что «эфир - не нужен!». Вот и ООП уже не вставляет как раньше.

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

> Приведи хотя бы 1 доказательство без аксиом.

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

Греки в этом были не исключением, они изначально рисовали свои геометрические утверждения без каких-либо формализаций и считали рисунки доказательствами. И, кстати, так даже делали многие геометры после Греков, когда уже аксиоматика Евклида была сформулирована(и после Евклида потерпела много изменений).

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

Выдержка:

Например: «Проблема полной аксиоматизации элементарной геометрии — одна из проблем геометрии, возникшая в Древней Греции в связи с критикой этой первой попытки построить полную систему аксиом так, чтобы все утверждения евклидовой геометрии следовали из этих аксиом чисто логическим выводом без наглядности чертежей.» (с) wiki.

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

>Сумма углов треугольника равна 180 градусов только в Евклидовой геометрии при принятии аксиомы параллельности Евклида.

А пацаны-то не знают. Я про то что можно наоборот выдвинуть утверждение о сумме углов треугольника как аксиому и тогда аксиома о параллельности прямых превращается в теорему (при этом оставаясь в рамках Евклидовой геометрии). По крайней мере она выводима из практического опыта - берем три рейки, три гвоздика и получакем жесткую фигуру. Хотя от атомарных объектов эта аксиома удалена, но все же человеческому мозгу она более очевидна.

либо геометрию Римана


Геометрия Римана еще отличается аксиомой о возможности проведения более одной прямой через две точки

Вирт плохому не научат :)


так в том то и дело что виновата статическая типизация пророком которой Вирт и является

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

>Греки в этом были не исключением, они изначально рисовали свои геометрические утверждения без каких-либо формализаций и считали рисунки доказательствами.

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

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

> так в том то и дело что виновата статическая типизация

Ахренеть. В чем она виновата - в когнитивном диссонансе Габриеля?

tailgunner ★★★★★ ()

>Я уверен, что парадигма ООП методологически неверна. Она начинает с построения классов

Поэтому надо писать на Smalltalk - там работа идёт сразу с объектами. Живыми

yoghurt

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

> В чем она виновата - в когнитивном диссонансе Габриеля?

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

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

хороший программист это ленивый программист

и, как следствие, хороший программист пишет на ленивом языке :)

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

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

Дык, этим утверждением ты признаёшь, что актиоматика первична. Согласен.

По крайней мере она выводима из практического опыта - берем три рейки, три

гвоздика и получакем жесткую фигуру. ...человеческому мозгу она более очевидна.

Очевидное - не всегда правильное. Дай школьнику младших классов мячик, и пусть он нарисует на нём треугольник и измерит сумму углов. Его практический опыт будет противоречить Евклиду :)

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

Его практический опыт будет противоречить Евклиду

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

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

>Дык, этим утверждением ты признаёшь, что актиоматика первична. Согласен.

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

Дай школьнику младших классов мячик, и пусть он нарисует на нём треугольник и измерит сумму углов. Его практический опыт будет противоречить Евклиду :)


А с каких пор мячик стал евклидовой плоскостью?

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

>Фалес жил задолго до Аристотеля, Сократа и Евклида

Древние аборигены Австралии жили задолго (40К лет) до Фалеса, но и они применяли формальную логику и рисовали алгоритмы охоты на стенах пещер.

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

>>> так в том то и дело что виновата статическая типизация

В чем она виновата - в когнитивном диссонансе Габриеля?

в необходимости переписывания кода по мере формализации алгоритма.

Доо, без статической типизации код переписывать не приходится. Он с самого начала правильный.

Да, хороший программист это ленивый программист

Это популярное оправдание бездельников. Хороший программист - тот, который пишет работоспособные программы в срок.

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

Формальная логика - изобретение Аристотеля, до него ее не было. Ну и вообще зачатки появились только в сократовском кружке (в который ЕМНИП Евклид входил). Геометрия как набор практически выведенных правил существовала задолго до. Евкли лишь свел ее в систему и сделал это надол сказать гениально

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

>Это популярное оправдание бездельников. Хороший программист - тот, который пишет работоспособные программы в срок.

знаешь чем правильное решение отличается от простого? Правильное решение не вызывает проблем в будущем

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

> покажи теперь курицу из страусиного =)

только после того, как покажешь страуса из куриного =)

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

>Тот же питон многие считают неООП из-за отсутствия ключевого слова private.

Передай этим многим, что они идиоты :) Какое отношение private имеет к ООП?

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

>А с каких пор мячик стал евклидовой плоскостью?

А я этого не утверждал. Это пример того, что твоя фраза «человеческому мозгу она более очевидна» не всегда применима.

Знаешь, огурцы на грядке тоже не в банкар растут, в банки огурцы запихивают

люди

«Запихивание в банки» - лишняя сущность, я на даче огурцы ем с грядки :)

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

> ТО приняли несмотря на ее спорность.

СТО, как бы, была подтверждена экспериментально.

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

>Ъ java way: Collections.sort (list, comparator).

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

надо наплодить классов для возможности сортировки по каждому полю.

Надо понимать, это проблемы статической типизации, но никак не ООП.

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

> знаешь чем правильное решение отличается от простого?

Знаю.

Правильное решение не вызывает проблем в будущем

Самое правильное решение тоже может вызывать проблемы в будущем - у решения есть границы применимости, да и просто изменяются обстоятельства.

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

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

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

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

Это был сарказм, я так полагаю.

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

его мир настолько рафинирован в своём делении на чёрное и белое, что воспринимается мёртвым

Давай поговорим о Феоноре. Он белый или черный?

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

В любом случае тезис «сначала доказательство, потом аксиомы» верен, аксиомы выводятся именно как наиболее необходимые компоненты доказательств

Вообще говоря, для того чтобы что-то рефракторить нужнен язык, который надо рефрактрить. Без вещей по типу «это же очевидно» говорить о чем-то дальше бессмысленно. Например учить физику без определения относительности просто невозможно. Что значит движение, если нет понимания относительности? Что такое импульс если нет определения движения?

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

> Давай поговорим о Феоноре. Он белый или черный?

это какой-то ненужный хрен, про которого я лично если и слышал, то забыл уже 18 раз :)

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

Это как идеальные добряки и идеальные злыдни в идеальном мире идеального фантазёра Толкиена - они могут существовать только в сферическом воображении автора

Еще раз поговорим о Феноре или Боромире?

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

это какой-то ненужный хрен, про которого я лично если и слышал, то забыл уже 18 раз :)

Так а зачем тогда к разговору подключаться если сказать нечего?

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

> для того чтобы что-то рефракторить нужнен язык, который можно рефрактрить.

очевидный fix.

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

> Так а зачем тогда к разговору подключаться если сказать нечего?

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

трилогия вообще не ставит вопрос что такое хорошо и что такое плохо. поработить мир — плохо почему-то априори. все хорошие убили всех плохих и рай воцарился на земле!

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

это я к тому, что если в этой эпичной войне братств кольца, конца и посередине гвоздика есть какой-то один спорный персонаж

войне братства кольца

Феанор

facepalm.jpg

Он не из ВК как бы, а из ВК я уже назвал Боромира.

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

Забанить всех толкинутых.

текстолитовым мечом

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

я ж грю: хз кто такой. учитывая контекст я думал что из вк.

При чем тут хз? ВК не единственная книга Толкиена.

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

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

Это практически дословное цитирование одного из законов Мерфи =)

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

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

Это практически дословное цитирование одного из законов Мерфи =)

Неправильное цитирование Х.Л.Менкена Гроссманом, если быть точным. А от себя я добавил фразу, которую ты не отквотил.

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

>А я этого не утверждал. Это пример того, что твоя фраза «человеческому мозгу она более очевидна» не всегда применима.

Аксиомы без опеределения объектов смысла лишены как и вообще все в принципе без наличия четкой терминологии. Повторяю еще раз для особо тупых - когда набор аксиом полностью сформирован развитие теории можно считать законченным так как иэ этого набора далее все выводится банальной дедукцией на которую способен (если конечно научить) последний придурок. А вот для правильной индукции наличия мануалов недостаточно, для этого нужно быть немножко богом =)))

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

да вы за**ли годный тред скатывать к Брадомирам всяким. Укатывайтесь в толксы и не мешайте людям спорить.

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