Почему PHP сохранит свои позиции как ключевой язык для бэкенда веб-приложений в 2024 году

Аватарка пользователя Filipp Shcherbanich

Рассказываю, почему PHP не сдаёт позиции под напором новых технологий и остаётся лучшим помощником для создания веб-проектов любой сложности.

Обложка поста Почему PHP сохранит свои позиции как ключевой язык для бэкенда веб-приложений в 2024 году

Блуждая по сети, можно неоднократно наткнуться на мнения, согласно которым «PHP уже не тот», а 2007-й, когда он занимал топовые позиции, уже не вернуть. Считая, что современные реалии требуют новых инструментов, такие комментаторы, однако, не предлагают никаких альтернатив. И это не удивительно, ведь факт остаётся фактом: будучи лидером в былое время, PHP остаётся им и до сих пор.

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

PHP: как всё начиналось

Цель не только оправдывает средства, но и определяет их: то, каким стал PHP, напрямую связано с задачами, ради которых он создавался. Чтобы понять, почему PHP был и по-прежнему остаётся популярным в вебе, стоит вернуться к истокам его появления и лучше узнать его корни.

Свой первый день рождения PHP сыграл в 1994 году, когда датский программист Расмус Лердорф решил создать набор скриптов на C для управления своим резюме и отслеживания посещений своего веб-сайта. Отсюда и его название, которое поначалу звучало как «Personal Home Page Tools», а затем, когда Расмус открыл код для общественности, стало известным всему миру как «PHP: Hypertext Preprocessor».

Как видите, уже на заре своего появления PHP был разработан как основа для веб-проектов. За годы существования PHP претерпел множество изменений, и из простого набора скриптов для управления веб-страницами он вырос до полноценного ЯП, используемого для сложнейших веб-проектов, но его суть осталась той же, что и добрых 30 лет назад: из веба он пришёл, в вебе он и остался

Будучи простым и гибким языком, PHP привлёк внимание тысяч и десятков тысяч программистов, которые смогли с его помощью быстро и без лишних усилий создавать нескучные сайты. Отдельным плюсом стала та его особенность, которая позволяла разработчикам встраивать код прямо в HTML разметку, что обеспечило невероятную по тем временам простоту и гибкость в создании динамических веб-страниц. Ну и конечно, с появлением таких популярных Фреймворков и систем управления контентом, как Laravel, Symfony, WordPress и Drupal, позиции PHP на рынке стали укреплены еще сильнее.

К слову, выше названные инструменты и сегодня невероятно популярны в среде как начинающих, так и опытных разработчиков, что добавляет ещё один (не)лишний плюсик в его карму.

Конкуренты? Вы серьёзно?

Тотальная цифровизация сделала веб-разработку нужной, как никогда прежде. Проникая во все сферы человеческой жизни, Сеть стала её обычной составляющей. Сайты, блоги, интернет-магазины должны быть у каждого предпринимателя, ведь найти клиента, не имея ничего из выше названного, довольно трудно. Поэтому кроме PHP на рынке представлены и другие языки программирования, так или иначе с ним конкурирующие. Но добиваются ли они похожего успеха в вебе? Рассмотрим вопрос внимательнее.

JavaScript / TypeScript (и Node.js)

Традиционно JavaScript использовался для клиентской разработки, но с появлением Node.js он также стал применяться и для серверной разработки. Это существенно увеличило его популярность и аудиторию, так как разработчики теперь могут использовать один и тот же язык как для фронтенда, так и для бэкенда. Это значит, предприниматели теперь могут сократить бюджет на содержание штата программистов, а JS-программисты получили возможность существенно расширить свои компетенции. Node.js подходит для приложений, требующих высокой производительности и асинхронности, но при этом бэкенд на JavaScript сильно уступает PHP в популярности. Напомним: PHP написаны такие самые популярные системы управления контентом, как WordPress, Joomla!, Drupal.

Свыше трети всех сайтов Интернета сделаны на WordPress, а это говорит о многом.

Python

О популярности Python’a не слышал только удав: сегодня этот ЯП так широко разрекламирован, что воспринимается многими как эталон разработки. Да, он применяется во многих областях (в том числе и для разработки бэкендов веб-проектов), да, он обладает мощными фреймворками для написания бэкенд части проектов, такими как Django и Flask, и да – он прост в обучении и требует минимальных трудовложений со стороны разработчика. Но, несмотря на то что Python хорош для комплексных приложений и работы с большими объемами данных, PHP существенно превосходит его в производительности и возможностях для разработки веб-проектов, что не удивительно: ведь, в отличии от Python, он создавался именно для этого. Основная же сфера применения Python – это DS и анализ данных. Там, вероятно, ему нет равных, но мы то сейчас говорим именно о веб-разработке

Java

Java давно показала себя надёжным ЯПом с такими мощными и масштабируемыми фреймворками, как Spring и Spark. Она отлично подойдёт для реализации корпоративных веб-приложений для компаний, у которых есть соответствующие финансовые и временные ресурсы. Увы, чрезмерно большой бюджет и значительные временные затраты на разработку делают его не самым лучшим вариантом для представителей малого и среднего бизнеса, а тем более стартапов, у которых средства ограничены. Для них будет гораздо более правильным выбрать PHP, который куда проще в управлении и быстрее в запуске.

C#

Как и у Java, у C# имеется масса мощных инструментов и библиотек для создания масштабируемых веб-приложений. Зато, в отличие от него, PHP более универсален и не так зависит от конкретной экосистемы. PHP более доступен для широкого круга разработчиков, проще в изучении и настройке, то есть он не требует чрезмерно завышенных сроков для выполнения проектов любой сложности, в этом и есть его суперсила.

Go (или Golang)

Детище Гугла, Go становится всё более популярным благодаря своей производительности. Golang хорош для веб-сервисов с высокой нагрузкой, справляясь с ней с поистине завидной эффективностью. Кроме того, его синтаксис невероятно прост в освоении, даже ходят слухи, что, используя его можно стать Senior-ом за 30 дней с нуля. Однако Go пока не дотянул до охватов PHP, по-прежнему оставаясь где-то в сторонке: в реальности разработка на нём куда медленнее, а количество инструментов и библиотек для создания сложных проектов – значительно ниже. Хотя сегодня многие разработчики эффективно используют Golang в связке с PHP – не заменяя, но эффективно его дополняя.

Так что же в итоге

Сравнивая языки программирования, многие нередко обращаются к данным опросов. Что ж, сделаем то же самое. Яркий пример: согласно данным PYPL Index и Stack Overflow’s Developer Survey 2023 и TIOBE Index, PHP занимает 6-ю или 7-ю строчку. Такие результаты могут сложить ложное впечатление, что он утратил свои позиции среди языков для создания бэкендов веб-приложений, но это не так. Всё дело в том, что занявшие более высокие строчки языки призваны реализовывать более широкий спектр задач в отличие от PHP, нацеленного в основном на бэкенд-разработку.

Например, тот же Пайтон широко применяется в машинном обучении и анализе данных, но для для создания бэкенда веб-приложений его использование далеко не всегда оправдано. Если посмотреть на JavaScript, то можно увидеть, что он в основном применяется на клиентской стороне веб-разработки: там у него действительно практически нет альтернатив. Ну а других языки, «обогнавшие» PHP, чаще всего просто используются во многих других сферах, где разработка далеко не всегда связана бэкендом веб-проектов.

Поэтому и в 2023, и в 2024, и наверняка ещё и в 2025 году можно будет с уверенностью говорить о PHP как о лидирующем языке программирования именно для бэкенд-разработки веб-проектов, которая и является его основной целью.

Будущее PHP

PHP не стоит на месте, а поддерживается и бурно развивается огромным сообществом разработчиков и такими крупными организациями, как PHP Foundation и Zend. Скорость его эволюции впечатляет: частые и постоянные релизы базовых и минорных обновлений постоянно улучшают язык, позволяя ему оставаться актуальным в новых реалиях. Разработчики PHP стремятся следовать графику выпуска версий, чтобы обеспечить стабильность и предсказуемость для пользователей; новые минорные версии PHP теперь похоже выпускаются ежегодно. Так, совсем недавно была выпущена версия 8.3, которая привнесла значительные улучшения в производительности и функциональности языка. Среди ключевых нововведений стали типы констант, которые расширяют возможности типизации в PHP, добавление функции json_validate, из названия которой сразу становится понятна ее цель, расширение возможностей Randomizer-а и многое другое. Возможно, олды помнят, как PHP иногда критиковали за низкое качество некоторых программ, однако всё это в далёком прошлом: ситуация меняется, и только в лучшую сторону. Разработчики накапливают опыт, а язык становится более строгим и безопасным. Ошибки на этапе написания кода? Нет, если браться за дело с прямыми руками!

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

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

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

PHP
Бэкенд
9082