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

Люди, критикующие платформу, или язык, делают это по довольно субъективным критериям или просто потому что так принято. Не так давно на ДОУ был небольшой срачик, где человек сказал что Scala в стопицот раз круче PHP, надо все делать на скале и писать корректные программы.

Я считаю что этот, и другие схожие аргументы (“пишите все на Go!”, “монолиты это зло”) невалиден, и вот почему.

Во-первых, невозможно рассматривать язык в вакууме. Для PHP есть невероятно огромная экосистема (не удивлюсь, если самая большая среди всех языков), библиотеки, туториалы, фреймворки и так далее и так далее. Это значит, что новичку будет очень легко вкатиться в разработку и приносить результаты уже буквально на следующий день. Языки без экосистемы, без критической массы пользователей, какими бы не были хорошими, сами по себе имеют мало промышленного смысла.

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

В-третьих, то, что кто-то не использует (или использует мало) вашу крутую штуку — это не их проблема, это ваша проблема! Это значит, что на вашей штуке сложно работать, что под неё нет инфраструктуры, что мало готовых решений и ответов на стековерфлоу, что не к кому будет пойти, поэтому как бы красиво всё ни было в теории, на практике пойдем проторенным путём.

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

Поэтому, когда говорят, что вот, эта технология совершенно негодная, я задаю вопрос в ответ “хорошо, но почему все её используют? Может быть, потому она простая в освоении, использовании и поддержке, в отличие от того, что предлагаешь ты?”

Человек всегда оптимизируется под KPI, которые ему выставляют. Как только всем станет понятно что ваша технология — самая лучшая или эффективная, тут же на ней начнут делать решения.

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

Выбирайте скучные технологии