Почему языку PHP годами пророчат «смерть», но он до сих пор актуален?
Колонка Константина Сороки, Senior Software Developer в DataArt
Константин Сорока, Senior Software Developer в компании DataArt и лектор курса «PHP-developer с нуля», заинтересовался этим языком, еще когда учился в школе, и теперь уже более 10 лет использует его для работы.
В своей колонке для robot_dreams разработчик рассказывает, почему PHP часто критикуют, какие есть преимущества у этого языка и почему есть смысл изучать его новичку.
Константин Сорока, Senior Software Developer в компании DataArt и лектор курса «PHP-developer с нуля»
Почему я решил писать на PHP и как строил свою карьеру
Язык PHP является одним из самых распространенных языков в сфере веб-разработок. С этим языком программирования я столкнулся еще в школе, где-то в начале 2000-х годов. С того времени я уже имел представление, что это такое и для чего этот язык используется.
Опыта программирования на этом языке у меня больше 10 лет. Из них коммерческий опыт (работа на компанию) — примерно 8. До этого у меня были фриланс-проекты, благодаря которым я получил опыт общения с заказчиками и познакомился с PHP-фреймворками. Первой компанией, где я начал работать, была веб-студия Sponge D&D. В ней я начал свой путь сразу как Fullstack-разработчик, благодаря чему я более плотно познакомился не только с коммерческой разработкой на PHP, но и с JavaScript, который используется в клиентской части приложений.
До того, как я стал фултайм-разработчиком, я работал в IT-компании на позиции, связанной с менеджментом. Последняя моя должность — замруководителя финансового отдела компании. Я видел с другой стороны, как ведется разработка, какие запросы нужно ставить разработчику, как анализировать продукт, чтобы можно было его улучшить.
Предвзятое отношение к PHP
С предвзятым отношением к языку PHP я сталкивался чаще всего в постах на форуме. Что-то вроде: PHP — это язык, который уже умер или умирает. В реальной жизни подобное можно услышать нечасто.
Язык программирования — это всего лишь инструмент. Насколько он хорош или плох, полностью зависит от разработчика, который его использует.
Это мнение, что PHP — плохой язык, мне кажется, возникло с тех времен, когда он только появился в середине 90-х. Тогда этот язык был смесью PHP-кода и HTML-кода в одном файле. Этот код было очень трудно читать, к тому же не было никаких стилей кодирования, каких-то подходов или стандартов. Если сравнивать Java тех лет и PHP, то разница будет заметна. Казалось, что PHP — это язык, который написан на коленке, и он не сможет долго прожить. С тех пор многое изменилось. Кроме, наверное, единственного — традиции хейтить тот или иной язык.
Сейчас PHP занял свою нишу как язык для веб-программирования. На нем работают около 77 % всех сайтов в веб-пространстве. Мне кажется, именно это является весомым показателем того, что с языком все в порядке.
Конечно, PHP, как и любой другой язык, может «умереть». Но, по-моему, PHP будет актуальным языком еще по крайней мере лет десять. Вообще мне трудно сейчас сказать, с такой статистикой, при каких условиях другой язык может заменить PHP в этой нише. Для этого все сайты, использующие PHP как язык для серверной части, должны быть переписаны или забыты в веб-пространстве.
Основные преимущества и недостатки PHP
Основное преимущество — это то, что этот язык программирования является узкоспециализированным. Он был создан как серверная часть, с которой взаимодействует пользователь. И с течением времени эта сфера остается за PHP. То есть разработчик с самого начала может сфокусироваться на одной сфере. Если сравнить с другими языками, например, с Python, то в начале разработчику совсем непонятно, в каком векторе надо двигаться. Сделать этот выбор бывает достаточно сложно, и это одна из причин увеличения порога входа.
Еще одним преимуществом является то, что комьюнити PHP очень развито. Человек, который начинает программировать на этом языке, использует тот или иной инструмент — какой-то фреймворк или готовое решение. То есть специалист с легкостью может найти ответ на свой вопрос. Вряд ли разработчик может столкнуться с такой ситуацией, когда проблему кто-то еще не решил.
Этот язык, поскольку он существует очень давно и используется в вебе, поддерживается почти всеми актуальными серверами. Это дает универсальность в выборе среды. То есть ваше приложение будет работать. Это весомый «плюс» в пользу PHP.
Что касается недостатков:
- Есть специфические задачи, для которых PHP не подходит. Для их решения лучше использовать другой язык. Это касается проектов нейросети, искусственного интеллекта.
- Также по собственному опыту могу сказать, что с PHP легко «вкатиться» в профессию. Но из-за этого и довольно часто можно встретить непрофессионально написанный код с недостатками секьюрности или читабельности.
- Я сталкивался с проектами, которые пишутся около десяти лет. И код, написанный десять лет назад, может выглядеть довольно странно. Например, он может быть в одну длинную строку или в нем могут быть какие-то проблемы с защитой коннекта.
Какой язык — основной конкурент PHP?
В вебе не для супернагруженных приложений можно выделить два основных конкурента PHP — это Node.js (грубо говоря, JavaScript, который может работать на сервере) и Python, который может использоваться для веб-разработки:
- Node.js выглядит привлекательным для разработчиков, потому что этот язык использует один синтаксис. Таким образом, разработчик пишет весь код — как клиентский, так и серверный, используя один язык. Ему не нужно знать никаких других инструментов.
- Что касается языка Python, который используется для веба, сейчас я в нем вижу много недостатков в сфере веб-разработки. Наиболее распространенные фреймворки достаточно замкнуты, а их комьюнити мне показалось не таким развитым, как у PHP. Ни в коем случае я не хочу сказать, что Python — это плохой инструмент, но я не вижу смысла использовать его для большинства веб-приложений. Это как пользоваться дома на кухне мультитулом: можно, но не всегда целесообразно.
На текущем проекте я лично использую разные языки программирования — и PHP, и JavaScript, и Python. Есть разные микросервисы, написанные на том или ином языке программирования, в зависимости от задач. Ведь, напомню, язык программирования — это лишь инструмент для реализации той или иной задумки.
Если человек хочет развиваться на рынке разработки, то ему надо понимать преимущества и недостатки каждого языка программирования, чтобы лучше использовать эти языки под конкретные задачи.
Количество вакансий в сфере PHP-программирования
За последние пять лет, мне кажется, количество вакансий PHP-разработчиков увеличилось. Из-за войны есть проседание, но это во всех сферах, потому что рынок находится в стрессе.
Но по крайней мере для начинающих разработчиков я не могу сказать, что сейчас ситуация более проблемная, чем год или два назад.
Как менялось количество вакансий на PHP с января 2022 по август 2023 по сравнению с другими языками // Данные DOU
Какие дополнительные технологии стоит изучать PHP-разработчику, чтобы быть конкурентоспособным
Еще изначально язык PHP был плотно связан с HTML и JavaScript, потому что PHP — сугубо серверная технология, а указанные инструменты отвечают за интерфейс сайта, с которым взаимодействует пользователь. Поэтому разработчик на PHP как десять лет назад, как пять, так и сейчас должен иметь по крайней мере базовые знания HTML и JavaScript. Это относительно технологий.
Еще очень важно знать английский язык. Для начинающих хороший уровень знания английского даже более важен, чем для разработчиков высшего уровня — Senior. Потому что Senior уже умеет программировать, а начинающему еще нужно учиться. Очень много полезных ресурсов для обучения находится в англоязычном пространстве, к тому же высокий уровень знания английского языка является весомым преимуществом при устройстве на работу.