Когда умрёт PHP

14.06.2021 в 19:39
1372
+7

Один из самых часто задаваемых вопросов в нашем телеграм-чате: "Когда PHP умрёт?". Попробуем разобраться, откуда берутся такие вопросы, и попробуем предсказать, когда же PHP умрёт.

<?php
die('It works :P');

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

  1. Большое количество проектов уходит на другие языки
    Интересно узнать примеры таких проектов и их масштабы. Как правило, большие энтерпрайз-приложения не переписывают на что-то другое. Почему? Да потому что это очень дорого и нецелесообразно. Пока есть специалисты, умеющие писать на нужном вам языке, а тем более имеющие желание это делать на нём - проще оставить код без изменений. Любое изменение в уже работающей системе - это потенциальные новые баги. Да, PHP медленнее компилируемых языков, тут не поспоришь. Однако, то, для чего он предназначен, не требует большой скорости. Вот скажите, для вас есть разница, сгенерится страничка за 20мс или за 200мс? Да никто этого никогда не заметит, ни один живой человек. А ведь это основное назначение этого языка - веб-разработка. Да, скорость работы становится важна, когда проект становится высоконагруженным, там это становится критичным, потому что есть большая разница, обрабатывается на сервере одновременно 500 запросов, или 5000 (потому что выполняясь дольше они накладываются друг на друга). Но и тут проще решить проблему с помощью масштабирования инфраструктуры, чем переписыванием. В целом, если вы точно знаете что у вас будет хайлоад проект, что он взлетит - берите компилируемый язык, тот же го отлично подходит для целей веб-разработки, и работает в разы быстрее пыхи за счет отсутствия фаз считывания данных с файловой системы и интерпретации на лету. Для всего остального - PHP будет отличным инструментом, позволяющим в кратчайшие строки наколбасить интернет магазин/блог/корпоративный портал и тому подобное. И ни один владелец бизнеса не будет просто так предлагать переписать за деньги то, что и так работает, и что можно поддерживать без лишних издержек.

  2. Работодатели говорят о том, что PHP-разработчиков становится искать сложнее
    Что-то мне подсказывает, что речь идет о компаниях в регионах. Реальность такова, что за последние пару лет крупный IT-бизнес начал предлагать удаленную работу для людей в регионах, предоставляя возможность работать на больших, интересных, значимых проектах и при этом получать московские зарплаты. Это факт, малый бизнес всё меньше и меньше способен выживать в сегодняшних реалиях. Корпорации скупают успешные проекты, открывающие новые рынки, забирая весь рынок себе, вбухивая в них кучу бабок. С такими проектами нет смысла тягаться, они могут себе позволить работать в убыток долгое время, обладая большими ресурсами, а уже после того как не осталось конкурентов, начинают качать бабло на полную. Я не берусь оценивать, хорошо это или плохо - это реальность. Разработчики с бОльшим желанием пойдут на проект, где есть возможность сделать что-то действительно масштабное и важное, как бы попсово это ни звучало, делающее мир лучше. Да и материальная сторона вопроса тоже решает. И да, такие корпорации без труда находят разработчиков на любые позиции, даже на умирающий PHP.

Не из чата

Помимо того, что постоянно мусолят в чате, мне доводилось слышать доводы в реальной жизни в пользу того, что PHP-говно и надо срочно переписывать всё на микросервисы на го. Главные аргументы:

  1. Хрен пойми как передавать параметры в функции. Якобы, никто не может запомнить каким аргументом передавать массив, а каким коллбэк в функции array_map и array_walk. При этом сторонники го могут использовать в нем лишь цикл for для обхода массива. Что-жж, юзайте foreach, если не можете воспользоваться подсказкой IDE, если забыли аргументы функции.
  2. Mixed-значения, возвращаемые из функции. Да, легаси. Да, дичь. В нормальном языке для исключительных ситуаций стоило бы использовать исключения. Здесь это продолжают тащить из версии в версию для поддержки обратной совместимости. Кого-то и вовсе бесит отсутствие обязательной строгой типизации. Однако, вы всегда можете договориться в рамках команды писать с типами, и вообще не писать говнокод.
  3. Необходимость писать доллары. Ну да, согласен, лучше писать var (на самом деле нет. посмотрите лучше, как сделано в го, вот там реально збс).
  4. Вместо того чтобы проверить успешность выполнения функции с помощью обработки исключения или обработки возвращаемого значения, приходится вызывать другую функцию. Здесь речь о json_decode, в частности. Полностью поддерживаю, дичь несусветная. Благо, в новых версиях впилили возможность бросания исключения в случае кринжа.

Когда же всё таки умрёт PHP

Гугл тренды говорят, что скорость умирания замедляется. Но в целом, кажется что смерть неизбежна и случится в ближайшие лет 50.

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

loader
14.06.2021 в 19:39
1372
+7
Логические задачи с собеседований