LINUX.ORG.RU
ФорумTalks

Почему боятся ООП?

 


0

6

Заметил, что некоторые разрабы стесняются (триггерятся/истерят/брезгуют/отстраняются/впадают_в_кому от) ООП. Почему? Вот, один говорит «у нас тут не наследование, а …», так и хочется добавить «розовые пони». Т.е. если ты можешь реализовывать интерфейсы, у тебя уже нет отношения is-a? Может быть, какие-то древние ЯП не поддерживали чисто виртуальные интерфейсы, и нужен был непременно базовый класс, но как минимум уже C++ сломал эту традицию.

★★★★★

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

Вот кстати про Django. Хорошо помню тот момент, когда сделали class-based views. Вместо простой функции пришлось запоминать в каком там порядке вызывается десяток колбеков и в какой момент в состоянии этого объекта появляется то или иное поле.

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

новык view крутые, но к сожалению не дают навык проктирования. примерно как тюнинг тачки не учит автомобилетроению. даже самый крутой тюнер не автомобилестроитель, и самый крутой джангист - не писатель MVC-фреймворка. почему так? в отличае от той же Scalы ООП не академичен.

anon1984
()
Последнее исправление: anon1984 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Просто потому что можешь? :)

У меня есть софтинка из буквально трёх строк, две из которых это объявление класса, а третья собственно обрабатывает строку из stdin. Накидал на джаве, потому что было удобно в тот момент, пользую до сих пор :)

Zhbert ★★★★★
()

Не боятся, а брезгуют.

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

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

Но всегда соображения были теоретические.

Вот-вот. А на практике эти смузихлёбы-теоретики не умеют ни в ООП, ни в SQL (помню охренел, когда узнал, что это чуть ли не основная причина былого хайпа вокруг NoSQL), ни черта вообще.

pr849
()

ибо с ООП случилось ровно тоже что и с «структурное программирование»

из годной эвристики для «архитекторов» образовательная_машина+hairpoint_менеджеры+инфоевангелисты сотворили очередную серебренную пулю которые оказались после их(всех 3ых) ада(ок)птации простым смертым - змеиным молоком

всё как обычно

qulinxao3 ★★
()
Последнее исправление: qulinxao3 (всего исправлений: 1)

ибо смешались в кучу люди кони ... кентавры ... конь Бо BoJack

на хайпе людям задвигали ООП раньше чем сд&а (структуры даттых и алкоритмы)

«так получилось»

АТД позже ООП тоже задвигали ( если оне ваще после ООП когда либо до АТД добирались)

телега в переди лощади - ибо плотникам(всем 3ем из предыдущего поста) так удобней :)

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

все черные лошади лошади но не все черные лошади

так то так

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

у догматистов частичное ООП не ООП как выше сказали маркетизация термина ООП приводит к псевдогуманитарным расщепителям_волоса

qulinxao3 ★★
()
Последнее исправление: qulinxao3 (всего исправлений: 1)
Ответ на: комментарий от seiken

ибо ООП в том виде в которым вы его восприняли и был продуктом маркетоидой шелухи периода взрывного распространения GUI

ибо ООП Кея начала 70ых в полностью интерпритируемом подходе - очень далёк от истиного ООП конца 80ых-начала 90ых - именно второе попало в образовательную машину как эталон

до ООП было уже и АТД и прочие фичи ООП

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

по факту ....

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

ищи многосортные алгебры

да пристнопамятное a+b отображать в a.plus(b) и или в b.plus(a) - это не от хорошей жизни

как впрочем Plus(Decart(type(a),type(b)),a,b)

реальность не дерево(ООП) а граф - но даже DAG приводит к «проблеме ромба в ООП»

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

Plus(Decart(type

Пришёл лесник и разогнал всех к чёртовой матери (тм).

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

У него была цель реализовать CLOS, как и другие вещи из CL, но с добавлением своих фишек, типа pure fp, STM, итд, но он не осилил. И потом начал за это оправдываться. Я прекрасно помню как Clojure зарождалась.

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

CLOS - продуманная, с кучей ортогональных фич. Там все логично и корректно сделано, практически все непонятные ситуации(UB, типа) исключены, и так далее. Есть метаобъектный протокол, для расширения, который фактически представляет из себя метациклический интерпретатор CLOS.

Clojure по сравнению с этим - кривая неудобная поделка.

Но для того, чтобы это сравнивать, надо естественно, уметь в обе вещи. А не просто «я видел Clojure и прочитал про CLOS на ЛОРе, CLOS нипанравилась».

И да, CLOS отлично используется на практике, как раз, в отличие от хероты типа STM. В CL практически не найти библиотеки без использования CLOS. Она в том числе, кстати, предполагает целый набор оптимизаций, многие из которых сделаны в соответствующих ее реализациях (например PCL в SBCL), в отличие от кривого тормозного говна которое высрал хикки. CLOS - как и весь Common Lisp - исключительно ориентированная на практику вещь, продуманная опытными инженерами, а не хайпожорами, которые увидели в очередном мутном говне(STM, FP, итд) новый Silver Bullet.

lovesan ★★
()
Последнее исправление: lovesan (всего исправлений: 1)
Ответ на: комментарий от qulinxao3

да пристнопамятное a+b отображать в a.plus(b) и или в b.plus(a) - это не от хорошей жизни

a+b - вот здесь начинается ООП, где у нас две сущности и функция над ними. Но вы притягиваете за уши современные реализации ООП к самому ООП.

но даже DAG приводит к «проблеме ромба в ООП»

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

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

MIT не родило SICP для ООП (или родило?)

В SICP, во второй главе(или в какой там, об абстракции состояния) - фактически реализуется single-dispatch динамическое ООП(типа того что в Python, или скорее недо-smalltalk).

Не читал SICP, да?

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

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

Можно просто посмотреть на реализацию JDK, чтобы понимать у большинства ярых сторонников ООП в нём не было никакого опыта. Поэтому притягивать за уши эти реализации нет смысла. Да и сегодня мало кто понимает, что такое ООП, даже по этому треду.

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

Забавно что практически все «паттерны ООП» это просто слизанные из CLOS концепции, которые были адаптированы для всяких убогих недоязычков, типа C++, Java итп.

Factory == протокол make-instance

Decorator == :around/:before/:after методы в стандартном комбинаторе методов

Visitor == двойная диспетчеризация (в CLOS вообще множественная, хоть десятерная)

и так далее и тому подобное

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

но даже DAG приводит к «проблеме ромба в ООП»

Да, это приводит к проблемам если вы работаете с ООП через C++. Ну, не было тогда ни у кого опыта ООП.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от foror

Как это не было? Это у тех у кого история ПО началась с DOS и турбопаскаля - не было.

Уже в 80х, было куча продвинутых ОО-систем, где такой проблемы вообще в принципе не существовало.

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

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

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

тут интересна подача в массы менеджерами. Потом интересна хомячья оценка, а когда принимают то или иное в main line, видно все виды отрицания/принятия ;)

Но дело делается, инструменты переписываются.

@foror

а для процессоров того времени просто игрушка.

Не тупи, дядь. С 1949 года за всем ойти до 1988 (по оф данным, по не оф до сих пор) стояла оборонка в Омерике. И на твоих игрушках просчитывали потенциальные последствия нападения СССР, на минуточку.

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

Почему теоретики были? Какие теоретики? Первое GUI когда было сделано? Кем? В курсе, что на лиспе и Smalltalk да?

И лисп-машины промышленные были, в курсе да? В 80 то. Где было и CLOS в той или иной форме, или ее предшественники, или ОО-системы похожего порядка. Это теоретики?

Ты походу из тех, у кого история ПО началась с турбопаскаля 7.0 в 1994, походу. А до этого все сидели в университетах и теоретизировали.

Это вот, такие мнения как твое - ОГРОМНЕЙШИЙ провал вообще всей информатики и программирования в частности - в СССР и бывшем СССР. Люди тупо нихера не знают. Корни этого растут из того как в СССР кибернетику объявили лженаукой, конечно. А потом начали коммуниздить IBMки. Но я вот до сих пор поражаюсь, насколько в плане CS и его практических применений - народ у нас необразованный. Сраная деревня просто.

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

тут интересна подача в массы менеджерами. Потом интересна хомячья оценка, а когда принимают то или иное в main line, видно все виды отрицания/принятия ;)

Хомячья оценка вообще никого не волнует. Че менеджерки им в башку насрут то и хавают. Вообще не думая. Большинство людей - объективно безвольные идиоты. И их мнение - никого ВООБЩЕ не волнует. Что сказали жрать - то и будут жрать. Вон взять эту Java, и прочее говно, JS какой-нибудь, щас вон Golang. Люди это жрут не потому что это круто, удобно или прогрессивно. А потому что ИМ ТАК СКАЗАЛИ.

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

не умеют ни в ООП

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

ни в SQL (помню охренел, когда узнал, что это чуть ли не основная причина былого хайпа вокруг NoSQL)

Тоже слышал такое и емнип даже ИРЛ, что NoSQL это круто потому, что там нет SQL.

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

И лисп-машины промышленные были, в курсе да? В 80 то. Где было и CLOS в той или иной форме, или ее предшественники, или ОО-системы похожего порядка. Это теоретики?

Да. Теоретики. Практики пошли по другому пути. Иначе бы мой ноут был на lisp-машине и линуксом на Smalltalk, а не C.

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

Это не практики, это необразованные идиоты.

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

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

Можно просто посмотреть на реализацию JDK

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

Да и сегодня мало кто понимает, что такое ООП, даже по этому треду.

Это человеческое свойство «не понимать, но любить осуждать».

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

cheaper desktop PCs soon could run Lisp programs even faster than Lisp machines, with no use of special purpose hardware

По итогу тормозная хренотень твои лисп-машины, о чём я изначально и сказал. Не хватило мозгов у твоих Д’артаньянов сделать нормальные компиляторы. Или подкоректировать систему для практики, а не понтоваться на конференциях и гранты выбивать.

Лисп-машины использовались в таком продакшне

Ну, конечно. Д’артаньяны одни, куда простому крестьянину деваться.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 4)

Потому что не могут его запрограммировать в своём интерпретаторе

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

Иначе бы мой ноут был на lisp-машине

Но вполне возможно, что ваш ноут появился в том числе благодаря и lisp. Намекаю на то, что в продуктах Autodesk используется lisp и при проектировании производства вашего ноута вполне возможно, что какие-то из продуктов Autodesk использовались. :)

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

Ты походу из тех, у кого история ПО началась с турбопаскаля 7.0 в 1994, походу. А до этого все сидели в университетах и теоретизировали.

С Линукса история началась, конечно. А Юникса и не было никогда - это проприетарные сказки лол.

Это вот, такие мнения как твое - ОГРОМНЕЙШИЙ провал вообще всей информатики и программирования в частности - в СССР

То ли дело в США - всё на лисп машинах крутится.

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

Передаю привет из геймдева, тут на наследовании половина игры строится

А большая половина — на подсистемах и композиции компонентов, которые в никаком наследовании не нуждаются от слова совсем :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от foror

Да. Теоретики. Практики пошли по другому пути. Иначе бы мой ноут был на lisp-машине и линуксом на Smalltalk, а не C.

Безотносительно позиции лавсанчега, твой ноут — пенка на говне потреблятства, использующего убогий X86, который куча велосипедов, подпертых костылями, ЦА которых (ты) забыла откуда электричество в розетке :)

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

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

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

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

seiken ★★★★★
() автор топика
Последнее исправление: seiken (всего исправлений: 2)

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

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

Видимо не было из чего выбирать, нашему Линусу.

Линус был бедным студнем и слаще репы ничего еще не ел :) Это все разговоры в пользу бедных от «так сложилось».

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

Линус был бедным студнем и слаще репы ничего еще не ел :)

8000 USD за компьютер по сегодняшним деньгам это бедный студент? Взял топое железо по тому времени.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от anc

да блин македонский Александр

ооп не красавица что бы догадываться как она прекрасна

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

основной вопрос ойти- когда и где происходит и сколько раз интерпретация "." ( см кобылель для cat Курт(ц)а нашего Майора)

qulinxao3 ★★
()
Последнее исправление: qulinxao3 (всего исправлений: 1)
Ответ на: комментарий от lovesan

гримаса ситуации что кроманьонсы(pc) вынесли(так принято считать ага) неандертальцев(lisp и прочии машины пятоВО generation)

по факту лисп в виде js поебил

qulinxao3 ★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)