#LaraconIN закончилось. Яркое сообщество PHP праздновало в Ахмадабаде, Гуджарате в Индии, и конференция была не похожа ни на одну другую: был битбокс, танцы гарбы, отличная еда, единомышленники, участвующие в экосистеме, и многое другое. Около 1200 разработчиков присоединились, чтобы лично увидеть своих героев из команды Laravel Core — очередь, чтобы сделать селфи с основателем Laravels Тейлором Отвеллом, казалась бесконечной. Laravel India показала миру, насколько сумасшедшей может быть конференция, которая не будет забыта в ближайшее время.
Но PHP находится в большой беде, и почему-то, кажется, никого это не волнует. Когда команда Laravel Core была на сцене и спросила о статусе PHP, ответы казались очень знакомыми — смесь личной гордости, сарказма и оправдания. На следующий день после события твиты «PHP мертв» стали мемом в Твиттере и, насколько я понимаю их мнение, обсуждение давно назрело. Мы не должны преуменьшать проблемы, а скорее думать о возможных решениях.
Цифры скрывают правду
Некоторые люди говорят, что PHP мертв — что не соответствует действительности, он все еще растет в Интернете каждый год. WordPress запускает 43% процентов всемирной паутины прямо сейчас, большие приложения, такие как Википедия, сохраняют его в качестве основного стека, а 79% Интернета работает на PHP. Тем не менее, цифры вводят в заблуждение, PHP медленно умирает, и нам нужно что-то с этим делать.
Слон в комнате
Давайте посмотрим правде в глаза: PHP больше не крут. Каждый PHP-разработчик знает странный момент при взаимодействии с другими разработчиками, я ненавижу этот момент.
Много лет назад, когда PHP запустил Движение Web2, это был самый популярный и распространенный способ добавления динамического контента на статические веб-сайты. Это был язык при создании взаимодействия с пользователем, и его успех казался неудержимым. Но есть три основные проблемы с PHP и причина, по которой так много людей высмеивают его в настоящее время:
- Язык: Давным-давно язык был наполнен небезопасными шаблонами, странными функциями, спагетти глобального пространства имен и плохими практиками. Это уже не так.
- Экосистема: Многие плохо разработанные плагины (особенно в WordPress) и плохой самостоятельно разработанный код привели к неработающим приложениям и взломанным веб-сайтам. Экосистема не была такой зрелой, как сейчас.
- Люди: Большинство людей приняли решение, когда два пункта выше присутствовали и с тех пор не изменили своего мнения. Это плохое развитие в их глазах, и не имеет значения, что с тех пор оно значительно улучшилось.
Все эти проблемы привели к тому, что лица, принимающие решения в крупных корпорациях, поставили PHP в качестве угрозы безопасности и решили больше не разрешать PHP - и из-за отсутствия лобби никто ничего не сделал против этого. На западном и глобальном корпоративном уровне PHP давно мертв, и нет никаких намерений что-либо менять в нем. Это плохо, потому что корпорации запрашивают таланты у рынка и системы образования.
Поэтому, когда вы идете в любой европейский университет сегодня (возможно, и другие тоже), они научат вас тонне JavaScript, в то время как PHP - это просто побочная заметка. Молодые люди не думают, что PHP - это круто и перспективно, молодые таланты всегда выбирают JavaScript или Java, или Python, и именно поэтому вы в основном видите мужчин в возрасте от 35 до 50 лет на конференциях и встречах PHP.
Принимать общее принятие Интернета в качестве показателя эффективности довольно бесполезно, учитывая, что трафик и использование распределены неравномерно, и большинство веб-сайтов в Интернете ... довольно плохо. Таким образом, даже когда веб-номера кажутся хорошими, количество популярности выглядит довольно плохо. Это нужно изменить!
Как JavaScript справился с этим?
JavaScript оказался в аналогичном положении. Но это был единственный язык, который безопасно работает в браузере, поэтому, несмотря на то, что язык довольно плохой, разработчикам пришлось заставить его работать. Развилась сверхбогатая экосистема фреймворков и компиляторов, которая подтолкнула новые языки, такие как Typescript, чтобы заставить замолчать даже самых известных критиков.
Но главной причиной успеха JavaScripts стали молодые разработчики. На мой взгляд, JavaScript стал частью корпоративного стека, потому что это был крутой способ развития на предприятиях и, следовательно, способ привлечения молодых талантов для компании.
Возможное решение
Сумасшедшая вещь заключается в том, что если вы очень хорошо знаете PHP и, возможно, даже участвуете в экосистеме Laravel, вы знаете, насколько это безумно хорошо. Любой, кто знает Laravel и пытался опрокинуть палец в стеке фреймворков NestJS, NextJs и JavaScript, знает, насколько далеко впереди Laravel. Просто посмотрите на функции или проблемы GitHub и сравните зрелость (= ремонтопригодность) и будущую версию системы. Vercel только что объявил о cronjobs... Хм, круто, наверное? Как насчет миграции, очередей, поиска событий или всего прочего, необходимого для запуска платформ?
Но это не значит, что так и останется. Молодые люди должны прийти на борт и делать сумасшедшие вещи, а предприятия должны позволить еще раз взглянуть на текущее состояние PHP и бросить вызов своим прежним мнениям о нем. Как мы можем вернуть их на борт?
Все просто: просто переименуйте следующую версию PHP в HypeScript и сделайте крупное репозиционирование бренда. Да, это будет восприниматься как что-то новое, и люди будут смотреть на это. Также будет возможность упразднить старые куски PHP или добавить более строгие правила, такие как обязательность типов для улучшения качества и производительности на этом пути.
Брент Руз поделился своей идеей о том, что PHP станет более похожим на TypeScript год назад на своем канале (спасибо @chrolear за то, что указали на это). Я не думаю, что эти радикальные изменения необходимы для того, чтобы внести эти изменения.
У PHP просто есть проблема со своим брендом, а не с его технологией — так что это можно даже сделать, не меняя язык программирования вообще. Людям просто нужна причина, чтобы взглянуть на это со свежим умом, и изменение имени покажет людям, что старый PHP ушел в прошлое.
Название HypeScript звучит для меня как логическое название, оно также отдает дань уважения названию PHP (PHP: Hypertext Preprocessor).
Но... Как?
Да, это может показаться нетривиальной вещью.
Но в настоящее время существует лишь ограниченное количество крупных игроков, поддерживающих PHP. Помимо WordPress, Symfony и Laravel, есть в основном устаревшие приложения, работающие на PHP, которые могут продолжать это делать. Скорость принятия PHP8 безумно медленная (~ 3%),, но люди, которые принимают PHP8, будут приветствовать изменения, они все равно находятся на переднем крае.
Предположим, что команда PHP Core Team (PHP Foundation) с помощью Тейлора Отвелла (Laravel) и Фабьена Потенсье (Symfony) будет продвигать эту тему, я думаю, что большая часть профессионального сообщества PHP последует. Хак, возможно, даже есть способ убедить Мэтта Малленвега (WordPress) наконец-то сделать новую версию WordPress, основанную на современных принципах. Никиту Попова следует убедить вернуться в качестве советника в этом процессе, поскольку его вклад в язык имел такое значение.
Я помню, когда Facebook выпустил HACK и его HHVM Server для питания своих PHP-приложений, это был такой троянский конь для разработки PHP. Всякий раз, когда они сталкивались с отделом безопасности или корпоративным архитектором более крупной компании, говоря им, что стек приложений написан на HACK (новый классный язык из Facebook), они поднимали брови и интересовались — когда я говорил PHP, они просто не нанимали меня, потому что не могли.
Давайте объявим PHP наследием и предоставим новый брендинг в качестве преемника, вы можете похоронить весь негатив, с которым он приходит, и стать серьезным конкурентом, который также хотели бы использовать крутые дети - не меняя всю экосистему! Через несколько лет мы все станем старыми разработчиками, и молодежь будет относиться к нам так, лучше возьмите их на борт сейчас!
Будущее
Поскольку стек Enterprise сильно отличается с точки зрения бюджета и распределения ресурсов, наличие HypeScript позволит компаниям расти, как их аналоги Java, с сотнями и тысячами разработчиков, работающих над этим стеком. Молодые люди начнут изобретать заново структуры и библиотеки, и новые идеи станут гораздо более актуальными.
Это звучит намного лучше, чем стареть! Возможно, молодежь здесь, в LaraconIN, окажет влияние на нас, старых разработчиков — кажется, что именно они поддерживают популярность PHP. Я люблю программирование на PHP и не хочу быть таким спокойным по этому поводу.
Спасибо за чтение