Руки прочь от PHP!
15 февраля 2007 года
Сегодня мне в асю кинули вот такой вот материал для размышления. К сожалению в Yandex'е я так и не смог найти сайт с оригиналом текста, но все же вот этот текст неизвестного автора:
«Распространенность php вызвана легкостью установки его на сервере, малым количеством парадигм, заложенным в язык (императив + недо-ооп) -» легкость изучения а т.ж. тем, что это именно узко-нишевый язык, заточенный под веб, в отличие от java, ruby, python, perl - языков общего назначения, сравните распространенность php и perl/python на десктопе и все станет на свои места.. По большому счету это не язык, это всего лишь _препроцессор текста_, у него нет даже виртуальной машины, он не приспособлен для long-running-processes, на нем даже не напишешь stand-alone сервер, нет потоков, это паталогически _не правильный_ язык (если все же рассматривать его как язык), который подобает использовать ясно осознавая эту всю его неправильность - отсутствие модулей (пакетов, неймспейсов), отсутствие высокоуровневых типов данных, огромное количество глобальных не очень системно названных функций вида another_this_very_useful_function (ввиду отсутствия модулей), перемешивание логики работы и отображения, не способствующее MVC, отсутствие такого полезного высокоуровневого средства как исключения: Все попытки как то окультурить это дело (Smarty, всякие ORM-ы) производят впечатление мягко говоря использования средства не по назначению. php идеально подходит для не очень больших обособленных програмных комплексов типа форумов, гостевых, различных других веб-скриптов, кое-как для небольших CMS. Для других более сложных enterprise веб-приложений использование PHP возможно, но не обосновано в виду слабой масштабируемости (как там насчет кластеризации, load-balancing'а), не модульности, отсутствием высокоуровневых средств языка. В этом сигменте гораздо лучше подходят языки общего назначения, позволяющие писать приложения, выполняющиеся на специальном application server'е. А использование PHP CLI это вообще из ряда вон выходящее извращение:»
Итак, по пунктам:
1) По каким критериям автор оценивал что является языком программирования, а что нет. По легкости изучения? Так что же паскаль (delphi) тоже в трешь? Или узкая заточка под конкретные цели тоже теперь переводит язык программирования в разряд «всяких там процессоров». Может тогда Фортран тоже в трешь, на нем все рано только только считать - «недоязык»?
2) «сравните распространенность php и perl/python». И что? Что под наш всеобъемлющий Windows пишется много программ на perl? А ведь пока никто не отменял монополию Microsoft на рынке десктопов. Работе с Windows учат в школах, в СУЗах, и даже в высших учебных заведениях. Но это уже другая тема. А если речь шла о unix десктопах, то тем более пример «ни о чем». Полно системных утилит написанных на PHP. И работают они на равнее с perl утилитами.
3) «у него нет даже виртуальной машины» - у Си тоже нет виртуальной машины (поправьте меня Си кодеры, если я отстал от жизни). Так что даже Си в трешь?
4) « на нем даже не напишешь stand-alone сервер». Да ну! Согласен, что писать на php серверное ПО это чушь, но, тем не менее, вполне реальная чушь. А что на Perl писать stand-alone сервер менее бредовая идея?
5) Как это в PHP нет пакетов расширений. А как же PEAR? Автор явно даже не «пробовал PHP». Об этом говорит такая фраза как «отсутствие такого полезного высокоуровневого средства как исключения». В PHP есть исключения (по крайней в пятой версии точно есть).
6) «перемешивание логики работы и отображения». Вот это называется, неудачная попытка перевернуть все с ног на уши. Это с каких пор наличие опций считается недостатком. Все профессиональные php кодеры полностью разделяют логику и представление. А возможность вставлять в HTML куски кода только помогает в изучении языка. Но, об легкости изучения я уже писал.
7) «кое-как для небольших CMS». Автор явно не в теме того, что уже написано на PHP.
8) «как там насчет кластеризации, load-balancing'а». А как там на счет load-balancing'а на уровне сервера? Кластеризация? Ну да: разве нельзя сделать кластер из серверов с PHP? Не понимаю причем тут именно PHP: или тут пыталась пройти мысль об отсутствии в PHP средств для программирования параллельных вычислений. В чистом Си их тоже нет и что?
Вот такое вот пишут о PHP обиженные C# (про C# это только мое предположение, аргументы пока оставлю при себе) кодеры.
Оставить комментарий
Оставлять комментарии могут только зарегистрированные пользователи.
Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.
Комментарии
1. Revan / 26 ноября 2010, 12:46:49

Кажется что этот бред писал далекий от PHP человек. Facebook - это что? 2-й в мире по посещаемости сайт после Google, и написан он на PHP родимом. Что касается легкости изучения - да, но вот писать на нем грамотно еще сложнее чем на Си. И что меня удивляет еще больше, на кой черт кому-то писать клиент-серверные приложения на PHP? Он не для этого предназначен. Да на яве можно написать сайт, только мне жутко интересно сколько времени на это уйдет, да и сомнений нет что это будет лишь кривой пародией на сайт.

Меня просто удивляют такие вот уникумы... да вы назовите сначала хоть одну единственную причину, по которой php не может выдерживать нагружаемые проекты. Такие люди научились лишь читать и пересказывать глупости сказанные другими недо-программистами, а своей головой видать думать совсем разучились. Facebook зарабатывает миллиарды долларов, наверное потому что написал его на языке, на котором нельзя написать ничего серьезного. Если судить по их логике, то нужно всем дружно перейти на ассемблер. Да все игры создаются на основе разработанных кем-то движков! Множество программ создаются на базе чего-либо, как и сами компьютеры совершенствуются на базе более старых версий, только полный идиот будет строить свой велосипед, когда все уже готово, и на изготовление этого было потрачего очень много времени и задействовано очень много людей. Если вы сами хотите написать то, на что пошли годы - удачи, но ничего больше чем быдлопрограмму вы не напишите ;)
2. vibor / 16 ноября 2009, 03:25:35

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


3. Web-Evt / 14 августа 2008, 18:13:28

Люди, вам делать нечего?) Вы все программисты, вы все практически "из одного теста" сделаны. Вы же умеете мыслить как никто другой на этой планете! :) На вас построен компьютерный мир, интернет и всё информационное пространство! А здесь развели непонятно что. Ваш спор напоминает цитату Баша с форума врачей на тему "Что лучше: скальпель, термометр или клизма?" 

Разные инструменты созданы для разных целей.
Такой бред напороли в комментах, аж читать противно. Если судить по вашим комментариям и этой статье, то ассемблер - вообще самый крутой язык, потому что на нем можно написать что угодно. Только вот сколько на это сил уйдет и времени? Какой нормальный человек станет писать сайт на ассемблере, си, паскале и т.д.? Кому это будет нужно? Вы ведь не используете велосипед для подводного дайвнига? Большинство системных программ написаны на си(++), драйверы написаны на асемблере и так далее. А большинство веб-приложений написаны на PHP, потому что это самое удобное решение для такой задачи.
Всем спасибо.
4. Злобный Кыс / 07 июля 2008, 14:21:41

имхо, пхп отличный язык в плане разработки динамических страниц, да и у меня лично пхп страницы открываются куда быстрее, чем всякие так asp'ы.


5. @WWW / 07 февраля 2008, 13:26:00

Как то неудачно выглядит попытка обосновать ПхП ) Во первых на некорректной статье основываются причины, во вторых.. ну как сказать.. Лично мне ПхП не нравится порой по идеологии, он реально недо - ОПП, сам програмлю или На C# ( вообще то аналог джавы, не забывайте про это )) или на С++ или Си. Добивает именно пародийное сходство ПхП с Вузуал Бейсиком ( ДоНэтовского ).

Надо более корректно указываьт как и преимущества так и недостатки ( именно самого PHP), как то там : плюс - простота, минус - он при каждом запросе интерпритируется ( может сказаться на производительности ) и т.д. ))
6. FatDevil / 19 марта 2007, 14:17:11



1. Perl сделал _одмин_, который заипался логи парсить на awk
2. PHP написало уебище (nothing personal, возможно он очень мил и приятен в общении и водки выпить), которое делало "движёк для своей домашней страницы" вот Personal Home Page оно и осталось как его не переименовывай
3. Python написал Математик, в Университете
дальше третий пункт разворачивать не стану, и так уже достаточно
написал для того, чтобы в том числе людей программированию обучать
поэтому Python - это язык для людей
Perl - для админов, которые по образованию к тому же лингвисты, если я правильно помню тему диплома Ларри
а PHP - для голодранцев, которые сами себе гостевую книгу пишут
пока похапесты "завоёвывали рынок web приложений"
на Python шпарили математики и физеги :) не обламываясь :) а это плять Школа. ее так просто не пропьешь, системный подход, системный подход, и "люди привыкли писать статьи так, чтобы другим понятно было"
7. RussianSpy / 16 марта 2007, 15:15:42



Если ты не умеешь этого делать, то это вовсе не означает, что это невозможно. Не стоит делать выводы о языке на основе своей неграмотности.
8. foxweb / 15 марта 2007, 21:13:49

да уж, помню как RussianSpy мучился с шифрованием ;)

насколько видно лично мне (я могу ошибаться) - сейчас всё идёт к тому, что PHP становится потихоньку языком общего назначения и как раз ведутся работы по его эээ... "окультуриванию".
если вспомнить - с чего всё начиналось, то прогресс очевиден. да такой, что никакому сишарпу не снилось. ибо поддерживается он мощной идеей под названием "коммьюнити" (не побоюсь даже сказать - корпоративное коммьюнити).
9. RussianSpy / 14 марта 2007, 14:25:54

Не стоит обращать внимания на таких "умников". Это все равно что купил машину и начать возмущаться что "летать не умеет, копать не умеет, максимальная загрузка всего 1 тонна, заправлять спиртом нельзя - не автомобиль а какая-то пародия". 

Язык молодой и разработчики прекрасно осведомлены о его проблемах. На мой взгляд основные проблемы РНР: namespaces, отсутствие типизации (и как следствие исключительная сложность реализации "взрослых" алгоритмов шифрования).
Виртуальная машина ему и не нужна - другая задача у языка (кстати сравнение с С++ в данном вопросе неуместно тк С++ компилируемый язык, а виртуальные машины присущи интерпретируемым).
К тому же никто не говорит что на РНР надо писать GUI приложения или демоны. В своей нише он очень мощный игрок. А для демонов и GUI есть Java и С++
10. xexsus / 02 марта 2007, 14:51:39

Сравнивать PHP и C# (с .NET) глуппо, язки предназначины для разных целей. Ну ладно, возьмём из .NET ASP. Теперь есть что сравнивать. Но ASP это не язык программирования, а лишь технология, а программировать приходится на Basic. Среди Cpp подобного PHP и Basic я выбираю PHP.


11. Develop7 / 02 марта 2007, 11:33:02

Хорошо, а что насчет этих пунктов:

- Цитата:нет потоков
- pcntl не в счет (работает только на никсах и реальной многопоточности
не обеспечивает) - Цитата:отсутствие модулей (пакетов, неймспейсов)
и, как следствие,
Цитата:огромное количество глобальных не очень системно названных функций. Невозможность разбить проект на неймспейсы порой просто убивает.
И исчо пара слов.
Скажем так, если сравнивать РНР и C#, то обиженными окажутся как раз РНР-девелоперы. Афтар каментов
использовать сишарп. И дотнет.
Показателем "стройности/правильности" языка программирования, на мой взгляд, явлется наличие для него инструментов автоматизированного рефакторинга. Для C# таких тулз полно. 3 шт. назову навскидку. Для РНР аналогичных инструментов я не знаю.

