Комментарии 58
“Как итог, даже в компаниях, которые раньше никогда не были связаны с миром PHP, начинают появляться проекты на PHP-стеке“ - причина этого исключительно в необходимости использовать PHP, потому что он лучше подходит для решения задач.
Не стоит рассматривать язык в вакууме, язык - инструмент. Цель - быть хорошим инженером и выбирать язык в соответствии с задачами.
У PHP есть как плюсы, так и минусы. При множестве блокирующих операций, писать на PHP, в котором нет асинхронности, - не оправдано.
Каждый язык имеет свою сферу применения. На PHP действительно можно решить множество задач и он везде будет неплох и где-то хорош, но это просто очерчивает его сферу применения и рано или поздно фрагменты будут переписаны на более подходящих языках.
Просто не стоит фокусироваться на языках на столько сильно, в любом случае, в один язык все необходимые инструменты не разместить.
P.S. PHP разработчиков просто много и начать проект проще на нем, т.к. это просто надежнее с точки зрения бизнеса.
Асинхронность в php может быть реализована например с помощью библиотек reactphp или swoole, так что её не то что бы совсем нет. Хотя это может работать медленнее, чем в том же node.js, но на самом деле зависит от конкретной задачи.
Соглашусь, что зацикливаться на одном языке/технологии не стоит.
И все же, не смотря на все заслуги тех же reactphp/swoole, прикручивание асинхронности к php больше похоже на натягивание совы на глобус.
Вроде как и работает, но зачем, когда есть инструменты изначально под это заточенные?
Имхо, роль php в компании отлично подходит под модель: лепим быстро, но не криво MVP, проверяем работает ли и нужен ли кому. Если да, то пишем дальше и при необходимости выносим функционал в отдельные сервисы на инструментах более подходящих под задачу.
П.С. php основной стек лет 15.
Посмотрите метрики производительности. Проведите сами тесты. Я тестировал свой сервис на swoole и на nodejs. Swoole показывает скорость выше раза в 2 порой в 3. Он давно уже быстрее ноды.
Тот же swoole, на сколько помню, создает потоки. Нода все же однопоточная (если не накручивать).
Плюс вы будете очень сильно страдать, когда начнете прикручивать к PHP асинхронность. Ни язык, ни его библиотеки под это просто не заточены. Боль и страдания. Те же вебсокеты у меня отваливались, если обрабатывать сообщение слишком долго: приходится для всего-всего прикручивать асинхронность, а это не всегда возможно.
Писать сервер читающий сокет на PHP неоправданно долго и дорого. Есть пачка гораздо более удобных языков для этого.
Тем не менее для сферы общей web разработки по моему глубокому убеждению удобнее, дешевле и понятнее чем PHP ничего нет.
Ну да, про медленнее Ноды это скорее касается reactphp.
в один язык все необходимые инструменты не разместить.
Кажется JS ближе всех к этой цели. Начинаю задумываться, а почему в игровые движки не интегрировать V8 для сценариев миссий и AI?
Да не, не преувеличено. Серьёзных проектов реально много где PHP в стеке есть.
Facebook
Wikipedia
Mailchimp
Blablacar
Slack
Tesla
Само по себе то, что многие проекты написаны на каком-то языке, говорит лишь о том, что такие проекты могут быть написаны на этом языке и то, что этот язык почему-то предпочли остальным в этом конкретном случае. Не более.
Facebook нанял Сару Големан, которая написала спеку языка в своё время и развивала HipHop VM и позднее HHVM. Далее из этого вышел язык Hack, который +- является сабсетом PHP и на котором работает основной сервис Facebook и Slack. Сейчас она контрибьютит в основной PHP.
Вспомогательные сервисы Facebook работают на обычном PHP. Знаю потому как там у них был Yii для личных кабинетов рекламщиков (как сейчас не знаю).
С VK похожая история. У них основной код через kPHP билдится в гигантский бинарник, но, насколько помню, были и сервисы просто на PHP без kPHP.
Если отвечать на вопрос "разивается ли PHP", то ответ однозначно "да". Достаточно взглянуть на https://www.php.net/releases/8.0/ru.php и https://www.php.net/releases/8.1/ru.php. Если говорить о новизне, то нет, это, конечно, не новый язык с новой парадигмой (25 лет отметил, как-никак, https://www.jetbrains.com/lp/php-25/). То есть инфраструктура взрослая, набор фич тоже. Легаси тоже присутствует, хоть и убирается каждый мажорный релиз.
Не "сайты аэропортов", а админки, из которых можно, например, управлять освещением полосы. Сайты я даже не перечислял, потому что простые сайты сейчас делать на чём-то, что не аналог "тильды" смысла особого нет.
Я сейчас работаю в стартапе, который начался с "а давайте зафигачим на ПХП" совсем недавно.
Например?
Yahoo
Facebook
Wikipedia
Flickr
Digg
SourceForge
VK и другие проекты VK Group
Etsy
Zynga
Baidu
imgur
Avito
Badoo
Boxberry
Яндекс Еда
Кинопоиск
Blablacar
iStock
Freepic
mos.ru
Сбер (Здоровье, облако, мб ещё что-то)
ManyChat
SuperJob
Ultimate Guitar
Skyeng
Райффайзен
Юла
Lamoda
МТС
Delivery Club
Альфа Банк
Перекрёсток
Делимобиль
Wildberries
DNS
Связной
Ubisoft
Tutu
Belka Car
Lyft
Whatsapp
Tesla
Upwork
Space-X (но, кажется, только сайты)
Есть ещё много, например, те же аэропорты Казани или Севастополя, ЕГАИС и так далее, но полотнище будет бесконечное...
Facebook все же не PHP, а Hack. Ито это из-за большого легаси и по-возможности внутренние системы переезжают на c++\rust.
Не могу сказать, насколько PHP похож на Hack, потому что с оригинальным PHP не знаком. Для любого популярного языка ответ на любой вопрос есть на стекоуверфлоу, что не работает в случае Hack.
Yahoo еще жив? ничоссе
Whatsapp скорее это erlang, php там если и есть, то это hack и в местах связи с "большим братом"
Ubisoft - там точно php есть? Я у них собеседовался, они ничего про пхп не говорили.
PHP все же выглядит как поддержка легаси. Стартовать новый проект на нем в 2021 чет ооочень сомнительно. Да даже где он сейчас используется люди по моим наблюдениям не в восторге от него и стараются свичнуться во что-то более популярное.
Банально в гугле\амазоне на онсайте на php собес не дадаут пройти. В ФБ дадут по понятным причинам.
Мне ts, например, как яп нравится куда больше php. Но вот своего symfony там нет и не предвидится.
И да, по вакансиям вроде как все и правда хорошо.
Теперь развитие PHP основано на надежной модели, и мы больше не боимся встретить "тот самый автобус"
Эмм... Беда в том, что мы как раз и встретили тот самый автобус, а создание фоундейшена - это попытка как-то выправить ситуацию
Ну, не совсем автобус: https://github.com/php/php-src/commits/master Хотя да, создание foundation, несомненно, ускорил приблизившийся автобус.
Один сплошной dstogov и nikic в коммитах. Уже давно. Автобус, автобус. Все остальные просто уже не могут постичь исходники, сложность выросла, нужен мегамозг, чтобы впитать.
Они, конечно, основные, но единственные: https://github.com/php/php-src/graphs/contributors?from=2021-01-01&to=2021-12-11&type=a. Особенно если рассматривать не частоту коммитов, а объёмы.
Собственнику бизнеса зачастую все равно на чем это написано, работает главное запущено быстро, работает четко и без ошибок. В текущей практике 2 примера, 2 проекта с одинаковой функциональностью, 1й php запущен за месяц работает уже год и приносит прибыль. 2й сложный крутой проект с выделенным серыером, java все очень круто. Пилится уже год, практической пользы для бизнеса 0 (точнее отрицательная, за счет потраченного времени и ресурсов). В течении года морально устаревает местами. Замкнутый круг. PHP выполняет свои задачи, и это главное.
Про Питон в вебе как-то обидно преподнесено. Особенно с учётом вышедшего на днях Джанго 4.
Работаю с php с 2008 года, и единственная причина, по которой я бы рассматривал вход в этот язык в 2022 году, это расчет на то, что новичков в php мало (все идут в распиаренный питон), а так как проектов на php уже много, то для их поддержки работодатели будут повышать зарплаты тем программистам что есть.
Это единственный призрачный вариант чего-то хорошего для тех, кто остается или входит в php.
По всему остальному - по качеству проектов, по соотношению знаний/опыта к получаемой зарплате (спрашивать будут много, а платить - зачем платить, каждый второй знает пхп) - это дно. Все мои знакомые php-программисты планируют сваливать с этого языка.
P.S.
И нет, не могу не добавить. Если кто-то серьезно собирается сейчас входить в php - посмотрите сколько фреймворков в php и других языках. В том же Ruby всего один фреймворк. Изучил его и все, работай. В php только популярных фреймворков в СНГ три штуки: Laravel, Symfony, Yii2. Не слушайте тех, кто будет вам говорить о том, что язык простой для входа. В реальности изучать нужно будет больше, чем в других языках. А получать вы будете меньше.
И не дай бог, вас вначале карьеры занесет на велосипеды или CMS. Это будут в принципе потраченные годы - для проектов на фреймворках (где основные зарплаты) этот опыт в принципе не будет учитываться. Хоть 10 лет работайте на велосипедах - будете джуном с соответствующей зарплатой.
P.P.S.
Доходит до абсурда - если в компании несколько ИТ-отделов, на разных языках, то не редко оказывается, что проект написанный на php самый качественный. А над каким языком будут больше всего шутить и у кого меньше всех зарплаты - угадайте сами.
Знаю в равной степени на примерно одинаковом уровне PHP и Java (опыт там и там с 2010 года примерно). Хотя не скажу, что очень серьёзный, ощущаю себя этаким продвинутым джуном, стремящимся к миддлу.
Не подскажете, почему ситуация такова? На сегодняшний день PHP с типами как минимум почти не менее надёжен и удобен, чем Java, по производительности тоже почти не проигрывает, а фреймворки на нём всё же легче для изучения, даже Symfony. Так что не так с языком и экосистемой?
Не подскажете, почему ситуация такова?
Все просто - стереотипы, которые тянутся с нулевых годов.
Следствие стереотипов - зарплаты ниже других языков. Следствие зарплат - что опытные программисты уходят на другие языки. Уход опытных программистов из языка подтверждает стереотипы. Цикл замкнулся.
C языком все так, с экосистемой тем более. Не так что-то с людьми, рассуждающими о php так, как если бы сейчас вышла пятая версия, а не восьмая.
Даже если 8я версих отличная, то все равно нет никакого смысла стартовать на php новый проект, когда есть тот же TS с NodeJS. Сейчас пишу на Hack, который вроде бы не хуже оригинального PHP, но при первой возможности свичнусь на что-то другое. До этого писал на C#,Rust,TS,Java(перечислены в порядке убывания любви к ним). Очень бы хотел остаться на C#, но за него не платят особо, к сожалению. Разве что в МС какой-то идти, но они меня проигнорили :'(
Вот и я думаю, что не зря я после 30 лет, задумался стать разработчиком на PHP
Потрясающее будущее PHP-стека для карьеры