IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрезмерное внимание без объективных предпосылок к этому. Все это по итогу влияет на востребованность специалистов по конкретному языку, работающих на конкретной технологии, на определенной зарплатной вилке.  

В этой статье я поделюсь своим мнением насчет востребованности PHP, как современного языка программирования – актуален ли он на 2022 год или нет.

Что из себя представляет PHP

Обычно при обсуждении языка программирования приводят его сильные стороны, поэтому я буду следовать традиции и расскажу, почему PHP – это клевый  и современный язык программирования.

Отличная производительность. Команда CORE PHP разработчиков выполнила гигантскую работу по оптимизации PHP и сделала его более производительным. Так, например, в своей статье Дмитрий Стогов приводит бенчмарк для версии PHP 7.0, где демонстрируется, что PHP обходит по производительности своих конкурентов, таких как Python и Ruby, и даже не сильно отстает от Java с выключенным  JIT.

В версии  PHP 8.0 завезли нативный JIT, что вывело его производительность на уровень лучших языков программирования. Поэтому я уже давно с недоумением смотрю на людей, которые говорят, что PHP медленный. Когда-то это было так, но сейчас он обходит своих конкурентов по производительности.

Эффективный синтаксис языка. Хотя PHP часто критикуют за то, что он сделан академически неправильно, у него есть одно безусловное преимущество: его универсальные конструкции достаточно эффективны, чтобы на них решать большую часть задач и не тратить время на выбор подходящей структуры данных. В итоге достигается большая скорость разработки, а это именно тот фактор, который решает, будет ли проект успешен или нет. Как бы программисты не рассуждали о том, что на определенном языке невозможно сделать хороший проект, а на другом можно, все же ключевой показатель – это Time-To-Market. И вот тут PHP – король!

Разумеется, в PHP работа со строками сделана не так круто, как в Python, а конструкция switch/case не насколько богата, как в том же Swift, но, во-первых, работа в эту сторону ведется, а во-вторых, возможностей современного PHP ужедостаточно для решения большинства задач в элегантной манере. Как говорится, CodeWars вам в помощь!

При этом, если нужно оптимизировать какой-то участок кода, можно воспользоваться SPL, где уже сосредоточиться на том, что именно вы хотите сделать.

Современные фреймворки. Хаос в мире PHP, когда каждый школьник писал своей велосипед непонятного качества, подходит к концу. На рынке определился устойчивый стек технологий, знание которого ожидают от разработчика. В данном случае для разработки малых и средних проектов принято использовать Laravel, а если вам нужно сделать полноценную корпоративную систему, то лучше выбрать Symfony. Для работы с базой принято использовать Doctrine, который является фактически реализацией Hibernate из экосистемы Java.  Это все – современные решения, которые впитывают в себя лучшие практики и активно развиваются большим комьюнити разработчиков. Работа с этими инструментами ведется удобно и эффективно.

Конечно, на рынке есть множество CMS систем, которые также эволюционируют и развиваются. И более того, как раз на поддержку таких систем можно найти первую работу и начать строить свою карьеру в IT. Но нужно понимать, что эпоха, когда у каждой компании есть сайт , заканчивается. Теперь принято использовать либо социальные сети, либо сайты построенные на конструкторах (wix/shopify/bigcommerce/tilda и так далее). Кстати, все эти конструкторы написаны на PHP и оцениваются в миллиарды долларов. Неплохо так для синего слоника!

Удобный туллинг. Разработка проекта – это не только написание бизнес логики, но и поддержание кода проекта в надлежащим виде. Для этого в мире PHP есть отличные инструменты: дебага (xdebug), оптимизация кода (blackFire),написание тестов (phpUnit), автоматический формат кода под стандарты (code_sniffer), а также статические анализаторы кода (PHPStan) и миграции на новые версии PHP и популярных фреймворков (rector).

Есть весь туллинг, который нужен современному разработчику, чтобы писать максимально надежный код надлежащего качества с минимальными тратами времени. Поэтому качество современных проектов на PHP становится гораздо выше, чем оно было раньше. И более того, я дам смелое замечание, что качество проектов на PHP становится выше, чем проектов на Python и Ruby в силу эволюции языка в условную Java с батарейками.

Направленная специализация. Все внимание CORE PHP разработчиков и PHP-комьюнити сосредоточено на том, чтобы сделать PHP максимально удобным и эффективным инструментом написания бекенда. Именно поэтому современные PHP-фреймворки и библиотеки оказываются лучше, чем аналоги на других языках программирования. Когда есть фокус и понятный вектор развития, можно сэкономить много времени и сил на второстепенные вещи.

Конечно, именно поэтому PHP нельзя назвать в полной мере языком общего назначения, ибо для других целей, кроме бека его редко используют. Но вы уже должны для себя решить: вам нужна призрачная универсальность или максимальная эффективность? Тем более специализация первична для разработчика, язык вторичен.

Учебные материалы и профессиональная литература. С релизом PHP 7.0 язык перешел в категорию клевых языков программирования, поэтому для него стали писать книги и записывать курсы настоящие профессионалы своего дела. Поэтому сейчас можно найти множество хороших онлайн-курсов на PHP, бесплатных туториалов на YouTube и книг по PHP с  Laravel и Symfony. 

Определенная часть материалов все еще доступна только на английском языке, но уже лишь вопрос времени, когда это все издадут на русском. Я сделал краткие обзоры современных книг по PHP, вы можете найти их в моем профиле.

Развитое сообщество разработчиков. 
PHP развивает и продвигает сплоченная группа людей, верящих в светлое будущее PHP и делающих каждый день его лучше и популярней. Значительная часть этих ребят – русскоязычные ребята, которые открыты к диалогу и обмену мнениями.

Более того, у PHP есть THE PHP FOUNDATION, который готов спонсировать работу талантливых разработчиков, уверенных в своих силах и желающих сделать PHP еще более лучшим языком, чем он есть сейчас.

Поэтому если есть желание сделать работу, от которой будет зависеть работа тысяч PHP-разработчиков  – never give up on your dreams. Это возможно независимо от возраста!

Никита Попов начал участвовать в развитии PHP c 13 лет
Никита Попов начал участвовать в развитии PHP c 13 лет

Что по ситуации на рынке с PHP

После того, как мы определились с тем, что PHP – клевый и производительный язык программирования, поговорим о ситуации на рынке: на что может рассчитывать человек, который посвятит свое время работе на PHP. Ведь именно от того, на каких проектах будет работать человек, зависит его карьера и финансовые возможности.

Достаточно быстрый старт карьеры на PHP. Если мы посмотрим на Python или Ruby, то обнаружим, что начальные позиции требуют достаточно высокого уровня компетенции разработчиков. И причина заключается в том, что на Ruby и Python не пишут "стандартные" проекты. Каждый проект на Python (Ruby) представляет собой кастом. Без коммерческого опыта, если вы не являетесь выпускником топового вуза, попасть на такой проект достаточно сложно.

На PHP ситуация совершенно другая. Тут большое количество стандартных проектов, на которых можно начинать свою карьеру и набивать руку, печатая значок доллара в PhpStorm. Да, это будут не самые передовые и интересные проекты, но вы начнете свою карьеру, пока на другом стеке вам нужно было бы все еще бежать за поездом it-индустрии. А дальше нужно лишь добрать знания и опыт и можно переходить на кастом (Symfony или Laravel).

Гораздо лучше уже работать в индустрии, получать коммерческий опыт и учиться на живых проектах, чем сидеть дома и пытаться самостоятельно вытянуть себя на позицию крепкого джуна. Сделать это достаточно сложно, гораздо лучше развиваться в рабочем коллективе.

Огромное количество досягаемых компаний. Когда идет обсуждение вакансий, многие приводят цифры, что условно на Django 60к вакансий, а на Laravel только 11к. Но если посмотреть географию этих вакансий и прикинуть ваши шансы устроиться на них без серьезного опыта и хорошего английского языка, окажется, что в СНГ на Laravel вакансий больше,чем на Django. Ну и естественно ваши шансы также выше!

Вам же нужно устроиться на работу, начать получать опыт, зарабатывать деньги, а не считать потенциальные вакансии где-нибудь в Сиэтле, на которые вы сможете претендовать лет через 5 минимум. Поэтому с PHP все очень хорошо в плане вакансий, гораздо лучше, чем на многих других стеках.

Компании с хорошим продуктом. На PHP уже давно делают не только сайты визитки и форумы, но и качественные продукты, которыми каждый день пользуется огромная аудитория людей. Более того, эти компании представлены в различных сферах, поэтому PHP-разработчики могут поработать с разными продуктами.

Совсем недавно, я привел характеристики топовых компаний и предложил список компаний на PHP-стеке, которые считаю отличными. Ознакомиться со статьей вы можете по ссылке - "Tier-1 компании на рынке PHP в РФ". 

Работа с возражениями по PHP

Выше мы обсудили, почему стоит выбрать PHP в качестве своего стека, и я привел аргументы в пользу старта карьеры на PHP. Теперь я постараюсь ответить на самые популярные возражения против того, чтобы учить PHP, которые приводят его оппоненты.

Низкие зарплаты на PHP. Да, действительно, разработчики на PHP в целом получают на 15-25% меньше, чем получают разработчики на Java, Go или тот же Swift. Но такая разница достигается за счет того, что на PHP много дешевых вакансий на поддержку не самых сложных CMS систем, а на том же Java топовые вакансии уходят куда-то в космос по деньгам и по сложности.

Если мы берем в целом middle разработчика на PHP (Symfony) и middle Java (Spring) разработчика, то разница в зарплате будет незначительной. При этом дорасти до middle уровня на PHP можно гораздо быстрее и приятнее, чем это делать на Java.

Поэтому если вы выбираете сложные и интересные проекты на PHP, а не ограничиваете себя поддержкой CMS систем, зарплаты на PHP показывают хороший уровень. Да и на CMS системах можно зарабатывать очень хорошие деньги, если работать на зарубежный рынок с условной Magento.

Если мы посмотрим обзор зарплат на хабре, то можно достаточно быстро заметить, что в общем-то различия между стеками не такие уж и большие. На php можно зарабатывать хорошие деньги в хорошей компании. 

Все достаточно ровно по стекам
Все достаточно ровно по стекам

Разработчики на PHP уходят на GO. Да, действительно, в больших компаниях определенную часть логики монолитов на PHP переводят на GO. Поэтому некоторые PHP-разработчики учат GO, чтобы реализовать этот переход. Однако, это не говорит о том, что компании полностью отказываются от PHP, они лишь переносят определенную часть логики на более подходящую технологию для высоконагруженных микросервисов. Так, например, на PHP-конференции разработчики шутили, что хотя на GO получается хорошо, все же основную часть логики они пишут на PHP, так как это банально быстрее и эффективнее, чем делать на GO.

Поэтому нет никакого массового бегства PHP-разработчиков на GO. Есть разумное понимание, что нужно писать на PHP, а что писать на GO. От PHP никто не отказывается.

Плохие проекты на PHP. Да, действительно, на PHP, в силу наличия огромного числа различных CMS, есть множество проектов сомнительного качества. Но это не говорит о том, что все проекты на PHP плохие! Просто на том же Python илиJava нет способа легко и быстро поднять несложные сайты, а на PHP эта возможность есть.

Если бы кто-то создал на Python удобную CMS систему (Django CMS не считаем, ибо она просто не может тягаться по удобству с CMS на PHP), то на Python также было много проектов низкого уровня.

Поэтому, если выбирать хорошие проекты на PHP, то сложность проекта и его качество будут сопоставимы с проектами на других языках.

PHP никому не нужен. Не нужно путать маркетинговый мусор и реальную ситуацию на рынке. То, что из каждого утюга говорят про Python и рекламируют его курсы, а про PHP никто ничего не говорит, никак не отражает реальную ситуацию на рынке востребованности той или иной технологии. Так, например, в своей статье "Сколько на самом деле вакансий на Python в веб-разработке (на примере Москвы)" я показал, что у нас чисто веб-вакансий на Symfony и Laravel больше, чем веб-вакансий на Python.

У PHP хорошая востребованность на рынке, можно достаточно легко найти хорошие вакансии. То, что язык не считается хайповым, не говорит о том, что он никому не нужен, он просто не хайповый и ничего больше. 

Презрение к PHP в IT-индустрии. Мнение, что на PHP пишут плохие проекты плохие программисты появились в IT-индустрии тогда, когда действительно на PHP писалось много плохих проектов не самыми опытные программистами. И это происходило по той причине, что PHP был настолько прост и удобен, что многое прощал молодым разработчикам. И в этом в не было ничего плохого!

С тех пор прошло уже много времени, PHP развился в мощный и эффективный язык, который позволяет писать код надлежащего качества с правильной архитектурой. И это делается уже гораздо проще и лучше, чем на других стеках.

Однако, многие, кто продолжает критиковать PHP, застряли в прошлом и воспроизводят свой далекий опыт по работе с PHP. Это уже не имеет никакого отношения к реальности, но люди редко просто так отказываются от своих предубеждений. Поэтому просто нужно продолжать работать и своими проектами показывать, что PHP стал лучше!

Cтарые шутки про старый PHP
Cтарые шутки про старый PHP

PHP скоро умрет. Этому не суждено сбыться в ближайшем будущем. PHP занимает уникальную нишу на рынке, которую в свое время пытались отобрать Python, Ruby, Node.js и .Net Core, но все потерпели крах. Поэтому, пока язык развивается, пока на нем стартуют новые проекты, пока бизнес выбирает PHP, с ним все будет хорошо.

В своей статье "Потрясающее будущее PHP-стека для карьерыя описал причину, по которым PHP – перспективный и актуальный стек. И у меня нет причин считать, что я ошибаюсь. 

Почему не стоит учить PHP

После того, как я высказал свои аргументы против основных возражений против PHP, я хотел бы рассказать о реальных причинах, когда PHP не является оптимальным выбором. Нужно хорошо осознавать, что у всех технологий есть свои особенности и слабости.

Миграция в Северную Америку в топовую IT-компанию. PHP имеет хорошую популярность в СНГ и Европе. PHP также широко востребован для написания проектов средней сложности в США и Канаде. Также иногда в Северной Америке на нем пишут топовые проекты (тот же Facebook). Однако, если мы берем топовые компании Кремниевой Долины, то в большинстве из них не будет PHP. Это особенности рынка США и их нужно учитывать, если у вас была мечта переехать в США и устроиться в Microsoft или Google.

Исключительно backend. PHP имеет четкую специализацию по написанию backend для проектов разной сложности. Поэтому если вы хотите делать игры, писать мобильные приложения, заниматься computer vision, ML или какими-то другими сферами, то PHP вам не подойдет по той причине, что вы просто не сможете это сделать.

Максимальный доход, как разработчик. 
Если у вас есть цель получать максимальный доход, работая разработчиком (не свой бизнес, не свои проекты, не руководящая позиция, а вот именно как разработчик), то пока PHP не может предложить топовые зарплаты. На рынке существует множество вакансий с хорошим уровнем оплаты (максимально приближенным к топовым), но если вот прямо нужен топ, то это скорее Java, GO или Swift в определенных компаниях. Но тут уже каждый для себя выбирает, что подходит конкретно ему.

Стоит ли учить PHP: Итоги

PHP – это современный и эффективный язык программирования, который имеет уникальную нишу на рынке. Возможностей языка и экосистемы PHP достаточно для написания проектов самого разного уровня. На PHP много вакансий на рынке, и он востребован для написания новых проектов, что говорит о хороших перспективах для языка в будущем. PHP поддерживается большим числом людей, поэтому нет повода считать, что с ним будет что-то не так.

PHP – это отличный язык для старта своей карьеры в IT-индустрии и развития себя как востребованный и высокопрофессиональный разработчик. Праздник жизни будет продолжаться вместе с PHP, и 2022 год не станет исключением.

Комментарии (69)


  1. Gordon01
    21.12.2021 10:32

    ПХП хороший и приятный язык, восьмая версия действительно быстрая, работает на уровне Го. При этом ужасный го очень любят в русском айти, а пхп считается "зашкваром".

    Жаль, конечно, что хорошие разработчики уходят из пхп в раст, из-за этого недавно пришлось фонд ПХП создавать: https://blog.jetbrains.com/phpstorm/2021/11/the-php-foundation/

    Точнее, мне то не жаль, я на пхп уже давно не пишу, в отличии от раста, но пхп до сих пор люблю и иногда пользуюсь.


    1. Bigata
      21.12.2021 13:43
      +4

      А чем ужасен GO?


      1. Gordon01
        21.12.2021 14:06
        +1

        Не хочу писать — гошники минусуют.

        Может быть, статью сделаю, тем более у меня она уже есть на внутреннем корпоративном ресурсе.


        1. Hett
          22.12.2021 08:54
          -1

          В Go хотя бы дженерики завезли.


    1. Hett
      21.12.2021 22:39
      +8

      Из PHP уходят в Rust? Извините, но это откуда такая информация? Когда читал, чуть чаем не подавился.


      1. Gordon01
        21.12.2021 23:08

        В моем комментарии есть ссылка, ее можно открыть.


        1. Hett
          22.12.2021 08:51
          +2

          Один Никита Попов ушел - экстраполировали на всех PHP-шников?

          Обычные средне-статистические PHP-ники не уходят в Rust, по крайней мере массово. Поверю, что куда-нибудь в NodeJS, но не Rust.


          1. snegprog
            22.12.2021 12:16

            Так на сколько знаю Никите просто нравится Rust и он уже давно контрибьютит и туда. Просто человеку захотелось развития как личности, Rust совсем другие принципы нежели PHP, Java, Go или NodeJS


          1. Gordon01
            22.12.2021 12:25

            Gordon01 21.12.2021 в 10:32

            Жаль, конечно, что хорошие разработчики уходят из пхп в раст

            Hett 22.12.2021 в 08:51

            Обычные средне-статистические PHP-ники не уходят в Rust

            Спасибо, это именно то, что я изначально написал. Попробуйте читать внимательно и до конца то, на что отвечаете.

            Еще предлагаю подумать, в чем разница между ПХП-разработчиками и разработчиками ПХП.


    1. volmarx
      22.12.2021 01:51
      -3

      Работает на уровне go? Go в десятки раз производительнее, так как он компилируемый и легковесный


      1. Gordon01
        22.12.2021 08:48
        +3

        Попробуйте найти пруф, очень удивитесь


        1. QeqReh
          23.12.2021 08:05

          1. Gordon01
            23.12.2021 10:12

            Эта ссылка тут уже была, зачем ее повторять.

            Вам тоже предлагаю внимательно и до конца читать то, на что отвечаете:

            Go в десятки раз производительнее


    1. QeqReh
      23.12.2021 08:04

      восьмая версия действительно быстрая, работает на уровне Го.

      Судя по бэнчмаркам PHP медленее Go в шесть раз.


  1. irbis_al
    21.12.2021 11:06
    -3

    Я PHP люблю за вот это

    Можно на лету сгененрировать PHP файл по некотрым правилам(Ну например что он поддерживает некий интерфейс.

    сделать include и тут же выполнить на лету.

     $newmodule_php =genereate_and_save(...arg)
      require_once('./connect/Idbcommon.php');//Интерфейс что должен поддерживать newmodule_php
      include_once(SYS_BASE_PATH . "некий путь/" . $newmodule_php . ".php");
            $t = new $newmodule_php(...arg);
            if ($t instanceof Idbcommon)...Выполняем только что на лету сделанную логику и это классно

    Это дает возможность типа саморазвиваться платформе ,что Вы пишите...на других языках так же сделать ещё тот головняк.

    Но мне в нем не нравится жесткая привязка к пути VM php типа /usr/local/php

    Даже если я компилирую его с другим путем /home/shop/php (во первых это тоже хардкодно) во вторый все расширения и дополнения всё равно ищут путь /usr/local/php

    если в java /home/user/java8/bin/java код запустить /home/user/java17/bin/java код /home/user/java6/bin/java код

    Так же в node

    для php экспериментов и т.д надо поднимать докер ..ибо основную среду PHP разработки можно испорить.


    1. Gordon01
      21.12.2021 11:16
      +11

      Не самая лучшая идея. Генерировать код на лету, в зависимости от каких-то внешних данных и исполнять его — прямой путь к уязвимостям типа log4j


      1. pbatanov
        21.12.2021 19:02

        Не обязательно генерировать в зависимости от внешних данных. Это могут быть зависимости от конфига, от наличия определенных пакетов в вендоре (автоматический бриджинг). Кодогенерация генерирует более оптимальные для исполнения структуры (можно почитать например про роутиниг симфони, который генерирует огромную регулярку по факту в кэш, супероптимизированную)


    1. bombe
      21.12.2021 11:56
      +3

      Можно не сохранять в файл:

      $class = new class implements SomeInterface {
          public function hello(string $name): string
          {
              return sprintf('Hello, %s!', $name);
          }
      };
      echo (new $class())->hello('World');


    1. pbatanov
      21.12.2021 19:05

      Но мне в нем не нравится жесткая привязка к пути VM php типа /usr/local/php

      В любом исполняемом скрипте можно лего получить полный путь до используемого интерпретатора

      https://www.php.net/manual/en/reserved.constants.php

      см. PHP_BINARY


      1. irbis_al
        21.12.2021 19:22
        -1

        Вообще не понял к чему Вы это...

        Мне не нравится хардкодный путь...я бы хотел его запускать откуда хочу... типа /home/shop/php и запускать его низкоприоритетным пользователем.(который вообще не видит /usr /bin и т.д )

        ещё бы я хотел иметь кучу версий для экспериментов /home/shop/php8 /home/shop/php7.2 /home/shop/php7.4 и т.д

        Задать этот путь можно только скомпилировав из исходников в файле config...и я так делал...но все расширения типа mysqli пытаютя стать в /usr/local/php и т.д ...а я бы хотел чтоб они ложились в home/shop/phpX или туда куда мне нужно(может это и можно дикими усилиями как-то добится...но овчинка думаю не стоит выделки...ибо есть докер)

        C java и node таких проблем нет....И можно например постепенно переползать на новые версии java(имея их сколько угодно в домашней папке) и изучать новые фичи


        1. pbatanov
          21.12.2021 19:42

          А, я понял о чем вы. Но снова не понял. PHP вполне себе успешно запускается после распаковки из зип архива, никогда не было проблем с расширениями. достаточно положить .so файлы в правильное место (в ext). На той же убунте легко поставить несолько версий пых параллельно, после чего тот же непривилигерованный пользователь может их вызывать по типу php7, php8, php81 и тд.

          который вообще не видит /usr /bin и т.д

          Эти папки видят все пользователи, даже бесправные, это системные папки и они прописаны в PATH. можно любому пользователю прописать любой PATH.

          В общем, нет никаких хардкодных путей в самой пыхе. Они могут быть в том способе установки и настройки пыхи, которым вы пользуютесь, но не в пыхе. У меня на компе пыха лежит в C:/Tools/PHP{74,80,81}, в PATH прописана 81, но при необходимости я могу рукам вызвать любую нужную мне версию (или например в шторм прописать как интерпретатор). и весь запущенный код этой пыхой работает именно с этой версией пыхи


          1. zaqqq13
            21.12.2021 22:22
            -1

            Видимо автор выше имел в виду что у вас будет проект работать полноценно, но к примеру UserRepository будет юзать 7.2 вместо 8.1, в теории такие кейсы могут быть и это действительно сложно реализуемо, но php довольно неплохо поддерживает обратную совместимость даже между мажорными версиями, вплоть до того что в 7.2 при отключении strict mode можно спокойно выполнять код, написанный на 5.3 или 5.6, получая в логи warnings иногда, но сам код будет вполне себе работать до тех пор пока не обновишь


            1. pbatanov
              21.12.2021 22:44
              +1

              Так работать не будет. Что в в джаве, что в ноде, что в пыхе интерпретатор\вм у вас один конкретный и (в случае пыхи) каким вы индекс файл запускаете - тем интерпретатором все и обработается, т.к. по сути все остальное - это цепочка инклудов\реквайров из него. Да, там есть обратная совместимость, но такого что вот эти файлы исполняются таким рантаймом, а такие - другим - такое я не видел ни в одной экосистеме. Такое можно сделать запуская отдельный код через экзеки, но это какие то уже странные подходы


        1. bat
          22.12.2021 07:44

          Разные версии php легко ставятся из стороннего репозитария, например, ondrej/php. Версия по умолчанию переключается с помощью update-alternatives. Ничто не мешает постепенно переползать на новые версии.


          1. irbis_al
            22.12.2021 08:56

            То, что Вы расказываете не соответствует моему опыту...Я нача "щупать" php с 7.4 Тогда в репозитории Centos 7(я работаю с Centos-redhat направлением) его не было...я сбилдил из исходников...становился в аккурат в хардкодную папку...можно юыло сбилдить(указав в конфиге ) в другую...но расширения не цеплялись к нему.

            Такая же фигня с php 8


    1. Hett
      21.12.2021 22:42

      Любой язык с препроцессором умеет генерировать код. Да и в джаве с котлином полно генераторов бойлерплейта, а инлай имплементация без костылей реализуется.


    1. unsignedchar
      23.12.2021 09:24

      Даже если я компилирую его с другим путем /home/shop/php (во первых это тоже хардкодно) во вторый все расширения и дополнения всё равно ищут путь /usr/local/php

      Подозреваю что вы эту кошку ещё не научились правильно готовить ;)


  1. init0
    21.12.2021 11:16
    +3

    Разумеется, в PHP работа со строками сделана не так круто, как в Python

    А можно хоть каких-то подробностей, чем конкретно работа со строками в Python лучше? Я питона не знаю, но по многим отзывам и личному опыту сложилось мнение, что уж с текстом в php все просто отлично.

    конструкция switch/case не насколько богата, как в том же Swift

    А как же новая конструкция match?


    1. GloooM
      22.12.2021 11:24
      +2

      Я тут недавно немного с Java поработал и понял как же удобно когда у тебя есть стандартный String ты ставишь точку и IDE в подсказке сразу выдает все эти .toUpperCase .toLowerCase .startsWith .contins и т.д. и тебе не надо мучительно вспомнить все эти дурацкие strstr strpos str_contains str_starts_with prereggreppos %) которые за каким-то фигом еще и названы по разным принципам, где-то подчеркивание, где-то слитно.

      В общем видно что в процессе разработки тут был такой разброд и шатания, а теперь обратная совместимость играет.

      В Python не спец, но то что видел там удобно сделано типа string[5:10] - можно выбрать кусок строки, и прочие вариации string[5:] string[:10] чтоб отрезать с разных сторон. Там в общем куча всякого такого сахара, хотя его тоже еще в голове держать надо, в то время как в той же Java подскажет IDE и по названию функции очевидно что произойдет со строкой )


  1. HellWalk
    21.12.2021 13:04
    -1

    Этой статьи оказалось мало? Всего 11 дней прошло. Складывается впечатление, что автор не свое мнение высказывает, а выполняет какую-то разнарядку по пиару PHP.


    1. init0
      21.12.2021 14:18
      +6

      Так а по сути/содержанию есть претензии? Ну не обсуждать же в самом деле ваш внутренний стандарт "на одинадцатый день пока рано" и тем более ваши впечатления, которые субъективны.


      1. HellWalk
        21.12.2021 14:42

        и тем более ваши впечатления, которые субъективны.

        Вы так пишите, будто чьи-то впечатления могут быть объективны))

        Мнение автора, что PHP это хороший язык для изучения в 2022 году также субъективно. По этому мне непонятна ваша претензия - каждый здесь высказывает свое субьективное мнение. Отписывался в его прошлой теме восхваляющей пхп, и отпишу здесь - все мои знакомые пхпшники собираются уходить с этого языка.


        1. init0
          21.12.2021 15:21
          +5

          Мнение автора, что PHP это хороший язык для изучения в 2022 году также субъективно.

          Автор написал статью, в которой его мнение подкреплено довольно увесистыми фактами в пользу оного и с чем уже можно спорить/обсуждать.

          По этому мне непонятна ваша претензия - каждый здесь высказывает свое субьективное мнение.

          Претензия была у вас. У меня лишь вопрос, есть ли что по существу статьи.

          все мои знакомые пхпшники собираются уходить с этого языка.

          Ок, а у меня 25см в холодной воде.


          1. HellWalk
            21.12.2021 18:25
            -1

            его мнение подкреплено довольно увесистыми фактами

            Допустим, а мое:

            все мои знакомые пхпшники собираются уходить с этого языка.

            Вы увесистым не считаете, а говорите что это:

            Ок, а у меня 25см в холодной воде.

            Но, представляете, я тоже самое могу сказать и по поводу аргументов автора. Что, например, зарплаты в php ниже топовых (по зарплатам) языков не на 15-25%, как говорит автор, а намного больше:


            1. oxidmod
              21.12.2021 19:17

              О ЗП нет смысла говорить без указания рынка
              Вот тут к примеру разница около 15%


            1. init0
              21.12.2021 21:16

              Допустим, а мое: "все мои знакомые пхпшники собираются уходить с этого языка." Вы увесистым не считаете а говорите что это: "Ок, а у меня 25см в холодной воде"

              Именно, мой "факт" по достоверности такой-же как и ваш, не находите?

              Что, например, зарплаты в php ниже топовых (по зарплатам) языков не на 15-25%, как говорит автор, а намного больше

              У вашей картинки мало того, что выборка зачем-то по мидлам так и еще никаких выходных данных. Далеко ходить не нужно - https://habr.com/ru/article/511700/


              1. batyrmastyr
                23.12.2021 13:18

                Картинка автора, к слову, расходится с его же словами:

                Если мы берем в целом middle разработчика на PHP (Symfony) и middle Java (Spring) разработчика, то разница в зарплате будет незначительной.

                На картинке для PHP - 100 тысяч, для Java - 132 тысячи. На следующей ступеньке 165 и 200 тысяч соответственно. Не очень-то похоже на "незначительную разницу".


                1. init0
                  23.12.2021 13:46

                  Значительная, это разница в 50%, даже если "притянуть за уши" - 30%, но никак здесь 20%.


            1. zaqqq13
              21.12.2021 22:28
              +1

              Вопрос в рынке и том, как строится подобная статистика, конкретно у меня сейчас в Минске на позиции миддла в пхп зарплата сопоставима с миддлами на той же джаве, но я не сижу при этом на саппорте в легаси проекте под древней как испражнения мамонта версией джавы, а учавствую в разработке новых проектов, по зп если быть точным - миддл на джаве зарабатывает в среднем долларов на 100-150 больше, тут скорее вопрос дальнейшего роста, у пхпшников потолок ниже, согласен, но и будем честны - до сумм в $5к+ далеко не каждый джавист сможет дорасти, должно повезти с навыками, софт скиллами, конторой и прочими вещами, которые далеко не всегда от тебя зависят


    1. Gordon01
      21.12.2021 14:26
      +3

      Почему бы и нет? ПХП — отличный язык, проверенный временем и нормально развивающийся. Да, у него есть недостатки, но в большинстве случаев, для бека это до сих пор лучший выбор из всего.


  1. EvgeniiR
    21.12.2021 15:24
    +3

    Поэтому я уже давно с недоумением смотрю на людей, которые говорят, что PHP медленный. Когда-то это было так, но сейчас он обходит своих конкурентов по производительности.

    Быстрый php по сравнению с другими интерпретируемыми языками, но он в разы(иногда на порядки) медленнее популярных компилируемых языков, в т.ч. упомянутой Java.

    Ну и раз уж заговорили о скорости, можно упомянуть, что в PHP практически не подходит для разработки приложений работающих асинхронно(с неблокирующими потоками). В языке для этого есть полторы библиотеки, и они не совместимы со всей остальной экосистемой PHP, включая многие функции стандартной библиотеки, и даже тем же xdebug

    Как бы программисты не рассуждали о том, что на определенном языке невозможно сделать хороший проект, а на другом можно, все же ключевой показатель – это Time-To-Market. И вот тут PHP – король!

    Очень общее утверждение, которое ничем не подкреплено

    либо сайты построенные на конструкторах (wix/shopify/bigcommerce/tilda и так далее). Кстати, все эти конструкторы написаны на PHP и оцениваются в миллиарды долларов. Неплохо так для синего слоника!

    Как минимум Wix не написан на PHP, насколько я знаю. Раз уж упомянуто в статье, хотелось бы ссылок на источник информации. Ну и многие компании, которые "оцениваются в миллиарды долларов", обычно осознают, что на таких масштабах с PHP пора съезжать на что-то более быстрое/удобное.

    Есть весь туллинг, который нужен современному разработчику

    Базовый тулинг есть, я бы сказал. С поддержкой современными платформами всё похуже, как и с библиотеками для более современного тулинга(например, трейсинг, или мониторинг из Прометея какой)

    Все внимание CORE PHP разработчиков и PHP-комьюнити сосредоточено на том, чтобы сделать PHP максимально удобным и эффективным инструментом написания бекенда. Именно поэтому современные PHP-фреймворки и библиотеки оказываются лучше

    Для полной картины, очень не хватает информации о том, сколько активных core contributors у PHP, а сколько у Java / Kotlin / C# etc. :)

    Именно поэтому современные PHP-фреймворки и библиотеки оказываются лучше, чем аналоги на других языках программирования.

    Это тоже ничем не подкреплено. Экосистема библиотек в C# / kotlin / Java / JS значительно богаче таковой у PHP. Это быстро становится понятно сравнением популярных клиентов/фреймворков/интеграций etc.

    Конечно, именно поэтому PHP нельзя назвать в полной мере языком общего назначения, ибо для других целей, кроме бека его редко используют. Но вы уже должны для себя решить: вам нужна призрачная универсальность или максимальная эффективность?

    Максимальная эффективность по каким метрикам?

    По поводу ситуации на рынке - согласен, что найти работу джуном на PHP сильно проще, и порог входа ниже(хотя и на эту точку зрения есть критические взгляды).

    Со сложными проектами на PHP ситуация уже похуже чем с другими языками, имхо.


    1. Gordon01
      21.12.2021 16:03
      +1

      Быстрый php по сравнению с другими интерпретируемыми языками, но он в разы(иногда на порядки) медленнее популярных компилируемых языков, в т.ч. упомянутой Java.

      Да нет там никаких порядков. ПХП 8 работает со скоростью го.

      https://itnext.io/compare-c-js-python-python-numba-php7-php8-and-golang-in-prime-number-calculation-55e82b6f82a9

      Если нужная максимальная скорость — то С, С++ или Раст.


      1. EvgeniiR
        21.12.2021 16:12
        +1

        Да нет там никаких порядков. ПХП 8 работает со скоростью го.

        Автор статьи за бенчмарк взял mandelbrot. https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/mandelbrot.html - разница в 6 раз. .


        1. Gordon01
          21.12.2021 16:28

          разница в 6 раз

          Да нет там никаких порядков

          ?

          Если нужная максимальная скорость — то С, С++ или Раст.

          C чем вы конкретно не согласны?


      1. godzie
        21.12.2021 17:01

        Если нужная максимальная скорость — то С, С++ или Раст.

        Судя по бенчмарку Вы JS тут забыли


    1. init0
      21.12.2021 16:23

      Ну и многие компании, которые "оцениваются в миллиарды долларов", обычно осознают, что на таких масштабах с PHP пора съезжать на что-то более быстрое/удобное.

      А можно список этих "многих"? У меня для вас есть обратный:

      • Yahoo

      • Facebook

      • Wikipedia

      • Flickr

      • Digg

      • SourceForge

      • VK и другие проекты VK Group

      • mailchimp

      • Etsy

      • Zynga

      • Slack

      • 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


      1. Jammarra
        21.12.2021 16:47
        +1

        У тех компаний из этого списка с которыми сталкивался PHP это легаси от которого не знают как избавится.


        С другой стороны программисты на COBOL все еще нужны) Что уже говорить о php


        1. init0
          21.12.2021 16:52
          +1

          А конкретно можно?


          1. Jammarra
            21.12.2021 16:55
            -2

            Взять тот же VK. Сужу по слухам и паре собседований, там ядро написала команда Дурова которая давно сменилась и свалила в силу всем известных причин. Как это работает никто не понимает. В наше время это нужно как то распилить на микросервисы. Как это сделать никто не понимает.


            И все ходят вокруг этого php монолита, страдают и пытаются найти людей которые смогут от этого всего избавится. Проблема ли это конкретного языка. Да нет наверное. Но что это лютое легаси это факт.


            1. init0
              21.12.2021 17:06
              +1

              Ясно-понятно, начали с "компаний" а в итоге только VK и "судим только по слухам". Вы вообще в курсе что там kphp?


              1. Jammarra
                21.12.2021 17:10
                -6

                Ну не послухам о компаниях рассказывать не буду ибо NDA


            1. Gordon01
              21.12.2021 17:39
              +4

              А где гарантия того, что те, кто работает "в наше время" умнее "команды Дурова"? Какой хороший разработчик в здравом уме сегодня пойдет в ВК?

              Как вы себе представляете ситуацию, когда разработчик, опыт которого позволяет разобраться в легаси монолите и аккуратно его переписать, придет в ВК добавлять API для выгрузки переписок тащмайору и разработки ВК.Такси?

              Тут не пхп виноват, а факт того, что нормальный разработчик не пойдет работать в ВК.


      1. EvgeniiR
        21.12.2021 16:55

        А можно список этих "многих"? У меня для вас есть обратный:

        Серьёзно? Половина компаний из вашего списка свои продукты переписывает с php на go/kotlin/kphp/hack/hhvm.

        Навскидку - Facebook(hhvm+другие языки), Wikipedia(hhvm), VK(kphp), Mailchimp(go), в Etsy бэк не только на php, судя по вакансиям, Slack(Hack), Avito(go), Badoo(go и др.), ЯЕда(c++ как минимум), Lamoda(go, kotlin), Delivery Club(go), и пр.

        Альфа банк, Space-X и пр.

        Space-X на php это интересно конечно. Вы не путаете основной продукт с каким-нибудь бложиком компании?


        1. Jammarra
          21.12.2021 17:02

          А сбер походу просто купил компании которые писали что то на php… Уверен что со временем тоже перепишут. В сам сбер вакансий на PHP не так что бы много было. Если на java их сотни то на php штук 20 хорошо если наберется. Опять же сужу по собесам.


          Я причем не разраб не могу сказать плох там php или нет. Просто как админ замечаю что php приложений которые надо поддерживать в компаниях встречаются все меньше и меньше. Java, python, go это да. А php обычно только то что писали лет 10-20 назад.


          1. popov654
            21.12.2021 21:57

            По моему опыту работы в двух компаниях на Symfony - это не так. Никакого переписывания того, что прекрасно работает и приносит деньги, никто в здравом уме делать не будет.


            1. Jammarra
              21.12.2021 22:50
              -1

              Подозреваю что у вас опыт программиста на php у меня же опыт админа и если 5-10 лет назад я php видел везде, то последние 3-4 года это был только легаси код. Который часто выкидывают и даже не пытаются завернуть в тот же кубер

              не берусь рассуждать плох этот язык или нет. Но то что он активно используется особенно в новых проектах, это точно враньё. Причины почему так без понятия. Может просто не модно, может есть недостатки.

              Добавлю что не скажу что меня это тренд радуют. Если раньше я весьма неплохо умел в пых, его трассировку и т.д. то потом пришлось разбираться в Джаве, Мавене, го и т.д. Но что поделать


        1. init0
          21.12.2021 17:52

          Половина компаний из вашего списка свои продукты переписывает с php на go/kotlin/kphp/hack/hhvm.

          Да, наверняка половина - я вам на слово так и быть поверю (нет)

          Facebook(hhvm+другие языки), VK(kphp), Slack(Hack)

          То есть таки php (видоизмененный)

          Wikipedia(hhvm)

          Не правда - php

          Avito(go)

          Опять не правда, бэк почти весь на php (даже микросервисы некоторые на php делают)

          Badoo(go как минимум)

          Как минимум не правда

          Mailchimp(go)

          Опять же... какие-то микросервисы, бэк на php

          ЯЕда(c++ как минимум)

          Бэк на c++? А че уж не на асме - быстро ведь. Но бэк у них на симфони, судя по этим вакансиям 1 2

          Lamoda(go, kotlin)

          И php вы забыли опять

          Delivery Club(go)

          PHP

          Space-X на php это интересно конечно. Вы не путаете основной продукт с каким-нибудь бложиком компании?

          Нет, я предполагаю использование php в основном там, где ему и место - на web backend, это вы похоже что на c++ и котлине хотите все писать.


          1. Gordon01
            21.12.2021 18:07

            Бэк на c++? А че уж не на асме - быстро ведь. Но бэк у них на симфони, судя по этим вакансиям 1 2

            Да это же Яндекс, они могут себе позволить. Там действительно бек на плюсах.


          1. EvgeniiR
            21.12.2021 19:30

            То есть таки php (видоизмененный)

            То есть таки иной язык, частично похожий, но не обратно-совместимый с PHP, и выбранный из-за наличия легаси.

            По поводу остальных примеров - вы наличием языка PHP в стеке компаний доказываете, что переписывания не происходит. В отдельном случаях прямо указывая, что на ПХП существует в основном легаси код.

            Ваши выводы не следуют из предпосылок, поэтому мне тут нечего ответить более :)

            это вы похоже что на c++ и котлине хотите все писать.

            А с каких пор котлин, с экосистемой богаче чем у PHP, и на который уже даже документация спринга переведена, не подходит для бэкенда?)


            1. popov654
              21.12.2021 20:56
              -1

              Котлин вообще неудобное странное УГ. Лучше бы уж тогда вы привели в пример Java, но версии до 7 включительно очень многословны, а на 8 просто сложно перейти тому, кто начинал с 5 или 6. PHP развивается более плавно, на мой взгляд.


            1. init0
              21.12.2021 20:57

              По поводу остальных примеров - вы наличием языка PHP в стеке компаний доказываете, что переписывания не происходит.

              Нет, этими примерами я доказываю то, что вы намеренно вводите в заблуждение меня и остальных не указывая его. Непонятно только зачем вы это делаете, когда информация эта легко проверяема.

              В отдельном случаях прямо указывая, что на ПХП существует в основном легаси код.

              Вы опять приписываете мне то, что я не писал и даже не подразумевал. Это в вашем выдуманном мире весь php код в энтерпрайзе - сплошное "легаси", которое все переписывают денно и нощно. В реальном мире PHP это лидер для написания web приложений для любых сфер, самый быстрый из интерпретируемых языков с огромной кодовой базой.

              А с каких пор котлин, с экосистемой богаче чем у PHP

              А кто вам сказал, что у Котлин экосистема богаче php?


              1. EvgeniiR
                21.12.2021 23:26

                Нет, этими примерами я доказываю то, что вы намеренно вводите в заблуждение меня и остальных не указывая его. Непонятно только зачем вы это делаете, когда информация эта легко проверяема.

                Я не указываю его, потому что в ситуации, когда происходит переписывание кода с php на другие языки, одним из языков в стеке будет php, неужели это действительно так неочевидно?

                А кто вам сказал, что у Котлин экосистема богаче php?

                А вам важно "кто мне сказал", или всё-таки экосистема?) Пока что у меня есть ощущение, что поставить галочку о победе в споре, и таким образом защитить полюбившуюся технологию вам важнее, чем реальные ответы на вопросы.

                Будем сравнивать экосистемы PHP vs Java+Kotlin?)

                Можем начать, например, с количества фреймвокров поддерживающих actor model, или как я выше писал, клиентами open telemetry, или даже клиентами к Кафке, из популярного :)

                Ну и в целом есть много областей где Kotlin/Java как языки представляют сильно больше возможностей и юзкейсов для развития экосистемы, за счёт чего расширяют её, и позволяют решать более широкий класс задач(взять ту же асинхронность)


    1. zaqqq13
      21.12.2021 22:33

      Асинхронного выполнения как такового нет, верно, есть корутины и промисы, которыми если честно, никто особо в реальных проектах не пользуется, да оно и не надо как правило в сфере применения языка. На крайний случай все что надо выполнить когда-нибудь можно запихать в асинхронную очередь и пусть хоть 100 тасков выполняется асинхронно в фоне в отрыве от скрипта, в основном так и делают и этого более чем достаточно


  1. NurGeo
    21.12.2021 19:24
    +1

    А кто целевая аудитория статьи? Кого убеждаем?


    1. N0zzy
      21.12.2021 22:13
      +2

      Для антипхпешников. Убеждают, чтобы пхпешники перестали писать на пхп.


  1. nex-54
    22.12.2021 01:30

    Мета использует Hack все же, не PHP.

    Ито многие внутренние сервисы пилятся на других языках. Сейчас тенденция двигаться в сторону Rust.


    1. nex-54
      22.12.2021 01:31

      И лично я считаю, что Hack (php) - это главный минус работы в Meta.


  1. werevolff
    22.12.2021 04:18
    -3

    Я бы ещё порекомендовал выучить в 2022 году Ruby с фреймворком Ruby on Rails, а ещё, Cofee Script и, на всякий пожарный, Action Script. Потом можно будет открыть Некромант-Студио и на собеседовании отдельным пунктом просить написать скрипт на Perl.


  1. djamali
    22.12.2021 14:29
    -3

    В общем статью можно назвать так : Похабный похапэ наше все .

    p.s. Сам пишу на php