какие минусы у ООП?

fixxxer

К.О.
Партнер клуба
Да я понимаю, что что-то там есть, но масштабы несопоставимы, и вряд ли возможно объективно сравнить стоимость разработки и поддержки в зависимости от ООП/ФП при прочих равных. Тем более, что как раз-таки у erlang есть своя специфика, позволяющая определенные (довольно узкие) задачи решать эффективнее. Но это вопрос выбора инструмента, а не методологии.

Но вообще я это написал с другой целью - мне кажется, кто-то тут не знает, что такое ФП.
 

MiksIr

miksir@home:~$
weregod а тут вот вторая проблема вырисовывается - кроме знания языка еще требуется знание библиотек. Воззьми новый фреймоврк и посмотри скорость разработки. Хотя, конечно же, это свойственно и нормальному ФП. Но все же ООП даже с библиотеками требует больше время на проектирование, чем ФП... личное ИМХО, конечно - 10 лет перла подсказывают.

-~{}~ 11.09.10 15:54:

fixxxer, пажжди.. давайка ответь на вопрос - зачем нужен ООП.
 

fixxxer

К.О.
Партнер клуба
MiksIr

так, секундочку.

ООП даже с библиотеками требует больше время на проектирование, чем ФП... личное ИМХО, конечно - 10 лет перла подсказывают
Ты хочешь сказать, что 10 лет писал на перле исключительно в функциональном стиле, со сплошными map {} и прочими return sub {} ?
 

MiksIr

miksir@home:~$
fixxxer а вы видели ООП на перле? Еще то развлечение ;) Особо если учесть, что это было лет так 8 назад ;)
 

fixxxer

К.О.
Партнер клуба
Видел, конечно. Каталист тот же. Примерно как в php4 только выглядит страшнее. Но жить можно.

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

tenshi

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

MiksIr

miksir@home:~$
По-моему я ответил, не? Я начинал с перла и, конечно, без ООП. ПХП тогда еще как-то вообше никак был ;) К использованию "объектов" в перле перешел только под конец общения с перлом.
 

Вурдалак

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

MiksIr

miksir@home:~$
А ну это нормально для этого форума ;) Но в общем можно проигнорировать, ибо к теме этого топика имеет слабое отношение.

-~{}~ 11.09.10 19:00:

PS: кстати, речь скорее всего даже о структурном программировании.
 

weregod

unserializer
скорее всего ошибся я, имелось в вид отличие процедурного от объектного подходов, ФП - рука дрогнула
 

melo

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
тема бессмысленна

какие недостатки у дифференцирования? у бинарных деревьев? у светофоров?

давайте четко определим сферу применения - сразу проявятся недостатки
 

tenshi

Новичок
сфера - веб разработка. критерии - багоёмкость, отлаживаемость, гибкость, реиспользуемость
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
tenshi
тупой комментарий
какие недостатки у php - с твоими критериями?
очевидно, ответ неопределен - нужна база сопоставления и шкала оценки
 

nirex

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

Sherman

Mephi
ООП перестало быть cutting edge в программировании и стало просто мейнстримом. В связи с этим можно часто встретить код, который вроде бы написан с помощью ООП и паттернов, но является индусским, по-сути. Более того, за последние пять-десять лет появилось(или получило новый импульс) множество языков, в которых на ряду с ООП появилось много иных очень интересных концепций и технологий, которые позволяют отказаться от паттернов например. То есть, паттерны, это по-большому счету некоторые костыли, которые позволяют в языках, в которых кроме ограниченного ООП более ничего и нет, хоть как-то выживать.

Интересные языки:

Scala, F#, Haskell, Ocaml, Clojure, Erlang, C# >= 3.5, javascript.
 

tenshi

Новичок
grigori то есть "чётко определённой сферы примерения" уже не достаточно?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
tenshi
это форум веб разработчиков, "сфера - веб разработка" - это тупое определение, а совсем не четкое
 

fisher

накатила суть
а какой смысл тебе что-то объяснять, если ты на всё напишешь: "не проблема ооп". можно было бы что-то рассказать человеку, который ищет знаний - а тебе и знать-то ничего не хочется, знай, долдонишь своё.
 
Сверху