Почему PHP ненавидят, но все им пользуются?
Сейчас разберемся и спросим мнение у разработчиков «Спринтхост».
PHP так ужасен?
Сразу скажем — нет. Можно долго говорить, что плохих языков не бывает и т.д. и т.п., но PHP — обычный язык программирования со своими достоинствами и недостатками.
Чем хорош PHP?
Ответ на поверхности — порог входа в PHP крайне низкий. Чтобы научиться на нем программировать, достаточно пройти небольшой курс или разобраться самому. Вместе со спецификой HTML отображать все, что возможно, как бы ты ни написал код, PHP позволяет легко создавать сайты.
Простота изучения и использования популяризировала язык, стала причиной его распространения. Подавляющее большинство сайтов создано на PHP, многие CMS написаны на нем. Даже такой крупный проект как YouTube изначально базировался именно на PHP.
PHP идеально подходит для создания сайта. Он выдержит большое количество посетителей и справится с серьезной нагрузкой, был бы хороший хостинг под рукой (да, это намек на нас). Кроме того, PHP нетребователен к железу и может завестись на любой «тачке».
Чем PHP заслужил нагоняй от программистов?
Плюсы языка оборачиваются для его репутации минусами. Легкость использования PHP позволяет новичкам-разработчикам писать код так, как они его видят, не задумываясь над его читаемостью и эффективностью. Джун испытывает приступ гордости от работающего сайта, но на самом деле результат далек от адекватного состояния. Конечно, мы не утверждаем, что у всех новичков получается плохой код, но без должного опыта хорошо выходит не у всех.
Проблема усугубляется тем, что такие PHP-разработчики после первых работ продолжают создавать и дальше проекты сомнительного качества с точки зрения кода. Работает же, не трогай. Но если что-то сломается или нужно внести изменения в код спустя время, то разобраться в мешанине PHP будет очень сложно. Львиная доля интернета была написана таким образом.
PHP изначально создавался простым, чтобы им пользовались даже «домохозяйки» и люди очень далекие от программирования. И они стали им пользоваться, из-за чего в интернеты полилась куча дичи. У «реальных» программистов, которые постоянно ломали голову над кодом, писали его строго по документации и боялись поставить запятую не там, естественно подгорело от того, какой незамысловатой оказалась «пыха».
Кто-то пишет код часами, тестирует, он не работает, ищет баги, снова пишет код, а кто-то на «тяп-ляп» собирает нечто из PHP, создает монстра Франкенштейна и оно все равно будет работать. А потом еще нужно поддерживать все то, что насоздавали «умельцы» на PHP. «Справедливо?» — думают «настоящие» айтишники. «Нет!» — кричат их подгоревшие коллеги.
Негатив к PHP быстро распространился среди программистов и укоренился в сознании. Даже спустя много лет и версий с улучшением языка это отношение не сильно изменилось.
Здесь мы подкрадываемся к следующей проблеме языка — синтаксис. Камни (и другие неприятные вещи) в его огород летят за излишнюю свободу возможностей, динамическую типизацию. Переменные можно объявлять где угодно, можно называть их как угодно. Одна и та же переменная в разных местах кода может принимать в себя разные типы значений. Получается мешанина и полный хаос.
Сломанный оператор «==» заслуживает отдельного порицания. Выражение «1111 == 1111sph» выдаст нам True. «Пыха» просто превращает правую часть выражения в число и ей по барабану, что это строка. Сторонний разработчик, увидев такой код, может просто взорваться от негодования.
И все-таки без него никак
PHP пророчили быструю смерть, что найдется хорошая замена и все заживут прекрасно, но он до сих пор является одним из самых востребованных языков программирования — легким, послушным и эффективным для сайтов.
Да, над PHP шутят и кто-то даже ненавидит, но, во-первых, на нем уже очень многое написано и нужно это поддерживать. Переносить все на другой язык гораздо дороже по ресурсам, чем оставить проект на PHP. Во-вторых, зачем переносить, если сайты прекрасно работают на языке, который создан специально для этого. В-третьих, PHP продолжает развиваться, многие его несовершенства исчезают, скрипты ускоряются, а читаемость кода увеличивается, появляется более строгая типизация. Язык становится понятнее и профессиональнее — это уже давно не то скриптовое дополнение для Perl, а нечто большее, хоть и обросшее шутками и мемами.
Если хотите создавать сайты, то PHP — отличный инструмент, который позволяет зарабатывать хорошие деньги. Умелые руки с помощью любого инструмента могут сделать качественный продукт — все дело в мастере.
Такая смешная иллюстрация!
А эти слова — мёд для ушей дизайнера 😄
Передает «Спасибо» ☺️
Пробовал изучать Python + Django, а потом PHP + Laravel и действительно пхп намного проще и удобней.
Последнее предложение очень красивое, как красивый программный код. Да и вся статья пронизана гармонией.
Ваши слова — мёд для ушей автора! Спасибо! ☺️
Посмотрите и другие наши статьи 😉
Я пхп не люблю за такие приколы
В реальном мире так никто не пишет. Это на уровне приколов со сложением числа и строки. Ну а в коммерческой разработке такой код даже ревью не должен пройти.
Сильно убежден, что плохой продукт редко зависит от языка программирования. Наговнокодить или сделать неповоротливую архитектуру можно на любом языке. PHP прекрасный инструмент, при знании/грамотном понимании архитектуры приложений и паттернов. Просто многие почему то при изучении этот момент часто не берут во внимание. Со знанием Golang так вообще разраб почти супермен.
Полностью согласны! Язык — это инструмент в руках разработчика. Просто кто-то молотком себе пальцы отбивает, а кто-то творит произведения искусства, но все приходит с опытом 🙃
Комментарий недоступен
Такая история может быть со многими языками, но и не согласиться с вами не можем 😅
Нормальный там синтаксис, после 4 версии, он стал вполне годным языком, супер удобный когда нужно просто вывести какие-то данные. Другое дело, что он заточен под веб, делать на нем что-то другое врятли будет удобно.
Да, со временем язык улучшился и сейчас продолжает обрастать крутыми фичами. Но раньше был мрак, конечно 😱
Приколы, с которыми приходится работать — это да 🙃
минус новички пишут как хотят - хуйня
Очень аргументированно, однако
Начинай свой день с чашечки тихого провала
$is_true = 1111 == '1111sph' // 1
$is_true = 1111 === '1111sph' // 0