проблемы объектного сознания

Статус
В этой теме нельзя размещать новые ответы.

Lightning

Трудоголик
fisher
я хочу кое-что специально пояснить...
Просто Ваш стартовый пост выглядит как тупо "ООП - гавно".

Насколько я понимаю у Вас такие проблемы:
1) Программеры начинают "забавляться" с языком, вместо решения реальных задач.

Может Вам попробовать TDD, XP?

2) Из-за использования ООП падает производительность.

Если в приложении операция по созданию объекта приводит к серьезному падению производительности, то является ли целесообразным использование PHP в таком приложении? Есть более быстрые интерпретаторы, есть компилируемые языки.

-~{}~ 17.03.09 15:00:

а у ООП есть недостатки?
Есть ряд областей в которых ООП неприменимо.
Системное программирование, например.

В большинстве больших сложных прикладных программ ООП вполне применимо. Навскидку пару признаков применимости ООП:
1) Если в процедурной программе есть структуры данных, и в процедуры постоянно передаются указатели (или ссылки) на эти структуры для их обработки.
2) Если, чтобы избавиться от дублирования условной логики, вам приходится применять указатели/ссылки на процедуры.
 

StUV

Rotaredom
HraKK уже неявно отметил, суть противоречия высказываний "сторонников-ооп-в-этом-треде" вот этим
У меня брат работает в крупной гамедевной немецкой фирме ведущим программистом над MMOG игрой, не думаю что надо говорить что все наши творения нервно курят в сторонке по сравнению с такой системой
видимо действительно, рассматриваемые вами слои разработки ваших продуктов не чувствительны к
Есть ряд областей в которых ООП неприменимо.
ну если это так и другие слои веб-приложений вам неинтересны - ну пройдите мимо...

-~{}~ 17.03.09 15:15:

и
Lightning
Просто Ваш стартовый пост выглядит как тупо "ООП - гавно".
перечитай первый пост, подумай, он не об этом...
 

Lightning

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

Если вы хотите контролировать эти низкоуровневые процессы, то вам подойдет такой язык как C++. Вроде ООП, но вы почти все видите и контролируете ручками. Если хотите сэкономить память и время на создание объекта с большим кол-вом методов, то поставьте virtual, только для тех методов, для которых вам необходимо динамическое связывание (для полиморфизма). Если, чтобы удалить дублирование вам пришлось создать много мелких (1-2 строки) методов, но вы не хотите, чтобы цепочки вызовов были слишком длинными, то сделайте из них inline-функции. И т.д. и т.п.

Но PHP, как интерпретируемый язык с динамической типизацией, не предназначен для того, чтобы писать приложения требующий такого контроля низкоуровневых операций (выделение памяти и т.д.)
 

svetasmirnova

маленький монстрик
Lightning
> Есть ряд областей в которых ООП неприменимо.
> Системное программирование, например.

Почему?
 

x-yuri

Новичок
Может Вам попробовать TDD, XP?
по-моему, этот аргумент вполне можно обернуть против автора. А не было ли причиной (по-крайней мере одной из) появления TDD, XP то, что легко забыть о реальной цели, и удариться в...?
 

whirlwind

TDD infected, paranoid
триумвират в оффтопе очень верно подметил по аналогичному поводу - не читал, но осуждаю
 

Lightning

Трудоголик
по-моему, этот аргумент вполне можно обернуть против автора.
Это не аргумент. Это одно предложение решения проблемы.

-~{}~ 17.03.09 15:36:

x-yuri
Надеюсь, все, что я тут пишу, не будет использовано против меня в суде? )))
 

x-yuri

Новичок
Просто Ваш стартовый пост выглядит как тупо "ООП - гавно".

перечитай первый пост, подумай, он не об этом...
похоже, на провокацию, имхо: "ну где же вы, апологеты ООП, я хочу с вами поспорить"

Это не аргумент. Это одно предложение решения проблемы.
ну это детали. А тебе не кажется, что TDD, XP как раз ограничивают програмистов от "ухода от реальности"?

-~{}~ 17.03.09 14:39:

Хоть топикстартер и прикидывался, что он якобы хочет чего то (правда, непонятно, что) выяснить "до начала флейма", по сути он как раз флейм и начал
ответ в названии темы
 

john.brown

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

Вообще суть темы не понятна. Что, процедурное программирование как то по особому влияет на сознание программиста, заставляя заниматься исключительно "достижением цели"? Или ооп это какой то особый вид разложения личности программиста?

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

x-yuri

Новичок
Ок, ограничивает, и что в этом плохого?
дело не в том, что плохого, а в том, почему они ограничивают

Вообще суть темы не понятна. Что, процедурное программирование как то по особому влияет на сознание программиста, заставляя заниматься исключительно "достижением цели"? Или ооп это какой то особый вид разложения личности программиста?
http://www.citforum.ru/programming/cpp/apredis.shtml#2

Вопросы "достижения цели" есть область ответственности самого программиста, а также его начальства, которое или умеет, или не умеет организовать и контролировать работу. А ооп или процедуры всего лиш инструмент, который каждый имеет свои плюсы и минусы, и выбор которого в большей степени является субъективным вопросом
а тут никто не говорит, что не надо использовать ООП ;-)
 

StUV

Rotaredom
а в итоге таки да
http://phpclub.ru/talk/showthread.php?postid=844492#post844492

fisher
вопрос "ребром" стал тем интереснее, что привел к достаточно многогранному конфликту ортогональных мнений
теперь осталось подумать и понять "почему?"
 

whirlwind

TDD infected, paranoid
Автор оригинала: x-yuri
дело не в том, что плохого, а в том, почему они ограничивают


http://www.citforum.ru/programming/cpp/apredis.shtml#2
Ну так и читай предисловие пока не осознаешь.

При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.
Если у тебя не получается правильно использовать, то ты просто не умеешь их готовить. чего ты лезешь со своими объяснениями к тем, у кого с этим нет проблем? Проблемы объектного сознания как раз у процедурщиков.

-~{}~ 17.03.09 16:37:

ЗЫ. кстате, это очень просто проверяется. Найдите на форуме тему ООП вс процедурщина открытую оопешником. В основном такие темы открывают кто не использует или использует частично.
 

StUV

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

whirlwind

TDD infected, paranoid
Оно все к тому, что я не уверен в том, что мои оппоненты уверенно владеют обоими подходами для того что бы критиковать один из них. Со мной не спорят люди чей код я видел (zerkms например) или с кем я вообще обсуждал какой то код на этом форуме. А так пришли какие то люди со стороны и пытаются мне что то объяснить. Ну да старожилы ну и что? Пока я вижу мыслителей, а не практиков. Я же никогда не стремаюсь кодом делиться, так и вы поделитесь. Мы и сравним побайтикам, по скорости, по читаемости, по багоемкости, и прочему.

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

StUV

Rotaredom
Пока я вижу мыслителей, а не практиков.
о чем и речь
практика порождает мышление
мне практики хватает, обсуждать тонкости реализации "сферических коней" - мне давно не интересно (я про отсутствие твоих каментов к моим вопросам по поводу "стартовали в декабре 2008...")

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

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

whirlwind

TDD infected, paranoid
Автор оригинала: StUV
о чем и речь
практика порождает мышление
мне практики хватает, обсуждать тонкости реализации "сферических коней" - мне давно не интересно (я про отсутствие твоих каментов к моим вопросам по поводу "стартовали в декабре 2008...")
По поводу деталей проекта я считаю что сказал более чем достаточно.

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

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

-~{}~ 17.03.09 17:29:

ЗЫ. TDD это инженерная практика прежде всего. Умение использовать tdd из обсуждений ты никогда не получишь. Это надо долбиться до упора. Я знаю это трудно, но это как спорт. Сначала очень тяжело, но если втянулся, то получай призы. Взяли реальную задачу, разобрали и решили. Только так.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху