PHP — отстой?
“PHP отстой, не стоит брать его для разработки!”
“Он морально устарел”
“Все проекты на PHP это говнокод”
“Надо забыть про PHP и переключиться на Java/Ruby/Python/Node/Go/Rust”, нужное подчеркнуть )
Слышали такое мнение?
Продуктовые компании
Я работаю в продуктовых компаниях (то есть разрабатывающих собственные IT-продукты) уже 8 лет.
Из них 6 лет в крупных сложных продуктах, высоконагруженных, распределённых с множеством сервисов и далее по списку. Все на PHP и Yii2.
Если вы думаете что PHP = “интернет-магазин или блог” то вы ошибаетесь.
Например возьмём Геткурс. Там сервисов и систем взаимосвязанных с десяток и над каждым работает одна или несколько полноценных команд.
И всё работает, и PHP этому не мешает.
Стереотипы про PHP
Почти весь негатив про PHP — это стереотипы. Увидели PHP проект с говнокодом и раструбили “PHP говно”.
А оказывается в Java такой же говнокод, только пока PHP проект запустился, деньги заработал и выжил, на Java только первый сервис в продакшен задеплоили.
Вот и получается что PHP больше на виду, оттого и ругают больше.
Конечно, PHP не мешает писать чистый красивый код, для этого в нём есть все возможности.
PHP проекты взлетают, Java нет
Все лучшие и крупные проекты пишутся изначально на PHP. Или на другом языке где можно написать “быстро и дёшево”.
Я не знаю примеров чтобы хоть что-то известное было изначально создано сразу на Java.
На Java переписывают потом, когда продукт вырастает и нужно выстроить более формальные стандарты чтобы компания не рухнула под своей сложностью.
Ну а для энтерпрайза PHP непригоден. Но не по качествам, а по сугубо бюрократическим причинам.
Подробно рассказывал тут: Почему PHP не подходит для крупных компаний.
Java стабильна. На Java можно сделать и знать что код будет работать и поддерживаться через 10 и 20 лет.
А на PHP? Время поддержки мажорной версии 3 года. 3 года, Карл!
Для энтерпрайза делать что-то что гарантированно умрёт через три года это звучит как самоубийство.
Поэтому, медленный “кровавый” тырпрайз копошится в своём джава-болоте, а потом скупает мелких прибыльных пыховских шустриков и засасывает в себя.
Проблемы не из-за PHP
Вот я 6 лет варюсь в крупных сложных проектах на PHP.
Были хоть раз проблемы связаны с тем что PHP “плохо подошёл для крупной системы”?
Ни разу.
Реальные причины проблем:
1. Поставили задачу криво
2. Выстрелил костыль который вбили полгода назад и забыли
3. Требования к системе сильно поменялись а архитектуру вместо переписывания просто “подправляли”
4. Разработчики гнали коней потому что менеджеры наседали и ожидаемо косячили
5. Проект стал популярен, нагрузка выросла — упс, легло
6. Руководство занималось пропагандой говнокодинга (и такое было :D)
7. Низкий уровень подготовки программистов не позволил им понять как справиться с легаси
8. Проектировали абы как
9. Руководство саботировало рефакторинг
Всё это реальные причины. Из первых рук )
Общий негативный фон
В целом дела у PHP сейчас не очень, язык теряет популярность.
Я сужу по следующим факторам:
1. Корпораты отказываются от PHP в целом.
Почему PHP не подходит для крупных компаний.
2. По моим наблюдениям, среди курсов по программированию тяжело найти курс именно по PHP.
Полно курсов по JS, Java, Kotling, Go. Но курсы по PHP как правило в подборках отсутствуют, а часто скрыты за названиями наподобие “курс по веб-разработке”.
3. Начинающие веб-разработчики реже выбирают PHP.
Согласно исследованию от SlashData, менее 20% начинающих веб-разработчиков выбирают PHP. При этом среди опытных веб-разработчиков PHP использует 33%.
Источник: Sizing programming language communities, спасибо за наводку SamDark.
Что в итоге?
PHP очень хорош в техническом плане, но имеет несколько недостатков в организационном плане и “наследственную” плохую славу с былых времён.
Получается, что это замечательный в практическом плане но недооценённый сообществом программистов язык.
Остаётся надеяться, что в ближайшие годы практичность перевесит и приток новых разработчиков будет достаточным, чтобы PHP удержал или улучшил свои позиции.
Может быть росту PHP поспособствуют какие-то новые масштабные проекты или площадки, или же решатся организационные проблемы.
Что будет? Посмотрим )