Почему ненавидят PHP? Какое будущее у PHP

Многие программисты имеют холодное отношение к PHP, а другие – вовсе ненавидят язык. Действительно ли он настолько плохой? Мы постараемся разобраться.
Есть масса причин для « ненависти », у каждого разработчика они свои. Часть из них являются реальными проблемами языка, но некоторые всего лишь результат предвзятого отношения.
Даже наличие плохих отзывов об языке не является причиной полностью сбрасывать PHP со счетов. Даже сегодня он входит в 5 самых распространённых и популярных языков (по состоянию на 2018 год). Он занимает место среди других гигантов: Java , JS , C# и Python . Многочисленные аналитические компании не замечают падения рейтингов PHP, даже порой отмечается постепенный прирост. Одной из причин притока программистов является лёгкость обучения, после знакомства с PHP многие переходят к обучению Java или других языков.
HTML файл с логикой
Неприязнь к PHP часто обуславливается помещением кода в HTML-файл и дальнейшей обработкой внутри. Да, эти файлы имеют соответствующее расширение .php , но здесь доля чистого PHP часто меньше, чем остальных языков. Внутри файла размещаются HTML , CSS , JS коды или загружаются скрипты. Подход не позволяет обеспечить полную чистоту кода, хотя при должных навыках можно структурировать файл так, чтобы все элементы были легкодоступны, аккуратно сложенные и понятны.
Явное преимущество PHP – простая работа с шаблонизаторами, их можно разрабатывать самостоятельно, или просто разбить код на отдельные файлы, отвечающие за конкретные функции. С разбивкой кода по файлам удаётся исключить из него HTML, останется всего несколько строк.

Нельзя назвать проблему важной или критичной, так как на стабильность работы системы или логичность расположения данных это не влияет. Оформление напрямую зависит от разработчика, при желании можно сделать вполне красивый и правильный код.
Качественные пакеты
Bundler, PIP, NPM, CPAN и другие – это пакеты, помогающие писать код качественно. Посредством подключения стороннего кода удаётся повысить производительность труда и расширить возможности языка. Есть одна проблема – перечисленные пакеты написаны на других языках: Ruby, Python, Node JS , Perl.
Собственного, структурированного пакета в PHP практически нет, за исключением PEAR . Имеющийся пакет используется нечасто, так как он имеет низкое качество и не соответствует требованиям современного кода.

Разработан специальный стандарт PSR-0 , который помогает в работе всех пакетов при одновременном подключении. С помощью Composer удаётся получить полноценный менеджер, обеспечивающий определение зависимостей у библиотек PHP. Уже совсем скоро планируется значительное улучшение качества кода и весомое сокращение затрат времени. Проходят времена, когда приходилось разрабатывать решение и затачивать его под конкретный фреймворк.
Проблема действительно существует, но разработчики знают об её существовании и ищут способ убрать лишние сложности.
Устаревшие понятия
Только в моём кругу есть масса матёрых разработчиков на Ruby, которые по привычке используют пятую версию языка, думая и уверяя других в отсутствии каких-либо значимых изменений в PHP 7. В действительности отличия существуют, и они весомые.
Со стороны Ruby-разработчиков часто летит заявление в адрес PHP, что у него нет « method_missing », но это не совсем так, ведь в реальности альтернативой является __call () . Люди привыкли жаловаться, они часто это делают в отношении проблем, которые уже были устранены в новых версиях. Получается так, что большинство людей, высмеивающих PHP, даже не знают о разработке новых версий языка или просто не обладают достаточным уровнем навыков. Ещё часто к PHP относились пренебрежительно по причине отсутствия встроенного сервера (у Ruby он есть), но сейчас и PHP обзавёлся этим дополнением.
Незнание реальности языка, работа с устаревшим кодом, заблуждения – это частый повод бросать не лестные заявления в адрес PHP.
Предвзятое мнение
Не прибегать к PHP – это круто. Причина отказа от языка лежит в воспоминаниях, разработчик помнит, как он писал кривой код и скрипты в детстве. Никто не хочет становиться на уровне с новичками, которые усердно пишут ужасные скрипты на PHP.
Для хорошего разработчика здесь есть место, перечисленные моменты не являются проблемами. Ещё одно заблуждение – человек использующий PHP не в силах освоить какой-то другой язык. Здесь уже я ненавижу подобное предвзятое отношение.
Встречалось мнение, слышал его краем уха возле бизнес-центра: «У меня нет никакого доверия к магазинам на PHP. Почему разработчики не способны освоить хороший язык?». Это мнение многих программистам, но подобные заявления свидетельствуют о недальновидности разработчика.
Заключение
В упрёк PHP поставить больше нечего, все моменты, с которыми ранее приходилось мириться, остались в прошлом. Согласно недавней статистике, проведённой W3Techs , сегодня около 83% всех ресурсов разработаны на основании PHP. Обладая реальными данными в отношении языка, становится легче оценить его перспективы.

Я имею опыт создания приложений как на PHP, так и Python, NodeJS, Ruby (в меньшей мере), но я на постоянной основе использую PHP. Почему я так делаю? Рынок языка является самым большим, и он занимает наибольшую долю. Его популярность обусловлена широкими возможностями, в нём возможно реализовать любой функционал.
Сегодня многие программисты постоянно меняют направления работы в поисках идеального языка, IDE или превосходной хостинг-платформы. Это глупо, так как нет одного идеального и полноценного инструмента, способного покрыть все потребности программистов. Не существует совершенного варианта, но есть просто варианты, которые ненавидеть странно.
Целая ниша людей недолюбливает PHP, но неизбежно сталкиваются с ним или постоянно работают с языком. Это в большей мере напоминает привычку, пользователи критикуют язык, причины для этого есть, но нельзя говорить о PHP слишком пренебрежительно, у него есть будущее.
Больше интересных новостей

Популярные языки программирования в 2022 году: ТОП-6

6 новых языков программирования, что достойны вашего внимания

Язык программирования Ардуино С: просто о сложном

Мобильные приложения для изучения программирования
Комментарии (1)
Андрей 23 октября 2023 в 20:39
Почему языку 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 уже умеет программировать, а начинающему еще нужно учиться. Очень много полезных ресурсов для обучения находится в англоязычном пространстве, к тому же высокий уровень знания английского языка является весомым преимуществом при устройстве на работу.
Поделиться:
Не нужно стыдиться PHP
Недавно я решил зайти на сайт cybersport.ru (проект VK GROUP), где хотел посмотреть результаты матчей наших мальчиков по Dote. Мой взгляд упал на статью «Когда будет новый сайт». Там помимо общей информации было пару фраз про PHP и Symfony, которые меня расстроили.

Что же меня меня расстроило

Хотя мотивации писать новую версию проекта все на том же PHP вполне понятна, адекватна и разумна, общий тон ответа содержит извинения за то, что проект пишется на PHP. Словно, вот где-то есть настоящие проекты, на настоящих языках программирования, которые пишут настоящие программисты, а тут пишется поделка на PHP, ибо ничего лучше команда не умеет и не может. Словно люди должны стыдиться, что они пишут на PHP, поэтому вот как-то все обходится фразами «все довольно неплохо». Об этом хочется и поговорить.
Почему PHP стал «плохим» и «постыдным»
В силу того, что в свое время у PHP был достаточно низкий порог входа, и работа по натягиванию шаблонов на различные CMS системы не требовала каких-то глубоких знаний в Computer Science, в PHP пришло много людей, которые не знали, как писать хороший код.
Качество кода таких ребят бросило тень на сам PHP, поэтому в IT-сообществе появились байки, что все PHP-программисты — плохие программисты, а PHP — плохой язык программирования. Вот точно такие же байки, как у всех Subaru проблема с 4 цилиндром, а весь Дальний Восток ездит на Toyota Mark II. Ничего общего с реальностью, но забавно.
На самом деле на PHP создавалось много успешных хайлоад-проектов, где работали талантливые программисты с высоким уровнем профессионализма.
Давление рекламы и лидеров мнений
Помимо того, что PHP имел не самое положительное мнение в IT-сообществе о себе, в инфо-пространство ворвались онлайн-школы, которые по какой-то рандомной причине выбрали python «тем самым языком, на котором с тобой говорит интернет». Это привело к заказам рекламы своих курсов у множества лидеров мнений. Многие из лидеров мнений, чтобы подчеркнуть превосходство курсов по Python, стали топить PHP — его главного конкурента.
Как итог у людей, которые имели мало опыта в программировании, стало формироваться мнение, что PHP — это плохо, не модно, не клево. Да и вообще «Насмехайтесь над ним, гоните его».
К сожалению, статья от редакции cybersport.ru говорит о том, что уже сами команды, которые работают на PHP, стали поддаваться пропаганде, и стали считать PHP плохим языком программирования и оправдываться за это. Это все печально.

Хватит стыдиться PHP
В своих статьях «Стоит ли учить PHP в 2022 году» и «Потрясающее будущее PHP-стека для карьеры» я привел аргументы, почему PHP является клевым, перспективным и эффективным языком программирования, который имеет современную экосистему и готов для решения большого круга, как текущих, так и перспективных задач, стоящих перед современными командами.
Более того, именно PHP дает наилучшие шансы начать карьеру в IT, участвовать в интересных проектах и расти до существенных зарплат, общаюсь с опытными коллегами и перенимать их ценнейший опыт.
PHP — отличный инструмент, поэтому нужно иметь профессиональную гордость, что вы смогли его освоить, и нашли применение своим знаниям на реальных проектах. Я не понимаю, причем тут стыд!
Вернемся к cybersport.ru
Окай, у нас есть контентный проект, где планируется некоторая интерактивность. Для чего ребята вполне разумно выбрали PHP (Symfony) и некоторые event-сервисы, которые (я полагаю) будут написаны либо на node.js, либо на go. Можно ли было выбрать более подходящий стек?
Весь бек на node.js/go/rust — очевидно, что писать бизнес логику на этих языках с админкой, ролями, паблишером, выводом контента и прочими штуками — не самый лучший выбор. Будет долго и неудобно.
Java/C# — удачи найти адекватных ребят в команду, когда за ними уже стоит очередь из финтеха, операторов связи, крупного ритейла, российского FAANG’а, галер и крипто-стартапов. Явно контентный проект не сможет на равных конкурировать за ребят на этом стеке.
Ruby (ROR) — в российских реалиях это новый Perl. Новых проектов пишется не так много, поддержка старых продолжается, интерес молодых ребят минимальный. Как итог, старички на поддержку выбивают очень хорошие условия. Переманивать их сложно и дорого.
Python (Django) — на самом деле хороший вариант, который достаточно неплохо подходит для контентных проектов. Проблемой можно лишь назвать сложность найма адекватных ребят в команду, ибо на рынке много джунов без боевого опыта (ибо проектов на Django не так много на самом деле в РФ (статья на эту тему), а опытные разработчики уже работают в российском FAANG. Ну и самое главное — есть ли какое-то объективное преимущество Python (Django) над PHP (Symfony) — нет!
Поэтому я до конца не понимаю, почему ребята из Cybersport.ru оправдывались в выборе PHP (Symfony), когда они сделали максимально правильное и грамотное решение.
$PHP не нужен*
Хорошо известно, что PHP — это мёртвый язык программирования и его 22-летняя экосистема фактически стала бесполезна, когда появился Node и новые асинхронные фреймворки на его основе. Превосходство Node очевидно, потому что все знают, что однопоточные асинхронные программы более лучше по умолчанию. И быстрее.
«Но Саймон! Почему?!», вы, вероятно, прокричите увидев этот текст на экране. И вот почему:
Перспективы трудоустройства
PHP-разработчики не пользуются спросом. По прошествии 22 лет, все компании, использующие PHP, сразу же отказались от него, как только был выпущен Node v0.0.1, потому что этот стек разработки мгновенно стал лучшим. Кроме того, всем известно, что для успешного запуска (забудем про Slack) вам нужно создавать веб-интерфейсы на Node, а данные сохранять в MongoDB.
Иначе просто невозможно добиться успеха.

Приведем немного научных™ фактов, чтобы доказать эти утверждения:
$заголовок = ‘PHP-разработчики не могут найти работу чтобы содержать свои семьи’;
Экосистема языка
Экосистема, вероятно, является самым важным фактором в принятии решения не использовать язык программирования. К счастью для нас, PHP существует достаточно давно, и его экосистема полна крупных, хорошо поддерживаемых и полнофункциональных фреймворков, которые все ненавидят — это и Laravel, своего рода эквивалент Rails, или энтерпрайз решения на подобии Symfony и Zend.
В отличие от PHP, разработчикам Node не нужно беспокоиться о том, чтобы найти фреймворк, который придётся ненавидеть, потому что каждый просто пишет свой собственный. Создавая свои собственные фреймворки, разработчик может действительно выделиться на фоне конкурентов, изобретая колесо таким образом, который имеет смысл только для него самого (разработчика). Эта практика также удваивает гарантию сохранения работы, что очень важно, как показано в результатах научных™ исследований, приведенных выше. Также, это утраивает Фактор Крутости Разработчика™ (Developer Cool Factor™).
Ошеломляющее свидетельство превосходной экосистемы Node можно увидеть на графике ниже:

$заголовок = ‘Чем больше фреймворков — тем лучше’;
Временные затраты
Реальный уровень производительности разработчика можно измерить только оценив как он тратит собственное время. Видно, что разработчики PHP больше времени тратят на написание кода и построение функциональных приложений, чем на культивацию Фактора Крутости Разработчика™ и получение звёзд на GitHub. Это, очевидно, отразится на них негативно при работе в стартапе, ведь они используют свое время непродуктивно. Все мы знаем что звёзды GitHub — это количественный способ оценки навыков разработчика.
Неспособность PHP-разработчиков внести свой вклад в сообщество показана ниже:

$заголовок = ‘Выслушивать жалобы — менее продуктивно, чем жаловаться. Факт.’;
Вещи, которые вы не сможете сделать являясь PHP-разработчиком
- Программировать асинхронно (по-настоящему!);
- Получить простую и понятную последовательность параметров функций стандартной библиотеки;
- Создать свой собственный шаблон приложения React TODO MVC;
- Реализовать полноценный бэкенд на стороне сервера с фронтендом на стороне клиента;
- Создавать собственные утечки памяти;
- Сделать пробел значимым ;
- Добиться потери данных между запросами;
- Решить проблему голода во всём мире;
- Программировать на JavaScript;
- Признаться людям, что вы — PHP-разработчик.
PHP как инструмент для бизнеса
Мы все знаем, что PHP, безусловно, уступает и не может использоваться при разработке бизнес-приложений, поэтому вот список предприятий-неудачников, использующих PHP, в сравнении со списком успешных компаний, реализующих свои продукты на основе Node:

$заголовок = ‘Node замечательный и эффективный инструмент зла’;
Заключение
Каждый разработчик знает, что самый быстрый и эффективный путь к получению чего-либо — это много жаловаться и каждый раз начинать всё с нуля. Рынок всегда будет ждать запуска вашего стартапа, ведь в первую очередь нужно закончить создание собственного фреймворка.
Кроме того, почему мы должны беспокоиться о перекладывании работы и полагаться на сообщество с открытым исходным кодом, когда мы можем просто всё сделать сами?

- Оригинальный заголовок статьи — , однако парсер не позволил ни в каком виде использовать emoji в тексте.
- разработка
- фреймворки
- php
- node.js
- вентилятор
- нужно больше фрейворков
- никто не читает теги