Привет, Хабр! Представляю вашему вниманию перевод статьи "PHP in decline: The rise and fall of a programming language" автора Сара Шлотхауэр (Sarah Schlothauer).


Когда-то PHP был одним из самых популярных языков программирования, однако на сегодняшний день он продолжает терять свою былую популярность. Это особенно заметно при его сравнении с Python, а также рядом других языков программирования. Индекс TIOBE за сентябрь 2019 года ясно указывает на то, что PHP вполне может вылететь из десятки наиболее востребованных языков программирования.


Пора ли заказывать по умершему панихиду? Или наш "феникс" еще будет летать?


PHP уверенно следует по траектории падения своего индекса TIOBE, заданной еще пять лет назад. В частности, показатели индекса TIOBE за сентябрь 2019 года говорят о том, что за последние 12 месяцев этот язык программирования опустился в списке на две позиции — с 7 на 9 место.


Ниже приведен скриншот индекса TIOBE Index за сентябрь 2019 (источник):


image


Что касается языков-"новичков", то в этом месяце под номером 11 в списке дебютирует Apache Groovy.


В прошлом году он занимал скромное 34-е место, поэтому его нынешняя позиция в списке является, несомненно, большим успехом. Groovy в некотором смысле похож на Java, что позволяет Java-разработчикам легко освоить этот язык и интегрировать его с Java/библиотеками сторонних разработчиков.


Причины снижения популярности PHP


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


Что же привело PHP к такому печальному финалу?


Собственно, процитируем непосредственно сам индекс TIOBE:


"До конца 2009 года все было отлично, но затем, за два года, этот язык программирования потерял половину своей доли рынка, которая снизилась с 10 до 5%. В 2014 произошло еще одно двукратное уменьшение сегмента рынка, на котором господствовал PHP — до 2,5%. Что же произошло с этим языком программирования? Недостатком PHP являлась его уязвимость в вопросах безопасности, которая была, в свою очередь, производной его простоты. При этом PHP мучительно долго боролся с этим недостатком. В частности, в 2014 году основной идеолог использования PHP — компания Facebook — запустила Hack, намереваясь заменить им PHP, так как последний не мог обеспечить должную масштабируемость. К тому же к этому времени в качестве универсальных языков веб-разработки начали использовать JavaScript, TypeScript и Python".


Взлеты и падения


Недавнее видео на Reddit от Global App Testing наглядно иллюстрирует историю расцвета и упадка различных языков программирования за последние 10 лет. На видео указаны самые популярные языки на StackOverflow с 2008 года. Посмотрите его — оно не столько информирует нас о сухих фактах и цифрах, сколько завораживает своей подачей графической информации.


На видео видно, о каком языке программирования было задано больше всего вопросов.


Вы удивитесь, но несколько раз за свою историю PHP был популярнее Java! Словно на ипподроме, кажется, что лошадка с кличкой PHP вот-вот станет первой. Однако примерно с сентября 2016 года нашего фаворита начинает обгонять Python, после чего PHP уже не суждено оправиться от полученной бреши в броне. История языка начинает плавно идти по наклонной.


Ну что, конец?


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


Конференции по PHP проходят по всему миру. Только за последний год PHP стал центральной темой митапов и встреч программистов в Японии, Бразилии, Украине, Германии, Китае, США и на Тайване.


Кроме того, официальный Твиттер-аккаунт php.net в настоящий момент насчитывает 67.7 тысяч подписчиков. Кроме того, 5 сентября 2019 года вышел последний релиз языка PHP — версии 7.4. При этом Reddit-аккаунт PHP насчитывает 105 тысяч членов, активно обсуждающих соответствующие фреймворки, IDE, а также последние новости из мира PHP.


Не стоит также упускать из виду и другие показатели популярности PHP. Свежий отчет IEEE Spectrum зафиксировал 13-е место PHP в своем рейтинге, где "соседями" этого языка программирования стали Assembly (этажом ниже) и HTML/CSS (этажом выше).


Если вы все еще беспокоитесь о "здоровье" PHP, беспокоиться не о чем, потому что в рейтинге языков программирования RedMonk за июнь 2019 года PHP занимает 4 место!


Ниже приведен скриншот рейтинга языков программирования RedMonk Q3 2019 Programming Language Rankings (источник):


image

Этот рейтинг учитывает количество хранилищ GitHub, связанных с PHP. Другими словами, может быть, что PHP-программисты задают совсем немного вопросов на StackOverflow, но уж "кодят" они достаточно.


Да и вообще вы видели символ языка PHP? Лично ВЫ готовы похоронить эту милую зверюшку?

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


  1. DrPass
    14.12.2019 16:00
    +4

    TIOBE же показывает не популярность языка, а количество вопросов по нему. Там прямая корреляция и со сложностью есть, и с отсутствием документации, и с релизами новых версий. Чтобы оценить, теряет популярность PHP или нет, надо задать вопрос: появились ли какие-то CMS, написанные не на PHP, которые успешно теснят WordPress, Joomla, Drupal и прочие MODx'ы?


  1. dimsog
    14.12.2019 16:24
    +11

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


  1. talik
    14.12.2019 16:34
    -1

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


    1. usego
      14.12.2019 18:53

      И любые SPA и прочие реакты, которых чем дальше, тем больше.


    1. AlexBin
      14.12.2019 19:24
      +2

      Php для веб-сайтов, как был на 1 месте, так и есть.

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


  1. vism
    14.12.2019 19:14
    +4

    Какая-то желтая статья.
    Индекс и анализ лишь о популярности языка в поисковике.
    Ну естесвенно, что PHP имеет намного меньшую популярность в поисковике, т.к. появились смартфоны и начали ползти вопросы и статьи по Java и C
    Повились всякие реактивные JS и тоже выросла популярность в поисковике.

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


    1. AlexBin
      14.12.2019 22:01

      Какая-то желтая статья.

      Такой же вопрос и вам. Можете показать, на какие подсчеты вы опираетесь?


      1. vism
        15.12.2019 01:36

        Я не писал ни о каких подсчетах.
        Я писал о подмене понятий в статье, перечитайте мой комментарий еще раз.

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

        Да в конце статьи есть вроде упоминание о том, что реально то PHP популярен и вполне не плохо держиться, но дальше эмоциальный риторический вопрос «Лично ВЫ готовы похоронить эту милую зверюшку?», вызывающий ассоциацию, что пора хоронить. Опять стиль желтых новостей.

        Резюмируя, однобокое/односторонее рассмотрение вопроса, это не те подсчеты, которые отражают реальную картину. Но на этом однобоком рассмотрении с помошью индекса TIOBE написана статья о том, что PHP умирает, с достаточным колличеством эмоциональных оборотов таких как «При этом PHP мучительно долго боролся с этим недостатком», чтоб определить статью в раздел желтых.

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


        1. AlexBin
          15.12.2019 02:28
          +1

          Ну так вроде все правильно в статье пишут. PHP теряет свою популярность относительно других языков. Те же JS и python расширяют область своего применения. Python раньше применялся только в области научных вычислений, затем пошел в системное администрирование, занял веб, является чуть ли не стандартом де-факто для ML, пытается влезть в мобильную разработку. JS аналогично из браузерного языка стал серверным. Таким же образом расширяются .NET и многие другие.

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

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

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


          1. antonkrechetov
            15.12.2019 08:08

            Поэтому если PHP сейчас резко (и качественно) не въедет в какие-то другие ниши, количество PHP-разработчиков будет снижаться.
            Следует все-таки заметить, что индекс TIOBE ничего не говорит об изменении количества разработчиков.
            За 10 лет абсолютная популярность PHP могла в реальности вырасти в десять раз, но, если другие технологии росли быстрее, мы в этом индексе этого не увидим.


          1. vism
            15.12.2019 14:03
            -1

            Возможно, но

            Такой же вопрос и вам. Можете показать, на какие подсчеты вы опираетесь?
            :)
            Да, только слепец бы говорил, что популярность в процентном соотношении растет. Конечно сейчас много других достойных ЯП для WEB и они успешно завоевывают рынок.
            Но, после php 7, говорить о смерти PHP и использовать эппитеты из статьи очень преждевременно.
            Я, как разработчик на PHP с 10-ти летним стажем, по моим ощущениям(без подсчетов), вижу только абсолютный рост. Развивается сам язык, фрэймворки, библиотеки, интеграции. Очень много новичков, много работы на мировом рынке (upwork, freelancer).

            И мой посыл был напрвлен на то, что автор статьи, изпользуя один факт, раздул из него несуществующую проблему, ради громкого заголовка и вывода. А все совсем не так.
            Быть может вы меня не поняли, т.к. прочитав статья увидели лишь вывод «PHP теряет популярность в процентом соотношении» и да, это так :)
            Но, я увидел «Ааааа, PHP умирает, все карамба, эвакуация. PHP был хорош, а теперь от него все отказываются, печальный финал! Упадок! Корабль тонет!» и в конце так невзначай сухо, мол занимает первые места на митапах и конфференциях.
            Вот :)

            Update:
            вот ниже подсчеты у человека


  1. impwx
    14.12.2019 19:30
    +1

    Только за последний год PHP стал центральной темой митапов и встреч программистов
    официальный Твиттер-аккаунт php.net в настоящий момент насчитывает 67.7 тысяч подписчиков
    в рейтинге языков программирования RedMonk за июнь 2019 года PHP занимает 4 место
    Все это говорит только о том, что PHP все еще кто-то использует, что вроде сомнений и не вызывало. Чтобы у языка было будущее, он должен быть в чем-то лучше конкурентов. А неоспоримый плюс у PHP всегда был только один — распространенность, и тот терпит убытки.


    1. TimsTims
      15.12.2019 03:10

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


    1. Vilgelm
      15.12.2019 06:41

      Неоспоримый плюс PHP — его простота.


      1. impwx
        15.12.2019 14:25

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


        Во-вторых, PHP можно было считать "проще аналогов" году этак в 2005, когда вся веб-разработка была другая: не нужно было собирать фронт, деплой ограничивался закидыванием файлов по FTP, запросы к базе собирали вручную через форматируемые строки и т.д. — сейчас на PHP так тоже можно писать, и это будет довольно просто, но никому не нужно. А чтобы сделать что-то серьезное вам понадобится веб-фреймворк, шаблонизатор, ORM, сборка фронта, пакеты, контейнеры и прочее. И вы больше не делаете это вручную — скелет проекта создается генератором, и что в PHP, что в JS / Go / C# / Python этот процесс примерно одинаковый.


        1. TimsTims
          16.12.2019 01:33
          -2

          > плюс PHP — его простота
          Во-первых, очень даже оспоримый… тут, как ни странно, PHP не блещет
          Во-вторых… сейчас на PHP так тоже можно писать, и это будет довольно просто
          Ну вот вы сами пишете, что язык не блещет, а потом говорите, что он довольно простой. Скажем так, многие языки не блещут, у каждого можно к чему-то придраться. Но мы обсуждаем не блеск, а простоту PHP, с которой вы сначала спорите, а затем поддерживаете, что он всё-таки простой.
          просто, но никому не нужно
          В мире миллионы человек мечтают и хотят прикоснуться к веб-разработке, не знают с чего начать кодить. Ещё больше людей отвалилась, когда узнала, что для запуска веб-сервера им нужно изучить 10 технологий — от веб-сервера до сборщика. Вы уверены, что простой язык для старта никому не нужен?

          Насчет серьезного веба я согласен, что щас фронт — это react/angular, а бэк на Go/Net/Java/Python/чем угодно. Но это не отменяет того, что чтобы начать хоть что-то делать, php всё-еще остаётся простым. Да и серьезные проекты на нём тоже можно писать.
          П.С.: холивар про строгую типизацию предлагаю не затрагивать. Сейчас в 7 php она есть, и её можно включать по желанию, а можно и не включать, каждый решает сам. Одним шашечки, а другим ехать.


          1. Vlad800
            16.12.2019 03:02

            В плане простоты сейчас Go хайповая тема.


          1. impwx
            16.12.2019 18:51
            +2

            Еще раз: PHP был самым простым способом решения задач веба, существовавших 15 лет назад. Сейчас таких задач больше нет, а для решения современных задач PHP ничуть не проще аналогов. Начинать изучение с устаревших подходов просто потому, что это проще, бессмысленно — человек быстро зайдет в тупик, а дальше ему придется переучиваться, а время уже потрачено зря.


      1. vism
        15.12.2019 15:54
        +1

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


        1. Vilgelm
          15.12.2019 16:07

          Я скорее говорю о самом синтаксисе, об отсутствии строгой типизации и всем таком. Я совсем не программист, но написать скрипт на PHP могу, а вот какая-нибудь Java уже намного сложнее.


          1. Crandel
            15.12.2019 16:58
            +1

            Питон намного проще пхп и в понимании и в синтаксисе. Не зря в линуксе куча скриптов на питоне написано


          1. vism
            15.12.2019 17:09

            Я лет 5 назад имел небольшой проект на андройд, вобщем не так всё страшно.
            IDE выручает очень, все чего я боялся тогда, там уже было предусмотрено. Раз и сел сразу писать вьюшки и логику.
            Но типизация и т.п. это классно, сейчас в 7.* вводят потихоньку, без этих нововведений скорее всего я бы ушел с PHP на более приятный ЯП.


          1. impwx
            15.12.2019 18:15
            +1

            Когда вы пишете какую-то логику, вы всегда четко представляете, какие там будут типы, методы, свойства — иначе программу реализовать не получится. Просто в случае со строгой типизацией вы делитесь этой информацией с компилятором и IDE, а в случае с нестрогой — берете все на себя.


            1. hengenvaarallinen
              16.12.2019 14:03

              Вам похоже повезло. Мне в процессе разработки на php время от времени встречаются функции, которые, например, могут вернуть либо объект одного класса, либо объект другого класса, null или строку.
              Или, например, прислать в ответ на аякс запрос строку которая либо «error» либо парсится как json либо вставляется как html.
              Еще встречались логические странности типа «отсортировать массив одним способом, потом проверить его на существование(?!) и чуть дальше отсортировать другим, потом вывести»

              Из чего делаю вывод, что далеко не все и не всегда четко представляют логику и типы того что пишут.


              1. impwx
                16.12.2019 15:05

                могут вернуть либо объект одного класса, либо объект другого класса, null или строку.
                Хорошая система типов должна быть одновременно строгой и гибкой. Например, на javascript тоже часто принято возвращать разные типы, но Typescript с этим нормально справляется:

                foo(): A | B | null | string {
                ...
                }


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


  1. bm13kk
    14.12.2019 20:17
    +2

    личное наблюдение.


    я пьіхер в крупной конторе. Я вижу заметное снижение количества проектов на пьіхе. Сейчас я пишу на питоне. Меня просят учить людей на бенче питону.


  1. AnyKey80lvl
    14.12.2019 23:05

    Groovy — новичок?


    1. oldschoolgeek
      15.12.2019 11:12

      Думаю, имели в виду, что новичок именно в десятке лидеров


      1. AnyKey80lvl
        15.12.2019 12:04

        Ну, тогда он дебютирует в одиннадцатке лидеров ) А в декабре он вообще 22-й. Скорее всего имеется в виду, что это самое высокое место для Groovy в рейтинге за всю историю.


  1. terantul
    15.12.2019 04:16

    Опять хоронят? :-)
    *паралельно наблюдаю как досетапливается ещё один сервер под шаред хостинг вордпресовских сайтов, ибо на остальных место заканчивается*


    1. oldschoolgeek
      15.12.2019 11:19

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

      Либо к PHP штатным образом прикрутят асинхронно-реактивную модель (с поддержкой во всех распространённых фреймворках, в первую голову Laravel), либо он так и останется языком для CMS и сравнительно простых ненагруженных Веб-приложений (Facebook тут не показатель, так как у них от PHP только язык, но не среда исполнения)


  1. ErnestMiller
    15.12.2019 04:17
    +1

    В течение последнего года я отслеживал количество вакансий по интересным мне технологиям на десятке популярных международных сайтах вроде linkedin, indeed, а также локальных hh.ru, xing.com, linkedin по странам и прочие. Судя по полученным цифрам за год PHP вполне себе растет вместе с рынком, хотя вовсе и не лидер роста. Например, за период с января по июль количество вакансий с упоминанием PHP в среднем увеличилось на 4%. Для сравнения по Python +12%, Go +7.7%, JavaScript + 6.2%. Кроме голых языков также собирал данные по фрейворкам для PHP. Symfony за полгода рост +10.7%, Laravel +12%. Аномальный рост наблюдается на немецком xing.com, за год там количество вакансий с упоминанием symfony и laravel вообще удвоилось.


    1. bm13kk
      15.12.2019 14:22

      Дойчланд — страна пыха.


      1. Crandel
        15.12.2019 18:39

        Скорее джавы с САП


    1. t_kanstantsin
      16.12.2019 20:55

      Не хватает абсолютных величин. А то бывается, что увеличилось с 10 до 11, а уже 10%


  1. Vlad800
    15.12.2019 10:38

    Жалко будет РНР, начинал с него… Но, справедливости ради, интересных статей о нем даже на Хабре не много. И если в 90-х и 00-х у него было не много конкурентов, то сейчас это не так.


  1. artoodetoo
    16.12.2019 09:27
    -1

    Индекс поисковой активности говорит скорее о том, в каком языке будет больше нубов в ближайшее время. Раньше таким языком был PHP. :)


  1. n0wheremany
    18.12.2019 09:37

    Эм. Может просто в браузерах появилась поисковая система от php.net, не?