Почему ненавидят 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 слишком пренебрежительно, у него есть будущее.
Больше интересных новостей

5 причин, почему первый язык не важен

5 разочарований программиста

11 классных веб-ресурсов с применением искусственного интеллекта

Интересные способы использования технологии блокчейн: ТОП-10 примеров
Комментарии (1)
Андрей 23 октября 2023 в 20:39
Почему PHP ненавидят, но все им пользуются?
Сейчас разберемся и спросим мнение у разработчиков «Спринтхост».
PHP так ужасен?
Сразу скажем — нет. Можно долго говорить, что плохих языков не бывает и т.д. и т.п., но PHP — обычный язык программирования со своими достоинствами и недостатками.
Чем хорош PHP?
Ответ на поверхности — порог входа в PHP крайне низкий. Чтобы научиться на нем программировать, достаточно пройти небольшой курс или разобраться самому. Вместе со спецификой HTML отображать все, что возможно, как бы ты ни написал код, PHP позволяет легко создавать сайты.
PHP дает все, что нужно для веб-разработки, он нетребовательный в освоении, самый распространенный язык для веба
Олег, Кот-разработчик
Простота изучения и использования популяризировала язык, стала причиной его распространения. Подавляющее большинство сайтов создано на PHP, многие CMS написаны на нем. Даже такой крупный проект как YouTube изначально базировался именно на PHP.
PHP идеально подходит для создания сайта. Он выдержит большое количество посетителей и справится с серьезной нагрузкой, был бы хороший хостинг под рукой (да, это намек на нас). Кроме того, PHP нетребователен к железу и может завестись на любой «тачке».
Чем PHP заслужил нагоняй от программистов?
Плюсы языка оборачиваются для его репутации минусами. Легкость использования PHP позволяет новичкам-разработчикам писать код так, как они его видят, не задумываясь над его читаемостью и эффективностью. Джун испытывает приступ гордости от работающего сайта, но на самом деле результат далек от адекватного состояния. Конечно, мы не утверждаем, что у всех новичков получается плохой код, но без должного опыта хорошо выходит не у всех.
Проблема усугубляется тем, что такие PHP-разработчики после первых работ продолжают создавать и дальше проекты сомнительного качества с точки зрения кода. Работает же, не трогай. Но если что-то сломается или нужно внести изменения в код спустя время, то разобраться в мешанине PHP будет очень сложно. Львиная доля интернета была написана таким образом.
PHP изначально создавался простым, чтобы им пользовались даже «домохозяйки» и люди очень далекие от программирования. И они стали им пользоваться, из-за чего в интернеты полилась куча дичи. У «реальных» программистов, которые постоянно ломали голову над кодом, писали его строго по документации и боялись поставить запятую не там, естественно подгорело от того, какой незамысловатой оказалась «пыха».
Кто-то пишет код часами, тестирует, он не работает, ищет баги, снова пишет код, а кто-то на «тяп-ляп» собирает нечто из PHP, создает монстра Франкенштейна и оно все равно будет работать. А потом еще нужно поддерживать все то, что насоздавали «умельцы» на PHP. «Справедливо?» — думают «настоящие» айтишники. «Нет!» — кричат их подгоревшие коллеги.
Негатив к PHP быстро распространился среди программистов и укоренился в сознании. Даже спустя много лет и версий с улучшением языка это отношение не сильно изменилось.
Думаю, по большей части, это уже мода не любить PHP. Хотя определенные недостатки есть, как и в любом другом языке. Конкретно в PHP — динамическая типизация, не очень удобный синтаксис
Алексей, Кот-разработчик
Здесь мы подкрадываемся к следующей проблеме языка — синтаксис. Камни (и другие неприятные вещи) в его огород летят за излишнюю свободу возможностей, динамическую типизацию. Переменные можно объявлять где угодно, можно называть их как угодно. Одна и та же переменная в разных местах кода может принимать в себя разные типы значений. Получается мешанина и полный хаос.
Сломанный оператор «==» заслуживает отдельного порицания. Выражение «1111 == 1111sph» выдаст нам True. «Пыха» просто превращает правую часть выражения в число и ей по барабану, что это строка. Сторонний разработчик, увидев такой код, может просто взорваться от негодования.
Для меня это один из инструментов, который можно использовать в работе. Но у него есть минусы, которые я могу выделить для себя:
— Зоопарк версий и обратной совместимости;
— Ранние версии не имеют приколюх и фич, которые появились со временем в поздних версиях;
— Нужно поддерживать тот самый зоопарк, о котором идет речь в первом пункте
Олег, Кот-разработчик
И все-таки без него никак
PHP пророчили быструю смерть, что найдется хорошая замена и все заживут прекрасно, но он до сих пор является одним из самых востребованных языков программирования — легким, послушным и эффективным для сайтов.
Да, над PHP шутят и кто-то даже ненавидит, но, во-первых, на нем уже очень многое написано и нужно это поддерживать. Переносить все на другой язык гораздо дороже по ресурсам, чем оставить проект на PHP. Во-вторых, зачем переносить, если сайты прекрасно работают на языке, который создан специально для этого. В-третьих, PHP продолжает развиваться, многие его несовершенства исчезают, скрипты ускоряются, а читаемость кода увеличивается, появляется более строгая типизация. Язык становится понятнее и профессиональнее — это уже давно не то скриптовое дополнение для Perl, а нечто большее, хоть и обросшее шутками и мемами.
Разработка на PHP быстрая из-за обилия готовых решений: библиотек, фреймворков, CMS. Частенько даже не нужно знать сам PHP, в зависимости от сложности проекта, конечно же
Артем, Кот-разработчик
Если хотите создавать сайты, то PHP — отличный инструмент, который позволяет зарабатывать хорошие деньги. Умелые руки с помощью любого инструмента могут сделать качественный продукт — все дело в мастере.
Не нужно стыдиться 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 его не пинал только ленивый. Мы решили спросить у экспертов, за что же так не любят PHP и почему его считают плохим языком.
За время существования PHP его не пинал только ленивый. Множество мемов, нелестных отзывов и прочей критики в его адрес. Мы решили спросить у экспертов, за что же так не любят PHP и почему его считают плохим языком.
Рустам Кильдиев
руководитель отдела разработки BigData компании «Иннодата»
Причин много, пройдём по основным. Появился он в середине 90-x годов, когда не было развитой инфраструктуры и возможностей для его изучения, следствием этого стало появление массы программистов, не изучивших его полностью и не имеющих базы в компьютерных науках, коротко говоря, пишущих не очень качественный код. Язык имеет динамическую типизацию и вообще очень прост, т.е. имеет крайне низкий порог входа, что усиливало выше описанный эффект.
В 2000-х начался бурный рост количества интернет сайтов. Благодаря своей скриптовой сущности именно PHP стал лидером в этой области. К 2010-м годам руками той самой «плохой» массы программистов была написана львиная доля интернета. Быстрее, чем на «пыхе», сайт не «накалякаешь». PHP, если просмотреть линию от создания до сегодняшнего дня, также имел отставание в технологическом и синтаксическом развитии, относительно своих ровесников, например, Java. Да и огромная часть интернета написана и продолжает писаться на версии PHP 4 (2000 г.), несмотря на наличие версии 7.
Язык очень своеобразен, просто вдумайтесь, в нём нет адекватного стек-трейса из коробки. Т.е. в него не заложен инструмент отладки и разбора ошибок. Просто пишите и сразу в продакшн. Свойства языка и «слава» писавших на нём и создали такой эффект. Плюс эффект активно нагнетает элита мира разработчиков, пишущих на намного более современных, сложных, развитых, одним словом «крутых» языках, таких как Python (последних версий), Scala, Go и т.п. Но не стоит забывать, что всегда надо иметь баланс между технологическим удовольствием и бизнес-ценностью инструмента работы.
Рейтинг полезности ответа:
Павел Романченко
технический директор центра инновационных технологий и решений «Инфосистемы Джет»
Потому что в языке отсутствует дизайн. Язык не развивался и не проектировался целенаправленно. Многие решения принимались хаотично, что называется, «по месту».
Например, названия функций неконсистентны, т.е., глядя в название одной функции работы со строками, нельзя предугадать название другой.
Результаты плохого проектирования видны всюду: mysql_real_escape_string , сломанный оператор == и т.д.
В отличие от многих других языков, где знания о языке ложатся в некую систему, PHP представляет собой свалку слабо связанных конструкций.
Рейтинг полезности ответа:
Кирилл Меженцев
программист группы разработки карты рассрочки «Совесть»
Не любить PHP очень легко. Если вы спросите у разработчиков, чем именно плох PHP, то вряд ли получите внятный ответ. Ссылаться могут на общеизвестные проблемы или на неудачный синтаксис, который не понравился человеку. В своё время PHP имел ряд проблем, но их не избежали и многие другие языки. Однако благодаря своей простоте язык стал популярным (Wikipedia, первый Facebook), а вместе с популярностью массовым стало и знание о его проблемах. За годы, с новыми релизами, часть проблем закрылась, но память жива. PHP стал просто удачным мальчиком для битья.
Рейтинг полезности ответа:
Юрий Пономарев
консультант по программным продуктам Oracle Центра технической поддержки компании РДТЕХ
Многие считают PHP плохим из-за трёх вещей:
- Всё, что написано, может быть истолковано несколькими способами.
- Если есть что-то очень медленно и плохо написанное на процедурных языках с долгой историей, то это так или иначе можно найти на PHP.
- Черепашья скорость отладки и поиска багов.
Рейтинг полезности ответа:
Али Рагимов
главный специалист отдела разработки программного обеспечения, Okko
Мне кажется, всё дело в происхождении языка. Изначально PHP был разработан как простой скриптовый язык, чтобы каждый человек мог легко написать для себя домашнюю страницу. Тогда аббревиатура PHP расшифровывалась как Personal Home Page. Со временем язык стал развиваться, но по-прежнему оставался простым и доступным. Так как порог вхождения был низким, это привлекало большое количество людей, которые до этого не были знакомы с разработкой. Сталкиваясь с вопросами и проблемами, люди преимущественно шли на форумы в ожидании, что кто-то даст им готовое решение — вместо того, чтобы самостоятельно глубоко изучить документацию.
Таким образом, PHP-сообщество на 90% состояло из людей, которые пишут, не задумываясь и вставляя в свои проекты куски непонятного кода — главное, чтобы работало. Многие из тех, кто разобрался в скриптинге получше, вели блоги о программировании и даже записывали видеокурсы, которые зачастую содержали такие подходы и такой код, которые были непригодны для использования в реальных проектах. А люди, которые могли развернуть WordPress и установить в него плагины, и вовсе считали себя экспертами.
Именно простота языка и недостаточная глубина знаний сообщества вокруг него и создали PHP дурную славу.
Однако всё это в прошлом. PHP уже давно содержит в себе интерфейсы, абстрактные классы, трейты и другие вещи, позволяющие реализовывать парадигмы ООП и использовать паттерны проектирования. А в последних версиях PHP появилась типизация аргументов функций и методов, возвращаемых значений и свойств классов. PHP также имеет свой пакетный менеджер, множество современных мощных фреймворков, таких как Symfony и Laravel, и массу других интересных проектов, написанных очень качественно. Сейчас, в 2018, лично я не вижу причин считать PHP «плохим» языком программирования.
Рейтинг полезности ответа:
Дмитрий Казаков
руководитель отдела веб-разработки RU-CENTER
Началось всё, как обычно, много лет назад, когда бизнес только начал осваивать интернет. Серьёзные проекты писались за серьёзные деньги, но большинству заказчиков хотелось получить какой-нибудь сайт за мелкий прайс, желательно вообще бесплатно. Так началась эпоха wordpress и joomla. Так как все разработчики, согласные делать проекты за нормальные деньги, уже были заняты на этих самых проектах за нормальные деньги, то сайтоделием на CMS занялись случайные люди, со временем начавшие отождествлять себя с программированием и PHP как языком этих CMS. Общий, весьма низкий технический уровень этого сообщества прицепом потянул за собой в бездну репутацию PHP как инструмента, а дефицит кадров в отечественном IT не позволял гнать несвежими тряпками таких разработчиков. В конце концов PHP стал синонимом «дёшево и быстро», а ведь никто из программистов не хочет «дёшево», оправдывая это придирками к архитектуре языка.
На самом же деле, если внимательно посмотреть на PHP, будет сложно найти существенные отличия от остальных C-подобных скриптовых языков. В конце концов, не бывает плохих языков — бывают плохие программисты.
Рейтинг полезности ответа:
Павел Цытович
тренер по разработке и архитектуре ПО в Luxoft
Почему многие программисты считают PHP плохим языком программирования? В основном это связано с неоднозначностью, которая присутствует при написании программ на этом языке. На просторах Сети нашёл следующий код:
$arg = 'T'; $vehicle = ( ( $arg == 'B' ) ? 'bus' : ( $arg == 'A' ) ? 'airplane' : ( $arg == 'T' ) ? 'train' : ( $arg == 'C' ) ? 'car' : ( $arg == 'H' ) ? 'horse' : 'feet' ); echo $vehicle;
Как вы думаете, что он напечатает? В таких языках, как Java, C++ или C#, есть аналогичный оператор условное выражение. Там он напечатает ‘train’. А в PHP результат будет ‘horse’!
Второй момент, который вызывает сложности с PHP, – это диагностика ошибок. Если вы открываете файл, то для этого есть функция fopen() . При невозможности открыть файл, сообщение об ошибке будет выведено в поток. Мы можем его подавить, используя символ @ , т.е. записать @fopen() . Однако, даже при наличии этого оператора, если в настройках php.ini вы указали опцию scream.enabled=true , это приведёт к печати сообщения об ошибке, даже если вы используете в коде оператор @ .
Третий момент связан с неоднозначностью оператора == . Вот на этом ресурсе есть хорошая таблица, какие результаты он возвращает.
Вся проблема в том, что этот оператор «не придирается» к типам данных. Так выражение вида 123 == «123foo» вернёт TRUE , а вот выражение «123» == «123foo» уже вернёт FALSE . Этот оператор пытается сделать приведение типа и в первом выражении просто преобразует строку “123foo” в число 123, когда в других языках программирования мы бы получили ошибку, что логично. А второе выражение просто сравнивает строки. Всё это порождает неоднозначность, с которой очень сложно совладать начинающим программистам на PHP. Хороший язык программирования не должен оставлять места трактовке тех или иных конструкций, а должен быть последовательным везде и всегда.
И четвертый момент, почему считают данный язык программирования плохим, – это тот момент, что он создавался как язык шаблонов, который встраивается в HTML-код с помощью тегов . В итоге это приводило к смешению программного кода и данных, что в больших системах недопустимо. Понятно, что потом появились «лучшие практики», как надо писать и как не надо писать скрипты PHP, но для начинающих разработчиков это и сегодня представляет определенную сложность.
В защиту языка программирования PHP хочется сказать, что по-своему это мощный язык программирования, который нашел своё место в веб-приложениях. На нём написано достаточно много веб-приложений, начиная от Facebook и заканчивая системой умного дома Majoromo, CMS Drupal и другими.
Рейтинг полезности ответа:
Дмитрий Гацура
руководитель отдела разработки компании «СёрчИнформ»
Его считают плохим те, кто на нём не пишет, либо, кто столкнулся с некачественным исполнением поставленной задачи. Те разработчики, кто не стремятся изучить документацию языка и не следуют рекомендациям, пишут на нём действительно очень слабо. Это бросает тень на всё сообщество. PHP — язык с низким порогом вхождения. Это одновременно сильная и слабая его сторона. Достаточно знать азы программирования, поставить интерпретатор и можно писать хоть в «Блокноте». По умолчанию конфигурация интерпретатора PHP не выводит детальной информации о предупреждениях и ошибках, что на начальном этапе изучения (использования) языка может сформировать у программиста неверные принципы написания кода.
Язык по сути развязывает руки разработчику: делай, что хочешь. А когда многое дозволено, приходится быть предельно аккуратным и дисциплинированным. PHP хорошо справляется с поставленными перед ним задачами по веб-разработке. Это универсальная рабочая лошадка, на языке написана большая часть сайтов в интернете. У него есть объективные слабые стороны, и связаны они с тем, что PHP развивался в трендах и тенденциях более чем пятнадцатилетней давности. В частности его проблема в том, что он тянет с 1997 года ворох проблем, например реализацию ООП, проблемы с сигнатурами функций в стандартной библиотеке, двойственный метод использования стандартных расширений (ООП или процедурный) и т.д. У PHP накопился багаж того, что нужно переделать. И эта работа ведется, многие исторически накопленные проблемы решаются.
Рейтинг полезности ответа:
Евгений Потапов
генеральный директор ITSumma
Во-первых, нужно изначально иметь в виду, что у языков программирования, даже общего назначения, есть свои устоявшиеся сферы применения. Если рассматривать PHP, то прежде всего это веб-разработка. Значит и сравнивать, насколько плох или хорош PHP, логично с другими языками для веб-разработки.
Тут нужна небольшая историческая справка. Изначально Web разрабатывали на «том, что было» (C, а потом Perl через CGI). Затем, особенно в энтерпрайз секторе, значительное распространение получила Java и следом C# (ответ Microsoft). Это созданные большими корпорациями, хорошо спроектированные, можно так сказать, серьёзные языки программирования.
В то же время PHP начинал как проект энтузиаста (даже расшифровывался как Personal Home Page), как набор скриптов на Perl.
Но в то же время он имел большие плюсы: очень низкий порог входа, отсутствие необходимости в тяжеловесных виртуальных машинах, простота создания несложных сайтов.
Обратная сторона этих плюсов — уровень компетенции комьюнити, собравшегося вокруг PHP, был значительно ниже по сравнению с другими языками.
Web стремительно развивался. А за ним развивался и PHP, так как это был чуть ли не единственный язык для построения неэнтерпрайзного Web.
С определенной версии это стал вполне современный язык (с некоторым наследием), в среднем, ничем не хуже, чем любые другие аналоги.
Но вот этот «Personal Home Page» осадок остался.
Во-вторых, когда PHP запустил волну популярности динамически программируемых языков, в Web зашли такие языки, как, например, Python, Ruby или NodeJS. Тут уже началась «гонка вооружений» между ними. На старте эти языки (и связанные библиотеки и фреймворки) учитывали недостатки PHP и выглядели значительно привлекательнее. Тут уже начались холивары между комьюнити. В принципе каждый язык занял свою нишу. PHP же итеративно догоняет по функциональными возможностям нововведения в других языках. И на текущем этапе плохим языком его назвать уж точно нельзя. Скорее — промышленным стандартом в не-энтерпрайз Web.
Резюмируя, можно сказать, что такое отношение к PHP вызвано его историей и конкуренцией с регулярно появляющимися «самыми прорывными» свежими языками.