fruit (OP)
Legendary
Offline
Activity: 1064
Merit: 1023
habr
|
|
December 15, 2014, 05:39:10 PM |
|
Почему объектно-ориентированное программирование провалилось?Александр Александрович полностью разочаровался в парадигме ООП, в частности он пишет:
«Я уверен, что ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, лишь тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой.
Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг — из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле».
Ричард Столлман также известен своим критическим отношением к ООП, особенно он любит шутить насчет мифа объектников что ООП «ускоряет разработку программ»:
«Как только ты сказал слово „объект“, можешь сразу забыть о модульности»
«ООП ради самой ООП уже давно превратилось в замкнутый круг. Конечно, можно считать C# в .NET 3.5 с более чем 50,000 реализованных классов „венцом эволюции“. Добавить в следующей версии .NET ещё миллион классов — что может быть более правильным и более вожделенным, с точки зрения ООП-программиста? Говорите, это и есть то самое бегство от сложности?» (на этом месте интервью Ричард демонстративно делает паузу и выкашливается от приступа смеха).
Java/C# не являются ни развитием, ни «осознанием ошибок» C++. Они взяли наихудшую парадигму из языка и возвели ее в степень настоящей догмы. А именно — идею наследования.
Наследование — это самая большая провокация в индустрии. Ни в каком моделировании наследования не существует (и в реальной жизни его нет тоже) — ни в электронике, ни в бухгалтерии, ни в политике, ни где бы то ни было еще. Есть лишь одна область, где наследование теоретически встречается — генеалогия (эй, парни, лучше не путать это с гинекологией). Но это не имеет ни малейшего отношения к тому, что называется наследованием в программировании. Все эти многоэтажные иерархии классов только усложняют жизнь программиста, вместо того, чтобы упрощать по своему замыслу. Полня статья: http://blogerator.ru/page/oop_why-objects-have-failed
|
~DefaultTrust (Trust - is fraud.) Доверие - это разновидность мошенничества.
|
|
|
|
|
|
|
Even in the event that an attacker gains more than 50% of the network's
computational power, only transactions sent by the attacker could be
reversed or double-spent. The network would not be destroyed.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
bee7
|
|
December 16, 2014, 03:20:14 AM |
|
Любопытная статейка.
Думаю, что всё хорошо, когда мера соблюдается. Сейчас почти не принято (хотя в крипто- и криптовалютных технологиях этот вид оптимизации как раз встречается очень часто) писать критичные по времени участки кода на ассемблере, но 20 лет назад в любой статье по оптимизации можно было найти "правило 95%" - т.е. примерно 95% кода могут быть реализованы без ущерба для производительности на языке высокого уровня и, в худшем случае, около 5% подлежат скруппулезной оптимизации, в том числе, с использованием машинно-ориентированных языков.
Кстати, хороший, на мой взгляд, пример сбалансированного использования возможностей C++ - это биткоин-клиент. Код не перегружен разнообразием никчемных классов, при этом очень активно используется мехнизм шаблонов и перегрузки операций, что облегчает понимание сути кода и разработку (доработку/модификацию).
Т.е. если не ставить ООП как самоцель, а именно, что бы всё было кошерно и согласно вумным книжкам, то и эта технология имеет право на существование, на мой взгляд.
|
|
|
|
Wi-Fu
|
|
December 16, 2014, 05:10:39 AM |
|
Опять ООП провалилось? Прошло ровно 10 лет с публикации..
Снова прошло 10 лет? Как-то знакомо это.. Нашел оригинал: http://rsdn.ru/article/philosophy/WhyOOP.xmlОсматриваем снизу Эта статья опубликована в журнале RSDN Magazine #2-2010. Информацию о журнале можно найти здесь Глянул дату первого коментария в блоге: Дмитрий 21.09.2010 в 17:59
То есть статья 2010 года и тогда прошло 10 лет. То есть "ООП провалилось" где-то в 2000-м году.. Прошло почти 15 лет, а воз и ныне там. Неужели все так плохо?
|
|
|
|
awoland
Legendary
Offline
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
|
|
December 16, 2014, 07:51:38 AM |
|
Просто парадигма ООП в программировании продолжает "проваливаться" точно так же, как Запад "загнивать", а доллар "рушиться"...
|
Was mich nicht umbringt macht mich stärker [F.N.]
|
|
|
bee7
|
|
December 16, 2014, 12:18:58 PM |
|
Просто парадигма ООП в программировании продолжает "проваливаться" точно так же, как Запад "загнивать", а доллар "рушиться"...
Проблема то именно в том, что запад действительно гниет (чего стоит разрешение однополых браков, например). Но это уже разговор о политике а не о ЯП.
|
|
|
|
neiros
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
December 16, 2014, 12:56:13 PM |
|
Запад гниёт. Север замерзает? Юг поджаривается? Восток - дело тонкое? (всё что и приходит на ум... А где тонко, там и рвётся[логика ])
|
|
|
|
icreator
Legendary
Offline
Activity: 1554
Merit: 1008
|
|
December 18, 2014, 06:18:23 AM |
|
писал на Си и как только появился первый ООП - попробовал, думал - ура! можно создать мир объектов типа нашего мира и тд. но - тьфу
во всех ООП пишу только статические классы - по сути подпрограммы
полезной сути в объектах не вижу - лишнее замусоривании памяти компа и снижение его скорости работы
вместо того чтобы хранить данные в массивах и обрабатывать их в продпрограммах - народ их пихает в объекты и создает кучу проблем - как по памяти так и по скорости
|
Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions. +Decentralized exchange of tokens in Erachain
|
|
|
hazarun
Legendary
Offline
Activity: 2128
Merit: 1019
|
|
January 07, 2015, 10:42:05 PM |
|
Т.е. если не ставить ООП как самоцель, а именно, что бы всё было кошерно и согласно вумным книжкам, то и эта технология имеет право на существование, на мой взгляд.
Именно так. Что то удобно, что то неудобно. Пользуйтесь тем, что когда и кому удобно. Сдуру - можно и хер сломать, чего уж там... Статья - повод поговорить журналюгам. Работа такая.
|
|
|
|
|