Руки прочь от PHP!

Сегодня мне в асю кинули вот такой вот материал для размышления. К сожалению в 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# это только мое предположение, аргументы пока оставлю при себе) кодеры.