ООП и тормоза

_RVK_

Новичок
Снова эта тема :)
Lestat нельзя сказать однозначно, "да" или "нет". Некоторые абстракции хорошо описываются ООП парадигмой, и тогда нужно использовать ООП. Но часты случаи, когда достаточно простой функции. Полность отказаться от ООП в больших проектах нереально, особенно если планируется их расшерение. Но и пихать классы везде где только можно тоже не стоит. Кстати это относится ко всему, а не только к программированию. Так что твой наставник неправ. Если звезды зажигают, значит это кому-нибудь нужно.
 

SiMM

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

_RVK_

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

Lestat

Новичок
13:51:17: По поводу ООП так и есть. Без грамогного проектирования и полного понимания его основ получается такая херня...
13:52:29: Вот если хорошо разберёшься с ним, тогда действительно стоит использовать. Но пхп, в принципе, не объектно-ориентированный язык по своей природе, как и скажем Бейсик...
Вот С и Java - совершенно другое дело.
 

Gas

может по одной?
Lestat и что ты этим хочешь сказать?
Забудь уже про PHP3, когда появился PHP5
 

_RVK_

Новичок
Lestat
по скорости ничем. Просто в нем OOP уже не является расширением ассоциативных массивов.
О новом в пхп5 есть статья на деталях.
 

Gas

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

untied

Сдвинутый новичок
Чего спорить-то?
По-настоящему объектно-ориентированный язык -- это язык, на котором можно создавать программы только в терминах объектов (например, Java).
А когда можно и так и эдак -- это уже фуфло. В этом случае, как нравится, так и программируй. :D

Резон в мнении наставника есть. PHP -- не компилирующий язык, и поэтому на сборку всех классов и построение связей всегда будет требоваться время (как раз в больших проектах это будет заметнее). Так что все сводится к простому удобству. Кому-то удобнее наворачивать классы и наследование. Кому-то (мне, к примеру) удобнее создавать plain-странички и функции (которые можно хранить в базе и подгружать с помощью create_function). Логика проста: одна экранная форма -- один скрипт (или подгружаемая функция).

PS. Любителям покидаться камнями сразу скажу, опыт разработки на Java и C++ у меня изрядный. И что такое _настоящее_ ООП, я в курсе. :D В Java это сделано классно. В C++ так себе. Ну а про PHP я промолчу. :cool:
 

encyclop

Guest
Уже давным-давно всем известно, что ООП для PHP - это порой значительная потеря производительности, но одновременно же и повышение уровня читабельности кода в РАЗЫ, что есть перевешивающий аргумент...

Почитайте главу 5 из книги "Профессиональное PHP программирование, 2-е изд." - http://www.books.ru/shop/books/84429

(клик по ссылке "Сомневаетесь? Загляните внутрь!")

Я - всеми частями тела за ООП!
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: untied
Кому-то (мне, к примеру) удобнее создавать plain-странички и функции (которые можно хранить в базе и подгружать с помощью create_function).
Трындец. Человек одновременно признаётся, что хранит код в базе, и не стесняется рассуждать о производительности. :rolleyes:
 

Screjet

Новичок
маркетингом заниматься не пробовал ?
Пробовал. И занимаюсь. Весьма выгодно продавать один и тот же код по несколько раз по исходной цене :)

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

PHP -- не компилирующий язык
Почитай чтото на предмет ускорителей для ПХП и байт-кода для Java.

Так что все сводится к простому удобству.
Удобство всегда в балансе с производительностью. Твое применение ПХП "весьма производительное".
 

_RVK_

Новичок
Нет, ну неужели кроме меня никому не ясно что однозначного ответа тут нет. Раз за разом разгораются споры что круче/быстрее/удобнее... Вот в Java да. Там выбора нет. А тут что то оформил как функцию, что то проще и удобнее как класс. Но я не представляю программирование крупной системы вообще без ООП! Точнее представить могу, но я в такой код через полгода не полезу, уж не надо, увольте. Проще будет заново все написать.
 

Frol

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

svetasmirnova

маленький монстрик
Originally posted by untied
Чего спорить-то?
По-настоящему объектно-ориентированный язык -- это язык, на котором можно создавать программы только в терминах объектов (например, Java).
А когда можно и так и эдак -- это уже фуфло. В этом случае, как нравится, так и программируй. :D
<skip>
PS. Любителям покидаться камнями сразу скажу, опыт разработки на Java и C++ у меня изрядный. И что такое _настоящее_ ООП, я в курсе. :D В Java это сделано классно. В C++ так себе. Ну а про PHP я промолчу. :cool:
В таком случае вам должно быть известно, что на Java легко написать программу к ООП не имеющую отношения: ООП - это не среда

Frol
Совершенно согласна
 

Crazy

Developer
Автор оригинала: untied
И что такое _настоящее_ ООП, я в курсе. :D В Java это сделано классно.
Друг мой, чистА шоб ты знал: Java -- один из самых ублюдочных вариантов реализации ООП.
 

vitus

мимо проходил
Originally posted by Crazy
Друг мой, чистА шоб ты знал: Java -- один из самых ублюдочных вариантов реализации ООП.
да, что-же тогда говорить об ооп в пхп :) в том числе и в 5-м?
имхо на пхп совсем неудобно писать большие-сложные системы, тут даже контроль типов не поможет, хоть тресни.
опять-же имхо: каждой задачке-свой инструментик...

закрывайте тему, уже бред пошёл.

зы : зато жаба на данный момент - самая развитая технология
 
Сверху