Перевели для вас статью Бо Бошампа о противостоянии двух популярных языков программирования. Да разгорятся споры в комментариях!
В очередной раз я иду наперекор тенденциям, чтобы донести простую истину: PHP, незаконнорожденный ребенок языков программирования, живее всех живых. Почему он еще не умер, хотя многие пророчили его кончину? Ведь в мире так много более совершенных языков программирования!
Ругать PHP — это модно
У программистов есть свое мнение по любому вопросу. А еще мы высокомерны. И мы любим ругать языки, которые нам не нравятся или которые мы просто не используем. Вы наверняка встречали кодеров, говорящих что-то вроде: «Java — отстой. C# — худший язык программирования». Не имеет значения, какой язык подвергается критике, на орехи достается всем.
Однако мне кажется, что у сторонников PHP и приверженцев Python — особо натянутые отношения. Как будто где-то есть клуб заговорщиков, которые хотят похоронить PHP и заменить его Python.
Даже сейчас вы можете найти статьи, где стек LAMP волшебным образом включает Python. Эм, как это вообще понимать? Я использую LAMP уже двадцать лет и буква «P» в этой аббревиатуре всегда означала PHP. Не Python и даже не Perl. А именно PHP.
Презрение к PHP встречается как в сообществе профессиональных программистов, так и среди новичков. Но сколько людей из тех, кто говорит, что PHP — отстой, профессионально писали на нем? Мысль о том, что кто-то может искусно использовать этот язык программирования, вообще многим не дает покоя.
Претензий к PHP немало: например, критики нередко указывают на отсутствие строгой типизации. Но ведь этим грешит не только PHP, но и многие другие языки. Вы же не отказываетесь из-за этого использовать Javascript? Кто-то считает, что в PHP слишком много функций. Ну простите, что язык делает за вас слишком много! Другие заявляют, что функции названы непоследовательно. Да, такое бывает, когда язык действительно демократизирован, а не написан в одно лицо парнем, пытающимся получить докторскую степень.
Что же я хочу этим сказать? По моему мнению, в основе большей части претензий к PHP лежат личные предпочтениям или вовсе придиркам к мелочам. При желании найти недостатки можно у Python, C#, Java, Go, Javascript, или любого другого языка. Мы, программисты, вообще любим жаловаться, очень часто.
А настоящая причина, по которой кодеры любят ругать PHP, — смесь присущего нам высокомерия и тонко завуалированной зависти.
PHP весьма прост в использовании
PHP существует с середины 90-х годов, возможно, он даже старше некоторых из вас!
Сегодня этот язык встроен в огромное количество приложений — как старых, так и новых. Но, что еще более важно: им активно пользуются программисты самого разного возраста. Кто-то пишет на нем не один десяток лет. И мы, использующие PHP, не собираемся никуда уходить.
Забавно, что Python старше — он появился в 1991 году, еще до того, как увидел свет PHP. Но, несмотря на это, Python не удалось достичь того же уровня принятия, которым сейчас пользуется PHP.
Почему так?
Лично для меня Python — это боль по сравнению с PHP. Да, с выходом Python 3 многое изменилось, но в те времена, 15 лет назад, у Python не было многих фич, которые в PHP шли из коробки.
Другая проблема Python — отступы. Я ненавижу писать код, где блоки кода размечаются отступами. Я хочу писать код так, как мне удобно, и язык программирования не должен мне мешать!
Python рекламирует свой синтаксис как легко читаемый, но это просто маркетинговый бред. Называйте все как есть — Python использует худший из всех возможных подходов к синтаксису. И, вероятно, это объясняет низкий уровень его внедрения десять или более лет назад. Тогда IDE еще не научились исправлять ошибки программистов, и Python просто не был настолько удобен для пользователя, как PHP.
Кроме того, я думаю, что многие просто не знали о его существовании. Он был встроен в дистрибутивы Linux в качестве языка скриптов, и это был основной сценарий его использования. Никто не кричал: «О, это же Python, теперь я могу создать сайт!".
Многие специалисты просто не считали Python решением для для веба. Однако, если не учитывать мои личные придирки относительно синтаксиса, Python — это ОЧЕНЬ функционально мощный язык, особенно с его библиотеками для data science и других тяжелых математических задач, где необходима точность является абсолютным условием.
PHP — это язык, который может использовать каждый
Я думаю, что Python мог бы уже обогнать PHP благодаря многочисленным обновлениям, которые он получил за последние 15 лет или около того, если бы не две вещи.
Во-первых, он опоздал с обновлениями на десятилетие.
Python 3, выпущенный в 2008 году, фактически нарушил обратную совместимость. Код Python 2 не работает в Python 3 без изменений. Что делать, если у вас есть миллион строк кода?
Справедливости ради, PHP 7 и 8 тоже сломали некоторые вещи из пятой версии. Однако большая часть кода PHP 5.6 все еще очень хорошо совместима.
Но, возможно, самым большим переломным событием, которое действительно помогло PHP достичь пика популярности, стало появление на рынке крошечной стартап-компании Automattic. Созданная ею CMS WordPress изменила концепцию публикации контента в интернете и сделала ее проще не только для разработчиков, но и для обычных людей.
Если бы WordPress был написан на Python, сегодня PHP, возможно, не был бы так популярен. Но и Wordpress был не получил той любви, в которой он купается сейчас.
Принятие, и, соответственно, поддержка со стороны участников, является КРИТИЧЕСКИ важным фактором выживания языка или приложения в мире open source. И ничто не стимулирует это принятие быстрее, чем простота использования и низкий порог входа.
Сегодня PHP используют не только дипломированные специалисты, но и фрилансеры, домохозяйки, графические дизайнеры, контент-менеджеры, предприниматели и школьники, создающие свои первые веб-страницы. И этих людей миллионы!
PHP — это BASIC информационной эпохи.
WordPress сам по себе прост в использовании, но у него есть свои ограничения. Архитектура плагинов WordPress позволила обычным людям без профильных навыков писать крошечные кусочки кода на PHP без необходимости переписывать целые классы или становиться профессиональными программистами.
Простой и понятный PHP позволяет обычным людям писать код, который работает. Он свободно типизирован. В нем не требуется что-то компилировать. Он просто работает.
PHP управляет всемирной паутиной
Прошло 15 лет, и сегодня на PHP работает 78% веб-сайтов. Только на WordPress приходится почти 40% всех веб-сайтов и почти 2/3 рынка CMS! Несмотря на всю ненависть к PHP со стороны приверженцев Python, на его долю приходится менее 1,5% всего веба.
И это закономерно.
Ко мне обращались рекрутеры из компаний, которые хотели вырвать весь свой веб-код на Python и заменить его на PHP. Почему? Потому что, честно говоря, веб — далеко не лучшее применение для Python. Люди, работающие с Python, как правило, являются специалистами в области data science и других областях. А опытные специалисты — в дефиците.
Компаниям важна скорость. У них нет времени искать несколько недель или месяцев нового специалиста по Python для расширения ИТ-команды или в качестве замены уходящему специалисту. К тому же, стоят Python-программисты дорого.
С поиском PHP-программиста без труда справится как небольшая компания, так и бизнес из сегмента Enterprise, хоть их задачи и отличаются. Найти опытного PHP-архитектора с десятилетиями опыта гораздо проще, чем его Python-версию.
Если вы пишете код в корпоративных целях на Python (будь то веб или какое-то промежуточное) без действительно веских причин, стоит задуматься: стоит ли обременять компанию кодом, поддержка или изменение которого будет требовать серьезных вложений?
Ключевая задача архитектора — правильно подобрать наиболее эффективную технологию для решения бизнес-задачи а не просто нагрузить работодателя своими личными предпочтениями.
Заключение
Как полагается инженерам, мы любим использовать то, что хорошо знаем, и порицаем то, что нам незнакомо. Так уж мы устроены.
Учебные учреждения пытаются позиционировать Python как универсальный язык программирования. На самом деле это не так. Python гораздо эффективнее в роли высокоуровневого языка для запуска серверов, решения математических и data science задач, добычи криптовалют, — с этим он справляется просто превосходно.
А Всемирную паутину оставьте PHP. И пусть его без конца ругают — он по-прежнему остается САМЫМ распространенным языком в Интернете. С продолжающимся ростом популярности WordPress и преимуществами PHP 7 и 8 в ближайшее время это не изменится.
Если вы тоже пользуетесь PHP в веб-разработке, попробуйте панель ISPmanager для управления сайтами. C ней удобно настраивать альтернативные версии PHP на одном сервере и администрировать проекты. Больше об этом читайте в статье веб-разработчика Дмитрия в нашем блоге: «Личный опыт: как применять ISPmanager для работы с PHP»