К вопросу об ублюдочности PHP

Feb 05, 2006 03:36

Октябрьское обсуждение у potan, перевалившее за три сотни комментов, состоит в основном из флейма. Да, конечно, там много интересных реплик, ссылок, и рассуждений о том, "как оно должно быть", но более-менее систематизированного перечисления недостатков PHP нет (разные "невинные" мелочи вроде отсутствия вменяемого DBMS API или приколов типа setlocale( ( Read more... )

программирование, web-разработка, сравнение ЯП и компиляторы

Leave a comment

Comments 267

Часть первая. PHP vs Perl. qusk February 5 2006, 06:03:15 UTC
В целом - плоско. Честно говоря, уж извини, но на уровне хорошо(Перл)-плохо(ПХП).
Если уж мы сравниваем два языка - то будь так полезен упомянуть и про недостатки Perl по сравнению... (а, их нету? ;-))

Одним из наиболее серьезных недостатков PHP является наличие только одного единого namespace'а. PHP не поддерживает модули ни в каком виде. Все подключаемые файлы (файлы, а не модули!) разделяют то же самое пространство имен, что здорово затрудняет работу в команде - разработчикам приходится следить за именованием функций, чтобы не назвать их одинаково.
Уже давно и вполне нормально эмулируются через классы. ClassName::Method(); и всё.

Даже опытные PHP-программисты, бывает, проводят часы в поисках ошибок, связанных с забытым импортом глобальных переменных внутрь функций
_Опытные_ ПХП-программисты хернёй вида "использование глоб. переменных в функциях" не страдают.

Всё становится еще смешнее, когда дело касается встроенных переменных PHP. Если вы не импортируете внутрь функции, к примеру, переменную $HTTP_USER_AGENT, взятую от web- ( ... )

Reply

Re: Часть первая. PHP vs Perl. nuclight February 7 2006, 19:51:29 UTC
>Честно говоря, уж извини, но на уровне хорошо(Перл)-плохо(ПХП). Если уж мы сравниваем два языка - то будь так полезен упомянуть и про недостатки Perl по сравнению... (а, их нету ( ... )

Reply

Re: Часть первая. PHP vs Perl. qusk February 8 2006, 09:24:23 UTC
Плохо читаешь. Это именно разбор глюков PHP, а перл приводится лишь для сравнения
Таким образом можно "разобрать" хоть что в невыгодном свете.

Наверное, как раз потому, что их там использовать приходится через жопу :)
А я ведь не только ПХП знаю... Единственное, где их целесообразно использовать - язык си. В си++ и ПХП, затрудняют логику приложения и оборачиваются дополнительными часами отладки при больших проектах.

А времена, когда оно было неотключаемым (опции не было), и трудоемкость переписываиня старых скриптов, типа забываем.
Помним хоть в какой версии это было? И какая версия сейчас распространена.
Не пойму чего-то: ты о современном состоянии языков говоришь или копаешься в том, что было. Если второе, то нах?

Ой, да ну? Из [2]:
Очень реалистичный кусок кода, да.

Да это полный пиздец, уже за одно такое язык бы надо на помойку выкидывать.
Где правила, оговаривающие, когда нужно выкидывать язык на помойку? :-)

Reply

Re: Часть первая. PHP vs Perl. nuclight February 11 2006, 17:59:56 UTC
>Таким образом можно "разобрать" хоть что в невыгодном свете ( ... )

Reply


Часть вторая. Пригодность к разработке серьезных прил qusk February 5 2006, 06:27:35 UTC
PHP поощряет смешение разметки страниц и логики приложения, тогда как этого следует всячески избегать.
Посмотри на проблему с другой стороны: становится не нужен шаблонизатор.

Для PHP только недавно (!) начал разрабатываться стандартный framework
Нифига не понял. Как это "стандартный" фреймворк? Концепции фреймворков бывают совсем разные: от design-realisation, продолжаясь MVC, и наконец доходя до монстров event-based (есть и под PHP). Какой из них стал стандартным? (ворчливо: и зачем там стандарты?) И, наконец, самый волнующий вопрос: где он? Ссылку!

большинство авторов сайтов на PHP, похоже, вовсе не слышали ни о том, что такое framwork, ни об MVC-модели.
Ну и что? Это чьи проблемы?

Отсутствует и много других важных для масштабной разработки вещей. Например, для Perl есть DBI - единый интерфейс к базам данных. Для PHP же, чтобы сменить одну СУБД на другую, придется переписать кучу кода. Этим дело не ограничивается - для PHP нет ни хорошего HTML-парсера, ни удобных библиотек работы с WWW или почтовыми MIME-вложениями
Начал за ( ... )

Reply

Re: Часть вторая. Пригодность к разработке серьезных пр nuclight February 7 2006, 19:59:06 UTC
>Посмотри на проблему с другой стороны: становится не нужен шаблонизатор.

Так ты уж определись, выступаешь ты за фреймворки или этот примитивизм

>Какой из них стал стандартным? (ворчливо: и зачем там стандарты?) И, наконец, самый волнующий вопрос: где он? Ссылку!

Стандартный - значит от производителя, "шоб не пропустили". http://www.zend.com/collaboration/framework_overview

>Ну и что? Это чьи проблемы?
>Опять таки не аргумент. Ну вынуждены они - так это их проблемы. Причём тут разработка серьёзных приложений?

Если язык провоцирует ламерство - в жопу такой язык.

>Начал за здравие про шаблоны, кончил за упокой про pure-PHP...

На проблему надо на самом деле смотреть с другой стороны. А с какого хуя объявляется пригодным для веба язык, в котором ничего толком встроенного для этого самого веба нет, и всё равно нужны разнообразные навески, как и в прочих языках? Чем он лучше них тогда, спрашивается, еще и такой кривой низкоуровневой?

Reply

Re: Часть вторая. Пригодность к разработке серьезных пр qusk February 8 2006, 09:53:11 UTC
Так ты уж определись, выступаешь ты за фреймворки или этот примитивизм
Я выступаю за эффективный кодинг :-).
А этот "примитивизм" - знатная особенность языка, которая позволяет обходиться без дополнительных шаблонизаторов и прочего.
Но, конечно, как всегда нашлись умники, кои возомнили, что ПХП - это великий язык и он не для тупых дизигнеров, которые там не поймут теги и знаки долларов, поэтому понасоздавали нечто вроде smarty...

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

Если язык провоцирует ламерство - в жопу такой язык.
У меня немножко другое мнение на этот счёт. У того, у кого провоцирует это самое ламерство - тех в жопу. Программирование всё-таки мозги ещё требует...

А с какого хуя объявляется пригодным для веба язык, в котором ничего толком встроенного для этого самого веба нет
Про "ничего толком" - это примеры нужно.

... )

Reply

Re: Часть вторая. Пригодность к разработке серьезных пр nuclight February 11 2006, 18:06:38 UTC
>Я выступаю за эффективный кодинг ( ... )

Reply


nekuts February 5 2006, 06:44:07 UTC
Бредни "настоящего программиста"(ТМ).

Любому адекватному человеку вообще пофиг на чем писать. Мануалы сейчас вполне приличные к любому языку, и нужная функция находится за секунду. Примера "Hello World" и простейшей документашки достаточно, чтобы написать проект любой сложности.
А "профессиональный PHP-программист" - это как профессиональный пользователь молотка - заколотит гвоздь немного быстрее, не более.

Ненавижу, блядь, программистов.

Reply

qusk February 5 2006, 07:15:18 UTC
Любому адекватному человеку вообще пофиг на чем писать
Ну давай: си в руки и вперёд хуярить веб-приложение.

Примера "Hello World" и простейшей документашки достаточно, чтобы написать проект любой сложности.
Ага. А потом появляются продукты деятельности таких альтернативно-одарённых гениев. Засуньте обратно! :-)

Reply

nekuts February 5 2006, 07:50:03 UTC
А причем тут си для вэба?

>А потом появляются продукты деятельности таких альтернативно-одарённых гениев.

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

Заметь, сам ведь то же самое пишешь:

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

Только замени программер на человек и перечитай мой коммент выше.

Reply

qusk February 5 2006, 07:58:58 UTC
Ага, совсем одно и тоже.

Reply


Часть третья. Про серьёзные приложения qusk February 5 2006, 06:58:02 UTC
Заключительная часть ;-). Итак, пожертвую некоторым кол-вом своего времени и высскажу своё мнение о последней главе "Пригодность к разработке серьезных приложений", претендующей на вынесение вердикта программированию на PHP ( ... )

Reply

Re: Часть третья. Про серьёзные приложения nuclight February 7 2006, 20:05:01 UTC
>Дело в том, что нормальный программер не переходит куда-либо - он использует те средства которые наиболее целесообразно использовать для решаемых задач. В качестве средств предстают языки/библиотеки/шаблоны/движки и т.д ( ... )

Reply

Re: Часть третья. Про серьёзные приложения qusk February 8 2006, 10:15:18 UTC
Тогда неясно, в чем целесобразность именно PHP.
Это надо в сравнении показывать. Причём учитывать, как плюсы, так и минусы, а не только одно.

Обосновать квантор не затруднит?
Нет языка мега-универсального, могущего всё в самой эффективной мере по сравнению с другими.
Замыкаясь только на одном языке теряешь гибкость разработки, и в конце концов - умения эффективно кодить, независимо от выбранного языка.
Сам по себе язык - это всего-лишь инструмент. Не надо возводить из этого культ.

Ага, героически решим проблемы, которые сами перед собой поставили выборм именно PHP.
Нет. Мы их просто не создаём, эти потенциальные проблемы.

Нет, я конечно понимаю, что можно и из говна конфетку сделать. Но смысл тратить усилия?
и
А что, все перечисленные проблемы типа не существуют?
http://nuclight.livejournal.com/107170.html?thread=272802#t272802
самый первый ответ.

Reply

Re: Часть третья. Про серьёзные приложения nuclight February 11 2006, 18:13:36 UTC
>Это надо в сравнении показывать. Причём учитывать, как плюсы, так и минусы, а не только одно.

Вот что-то я плюсов вообще не вижу. Для больших проектов, естественно.

>Cам по себе язык - это всего-лишь инструмент. Не надо возводить из этого культ.

Так надо правильно выбирать инструменты. Зачем цепляемся за PHP ?

>Нет. Мы их просто не создаём, эти потенциальные проблемы.

Да прям там. Половина статьи об этом.

Reply


muxa_ru February 5 2006, 09:16:55 UTC
Например, для Perl есть DBI - единый интерфейс к базам данных. Для PHP же, чтобы сменить одну СУБД на другую, придется переписать кучу кода.

То есть DBI умеет переформатировать специфический постгресовский синтаксис в спцифический мускуловский синтаксис?

Reply

nuclight February 7 2006, 19:21:43 UTC
А шо, он у них в каждом же запросе отличается, да? На стандарт SQL типа все забили?
Не путай "кучу кода" и "часть запросов".

Reply

nekuts February 7 2006, 19:39:06 UTC
А можно про стандарт SQL подробнее? Что за стандарт такой?

Reply

nuclight February 7 2006, 20:07:24 UTC
Ну погугли на предмет SQL/86, SQL/89, SQL/92, SQL:1999, SQL:2003

Reply


Leave a comment

Up