В чём проблема с PHP

Почему устойчиво хранится и передаётся ироничное отношение к PHP и PHP-разработчикам? Почему существует шутка “В своём резюме вы указали знание PHP, вам не стыдно?”? Язык-то популярный. И на нём пишут в топовых компаниях (Facebook вообще упорот на PHP).
До моих любимых попунктных утверждений немного истории. PHP появился в 1995 году. Языком программирования не являлся даже по мнению автора (гуглите интервью Лердорфа, их вообще любопытно почитать) — это скриптовый язык шаблонов. Чем дальше от вебовых задач применялся, тем было хуже (и снова Лердорф: “As you move more towards the back end, PHP usefulness starts to decrease”). Главная задача PHP — облегчать динамическое создание web-страниц. Всё. Именно этим PHP жил много-много лет. В привычном виде язык стабилизировался в виде PHP5 и на десять лет замер. В PHP6 не осилили Юникод. Наконец, в 2015 вышел PHP7. Вот в рассуждениях и размышлениях следует учитывать, что культурная гиря в IT/CS этим языком заработана парой десятилетий косяков, а не тем языком, который видите сейчас.

Во-первых, PHP со старта не для программирования. Утилитарный шаблонный язык для конкретных задач. Он не был предназначен для написания чего-либо, что отличается от “фигакни <ul></ul> по массиву, что выгребли из базы” (вот вам ещё интервью за 2013 (!) год). Всё дальнейшее развитие PHP заключалось в попытках выбраться из этой ямы (из похожей выкарабкивается JavaScript).
Во-вторых, слишком популярен. Взрывной рост интернетов привёл к взрывной потребности создавать тысячи страниц в час. Пусть убогих. Пусть глючных. Пусть всё падает уже на десятом посетителе. Но каждый киоск в Намибии захотел свою страничку в интернете. Потому на эту поляну побежали сотни тысяч школьников и студентов. В то время первым ответом на вопрос школьника “как заработать компьютером” было “иди писать странички на PHP”. Вы можете представить уровень? Я могу. Тогда даже на известных сайтах словить при заходе трейс от PHP было обычным делом. Тогда же “PHP-разработчик” стало синонимом “бестолковый генератор говнокода”.
В-третьих, повторюсь, уровень разработчика равен уровню решаемых им задач. Можно ежечасно бить себя пяткой в грудь, но если изо дня в день вы только и заняты, что генерацией магазинов, блогов (видел резюме чуваков, пишущих “WordPress-программист”) или форумов, вы… мнэ… короче, есть некоторая разница. Тем, кто считает иначе, советую пригласить на собеседование таких бойцов и провести по типовому опроснику Google / Facebook / Yandex / etc. Будет интересно.
В-четвёртых, культура. Тема, достойная отдельного эссе. Пока определяем интуитивно — это то, как разработчик решает задачи. На заводе это назвал бы культурой производства. Если все вокруг бухают, станки помнят царя (и сломаны), стружку не убирают годами, а в трудовых фамилии написаны с десятью ошибками, культура страдает. Невероятно сложно в такой атмосфере стать годным специалистом. PHP’исты и не становились. Типичный код — всё сунуть в один файл, перемешать уровни, прокостылить каждую вторую строчку и убежать к следующему заказу. Какую культуру знаний и умений может породить рынок, почти со старта диктовавший целью максимально быстрый выброс сайта в сеть (один фиг потом ещё десять Вась десять раз перепишут, ну или соседский Петя, он скоро на летних каникулах)?

Как итог, до 2005..2007 годов (по моей памяти) образ PHP’иста сложился. Это очень молодой человек без специального образования, фрилансово занимающийся любой доступной работой по созданию web-страниц, не заинтересованный в качестве работы, живущий вне контекста универсального программирования. Если нанимаешь PHP’иста в другую область, процесс начнётся с долгого и тщательного переучивания. Не всегда удачного. В IT/CS эти ребята занимали ту же нишу, что сейчас занимают приезжие из Средней Азии.
Как-то так.
PS. Понятно, всё это не мешает действительно толковым бойцам использовать инструмент действительно толково.

Добавить комментарий