LINUX.ORG.RU
ФорумTalks

[сама наивность] А чем плох PHP?


0

0

Нет, ну серьёзно. Что в нём плохого по сравнению, скажем, с питоном или рельсами? Только вот не надо про типизацию, скорость выполнения и синтаксис. А то думаю может пересесть с пыха, раз его все так не любят


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

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

Он скорее не плохой, а слабенький.

Тогда Python плохой, потому что нет «продвинутых» шаблонизаторов или биндингов к Tomcat, Java плохая, потому что нет вменяемого биндинга к Ogre3D и т.п. :)

Не зачет. Мы сейчас говорим о масштабных нагруженных веб-проектах. И для них PHP подходит плохо.

Так что тут корректно говорить не о том, что PHP плох, как язык, а о том, что в _вашем конкретном_ случае он подходит хуже Python'а

Наш «конкретный случай» охватывает достаточно много достаточно популярных технологий, так что можно объективно судить о применимости. PHP для сайтов-визиток. Точка.

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

вот это уже вменяемый текст. конечно php создан просто как язык для динамической генерации страниц на web сервере и он плохо приспособлен для более сложных задач в энерпрайзе со сложным взаимодействием между разными сервисами (исключая таких простых как работа с SQL).

В точку.

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

>Продукты на которых сайты которые делаюся на пыхе будут делатся мышкой и парой конфигов.

Это уже сейчас можно. Полно CMS разного уровня. Что характерно, они, почему-то, тоже на PHP...

Подумай что случилось с делфи который обладал пыховыми свойствами.


Каким боком-то? Тогда, скорее, VB обладал в какой-то степени «пыховыми свойствами». Так он жив до сих пор. 5-место на Tiobe. А Дельфи, который, кстати, был на весьма строгом Паскале, умер не от своей простоты и не от того, что его вытеснили. А из-за непродуманной политики Борланда...

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

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

ЛСДшник чтоле?

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

> PHP для сайтов-визиток. Точка.

Ты вообще кто такой, чтобы точки ставить? Иди, молокосос, на свои интересные проекты по тихому надрачивать.

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

>Он скорее не плохой, а слабенький.

Это не самый важный критерий для языка.

Мы сейчас говорим о масштабных нагруженных веб-проектах. И для них PHP подходит плохо.


Как и Питон или Perl :) Но это не говорит о том, что эти языки - плохие.

так что можно объективно судить о применимости. PHP для сайтов-визиток


«Нож плохо подходит для закручивания винтов, поэтому нож применим только для очистки яблок от кожуры».

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

rutracker. запланировано лежит 2 часа в сутки. Отключен поиск полностью кроме тем. Как думаешь почему?

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

>Как думаешь почему?

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

ЛОР тоже сегодня с утра был недоступен и нередко тормозит. Но это явно не от того, что Java плохо подходит для Web'а :)

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

>Но ЛОР - ни разу ни удобный, ни функциональный :)

Что ты называешь функциональным? возможность указать 53 месседжера в профайле? или переход результатов поиска через страницу с «искать в тексте сообщений» в бойду пользы с которой практически 0 если форум чуть больше списка друзей?

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

>rutracker. запланировано лежит 2 часа в сутки. Отключен поиск полностью кроме тем. Как думаешь почему?

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

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

Ты вообще кто такой, чтобы точки ставить?

А тебе всегда нужно знать должность/положение человека, что адекватно оценивать его суждения? Если так, то жаль.

dizza ★★★★★
()

> может пересесть с пыха, раз его все так не любят

Самое плохое в PHP - необходимость складывать PHP-скрипты в document root и потом закрывать доступ к кишкам сайта. В то же время, если писать на python, то скрипты надо складывать за пределы document root'а и прописывать один из них (главный) в WSGIScriptAlias либо fastcgi. Второй способ безопаснее.

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

>Что ты называешь функциональным?

Да хотя бы возможность посмотреть обновившиеся темы в отдельном форуме за последнюю неделю. Или возможность вставить картинку. Организовать опрос в теме когда захочется, а не когда его модераторы подтвердят на главной. Получать на почту извещения об ответах в выбранные темы. Да хотя бы банальный рейтинг сообщений организовать... Короче, проще перечислить то, что на ЛОРе есть, чем то, чего мне в нём не хватает :)

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

> Это уже сейчас можно. Полно CMS разного уровня. Что характерно, они, почему-то, тоже на PHP...

Сто характерно они как и форумы - это попытка конкурровать на рынке стобаксовых сайтов. Но сами они системы уже уровня для которых пхп-говно. Но живут они только потому что рынок этот малоинтересен даже для рубипитонного девелопера + хостятся на долларовых хостингах - что тоже связано с дешевизнй рынка.

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

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

>Самое плохое в PHP - необходимость складывать PHP-скрипты в document root

Э... А почему у меня на целой куче сайтов в DOCUMENT_ROOT вообще нет ни одного .php файла нет, а в остальных - только один загрузчик на 2-3 строчки? :)

http://img530.imageshack.us/img530/6673/nophp.png

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

>Полагаю, потому что у них нет хоть сколько-нибудь квалифицированных программистов

Полдозреваю что пхпбб+майскл - не подходит для таких нагрузок. Это про юзабельность форумов которых на пыхе много.

То же касается соответствующих цмс. Через некоторое время 100$вым клиентам станет мало шаблонов+каталог+фидбек - они захотят социальный веб2.0 на сайтах, и широкие возможности интеграции. И этому рынку придется крутится. А учитывая что это буду клиенты которые платят - платить они будут тому кто решит как не отключать поиск при росте нагрузки. и тут уже станет вопрос ребром на чем удобнее решать это.

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

>и пых исчезнет как делфи.

ПЫХ, безусловно, когда-то исчезнет. Но, боюсь, не в пользу Питона или Руби. Скорее всего, его вытеснит что-то иное. Иначе бы такое вытеснение уже произошло бы. Скажем, Perl был вытеснен Пыхом с доминирующих позиций буквально за пару лет. А вот Питон и Руби в этом направлении бодаются уже намного дольше, но практических результатов очень мало.

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

На PHP тоже так можно. А ещё есть биндинги GTK для PHP, но это уже другая история.

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

> Прогнозирую через некоторое время доростание верхнего уровня пыхеров до переписывания таких систем на рубизмеи

Простите, для чего это делать?

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

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

>Полдозреваю что пхпбб+майскл - не подходит для таких нагрузок. Это про юзабельность форумов которых на пыхе много

Приличный PHP-форум на нормально настроенной современной системе потянет динамический онлайн тысяч в 10. По крайней мере тормозной iPB на плохо настроенной машине и 4000+ онлайна я видел :)

А когда у меня на старой железке ресурсов на динамику не стало хватать, я форумы тупо на статику перевёл. Там уже лимитирует не онлайн, а количество обновлений. Но и тут лимитирует уже не PHP, а MySQL.

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

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

Потому что они бодаются с жабой и дотнетом. При этом подход используют как будто на жабе и доьнете пишет хомепаги. Изза этого парадокса - они не там не сям. Еслибы сообщество рор тратило усилия не на то чтобы кричать про замену j2ee - они бы уже захавали кучу рынка который имеет пых. Там у них возможности0 «ширее».

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

> Через некоторое время 100$вым клиентам станет мало шаблонов+каталог+фидбек - они захотят социальный веб2.0 на сайтах, и широкие возможности интеграции.

Хотеть то этого («сделайте мне как на яндексе, даю $100») они и сейчас изъявляют желания. И исполнители сих причуд странных находятся. Что из этого получается рассказывать нужды нет.

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

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

Согласен. Только зачастую правильная архитектура может быть построена только после ряда ошибочных (иными словами - правильная формулировка задачи получается только после попытки ее решения). И паттерны проектирования тут ни при чем.

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

>Откуда такой фанатизм может быть у разработчика со стажем?

разработчик со стажем знает что каждые несколько версий происходит эволюция вида «переписать легче чем изменить». Причины почему так происходит не буду уточнять - отдельный разговор. Но состояние того же phpbb как одного из популярнейших продуктов демонстрирует что в 2010 году (10 лет разработки) все так же отключают поиск в длинных строках ибо система ложится.

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

>Откуда вообще берутся такие ушибленные на голову^W переписывание всего и вся с нуля? Откуда такой фанатизм может быть у разработчика со стажем?

Стаж и желание переписывать плохо коррелируют. Зато такая фишка хорошо объясняется с точки зрения соционики :) Когда-то я на ЛОРе расписывал отличия БЛ и ЧЛ-программистов. Но сейчас не нашёл навскидку, а повторяться влом.

И в реальности я почему-то такое почти не встречаю. Видимо потому, что таковых отовсюду гонять поганой метлой.


Да нет, их полно. И нередко пишут популярные продукты. Скажем, Мэтт, написавший iPB - именно такой человек. Он какое-то время почти каждую минорную версию iPB с нуля переписывал :)

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

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

> Что из этого получается рассказывать нужды нет.

Это пока. Когда-то и за вебмагазин просили отдельные денги. теперь все в комплекте за 100 баксов с хостингом.

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

паттерны проектирования тут при том, что изначально шла речь вот про это:

нужный функционал размазан по разным классам

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

>разработчик со стажем знает что каждые несколько версий происходит эволюция вида «переписать легче чем изменить»

Только у ЧЛ :)

...

Я последний раз переписывал с нуля свой фреймворк лет 5 назад, если не больше, а последний большой рефакторинг делал 2,5 года назад. С тех пор только в ядре сделано уже более тысячи коммитов (http://trac.balancer.ru/bors-core/timeline), слеплено четыре крупных сильно различных по архитектуре сайте, под каждый из которых приходилось сильно расширять ядро, но рефакторить пока надобности нет :) Элементарно всё укладывается в последний вариант архитектуры.

Но состояние того же phpbb


Это ужасный пример. phpbb - как раз пример чернологичной разработки. Его расширение требует постоянного переписывания архитектуры.

KRoN73 ★★★★★
()

Мне кажется PHP бесперспективный и сложный для быстрого программирования. Еще были постоянные проблемы с безопасностью, но надеюсь в 2010 году то их уже решили... Или нет ?

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

Ну и ниша слишком узкая - web. Когда знаешь питон/руби/перл/жабу то не так ограничен заказами, а веб программирование - довольно уныло.

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

> Э... А почему у меня на целой куче сайтов в DOCUMENT_ROOT вообще нет ни одного .php файла нет, а в остальных - только один загрузчик на 2-3 строчки? :)

Потому что вы не соблюдаете заветы из книжки «для чайников за 24 часа». Знаете откуда столько на ЛОРе аналитиков по PHP? Почитайте первую главу книги по Django, где дается пример почему не PHP. Там дается сферический в вакууме пример на PHP, в котором, ВНЕЗАПНО, нарушаются все мыслимые и немыслимые правила элементарного приличия в быдлокоде. И далее делается незамысловатый вывод: Django лучше. Авторы сей книги настолько слабоумны, что не способны отличить фреймворк от ЯП. А аналитики ЛОРа настолько слабоумны, что ведутся на все что угодно, если дописать «это для избранного небыдла».

Все нелепости в этой теме, пронизанные детской наивностью, я устал комментировать. Просто сброд прыщавой школоты.

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

Еще вспомнилось - нестабильность, т.е. решение однажды написанное нужно потом при апдейте системы на сервере допиливать (или держать старый интерпретатор, что не всегда удается)

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

>Почитайте первую главу книги по Django, где дается пример почему не PHP. Там дается сферический в вакууме пример на PHP, в котором, ВНЕЗАПНО, нарушаются все мыслимые и немыслимые правила элементарного приличия в быдлокоде. И далее делается незамысловатый вывод: Django лучше.

Что за книга? В djangobook, насколько я помню, пример на питоне, а потом выводы, почему с использованием MVC-фреймворка писать лучше, чем обходится встроенными средствами этого же питона.

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

>Только у ЧЛ :)

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

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

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

> Когда-то я на ЛОРе расписывал отличия БЛ и ЧЛ-программистов.

О-шит... Просьба не продолжать, я даже не хочу знать что это. Опять какая-то ГСМ-шина по типу соционики.

Да нет, их полно. И нередко пишут популярные продукты. Скажем, Мэтт, написавший iPB - именно такой человек. Он какое-то время почти каждую минорную версию iPB с нуля переписывал :)

Это одиночка. Но попробуйте сказать своему начальству: вместо введения нового функционала мы полгода будем переписывать на новый язык, ибо пасаны с района уважать будут. Такого себе никогда не позволял. Если на текущем дерьме ещё можно продержаться - нужно зажать нос и работать. Такая работа у программистов - копаться в дерьме.

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

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

про пацанов с района - естественно. А грамотные технические аргументы и подшивка протоколов с комментарием «а я вас предупреждал» обычно работают.

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

> Что за книга? В djangobook, насколько я помню, пример на питоне, а потом выводы, почему с использованием MVC-фреймворка писать лучше, чем обходится встроенными средствами этого же питона.

Видать вы сильно молоды и не видели первых версий:

http://www.djangobook.com/en/beta/chapter01/

PavelR
()

Ща подумал, насчет такой вещи как php.ini. Мне кто-нибудь объяснит почему сис. админ должен контролировать, ограничивать и т.п. через хуки, которые описываются в php.ini веб-разработчика? Вот где у перла, питона или руби такая опция как Magic Quotes? Правильно, она есть только в php.ini (не берем расчет что это можно задать и через httpd.conf).

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

Гг, таки да. Но прямого сравнения языка и фреймворка я там не узрел, и прямо же написано - пример как не надо писать.

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

>админ должен контролировать, ограничивать и т.п. через хуки, которые описываются в php.ini веб-разработчика?

нужды хостингов насколько я понимаю. на жпбских хостингах это полиси с которыми запускаются лоадеры. например чтобы не дать сделать System.exit всему серверу.

r ★★★★★
()

> А чем плох PHP?
Тем, что он язык программирования, а среди них, как известно, хороших вообще нет.

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

>Ты же вроде вообще не программист?!

Ты тоже не программист =) Кодер максимум.

Есть такая вещь, как функции, вот, в них нужно общие куски выносить1


Различаешь вынесение общих кусков в функцию и вынесение функции в библиотеку? Посмотри как реализовано ООП в Перле

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

>нужды хостингов

Нет, мое мнение это плохая концепция продукта (PHP). Ограничить использование системных вызовов я еще понимаю. Но создавать эти ограничения должен не язык, а система, либо стороннее приложение, в данном случае очень подходит SELinux.
Ограничить клиента выставив максимальный размер загружаемого файла в 2 Мб и точка это уже излишки. Настройки для mysql и прочих модулей должен контролировать веб-разработчик (в паре с кем-то), а не админ хостинга.

Теперь внимание, спустя н-лет safe-mode больше нету :)
Пруф:
http://ru2.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode
Ъ:

This feature has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

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

> про пацанов с района - естественно. А грамотные технические аргументы и подшивка протоколов с комментарием «а я вас предупреждал» обычно работают.

Я слушаю ваши грамотные технические аргументы чем Python лучше PHP. У меня их нет.

* Python программисты немного дороже и их сложнее найти;

* Для PHP есть хорошего уровня разработчики, на Python их искать сложнее на порядок;

* Порог вхождения - сказки. Для любого языка есть книжки «за 24 часа», после которых кандидат гордо пишет его в резюме;

* Лучшее качество - не уверен. Разве очень жесткие рамки какого-то фреймворка бьют по рукам (за жесткие рамки придется платить, естественно);

* Не быстрее;

* Синтаксис, почет пасанов - это не серьезно.

Для себя я давно решил: PHP и Java. Python и Ruby - пустая трата времени, не понятно в какой нише.

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

>Для себя я давно решил: PHP и Java

Зачем тебе PHP, если ты умеешь программировать на Java? Про Tomcat чтоли не слышал? :)

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

>Для любого языка есть книжки «за 24 часа», после которых кандидат гордо пишет его в резюме;

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

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

>Настройки для mysql и прочих модулей должен контролировать веб-разработчик (в паре с кем-то), а не админ хостинга.

Админ представляющий маскль и разработчик - противоположные стороны.

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

> Ты тоже не программист =) Кодер максимум.

Ещё один. У меня в трудовой такого нет. И что такое «кодер»? Способ одних неудачников потешить свой ЧСВ на фоне ещё больших неудачников? Я этого не приемлю.

Для чего этот термин «кодер»? Есть ли какая-нибудь функция помимо как унизить?!

PavelR
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.