Обсуждаем будущее PHP

Original author: Daan
  • Translation
Это мертвый язык программирования или нет?

image

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

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

PHP все еще доминирует в Интернете


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

image


Одна из причин, по которой PHP используется многими сайтами, заключается в том, что WordPress использует PHP. Доля WordPress на рынке составляет около 34 процентов всех сайтов. Это 75 миллионов сайтов.

Поддержка публикации — компания Edison, которая занимается разработкой и диагностированием хранилища документов Vivaldi.

Кроме того, есть и другие CMS, такие как Drupal (3%) и Joomla (2%), которые также занимают значительную долю рынка. И есть некоторые популярные системы управления магазинами, такие как Magento, которые занимают около 1 процента от общей доли рынка.
Многие большие системы управления контентом и магазинами используют PHP, что делает PHP важным и актуальным.

Создание сайтов с нуля


Я вижу аргумент о создании сайтов с нуля, так как многие люди, которые используют WordPress, например, не знают, как программировать. Создание сайта в WordPress не требует от вас умения писать код. Многие люди, у которых есть веб-сайт на WordPress, вероятно, даже не знают, что он работает на PHP. Таким образом, PHP все еще используется людьми, которые создают веб-сайты с нуля?

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

Программирование


Так как PHP существует с 1994 года, язык со временем стал немного загроможденным. Есть много способов создать такую ​​же функциональность, и многие из них довольно хакерские. Это создает ситуации для создания плохого кода на PHP. Очевидно, что можно написать плохой код на любом языке, но PHP делает его немного легче из-за того, как он вырос.

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

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

PHP 7


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

Code wise, объявления типов и новые операторы были введены. Обработка ошибок также была улучшена.

Рабочие места


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

Если вы посмотрите на эту ссылку в разделе заданий StackOverflow, вы найдете множество заданий, требующих PHP.

Заключение


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

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

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

Так что вы думаете о PHP, есть ли будущее у этого языка программирования или он мертв?








Читайте также в блоге
компании EDISON:


Руководство по FFmpeg libav

Only registered users can participate in poll. Log in, please.

У PHP

  • 73.2%есть будущее427
  • 13.4%нет будущего78
  • 13.4%какое будущее!?!?!78
Edison
Изобретаем успех: софт и стартапы

Comments 124

    +17
    На самом деле «количество сайтов в интернете» — не самый удачный показатель. Чтобы понять, умирает ли язык — нужно смотреть на «количество НОВЫХ сайтов в интернете на этом языке» и на изменение этого числа по годам.
      +5
      Вы думаете их мало? Было время когда я прекратил писать новые проекты на php, перешёл на java и js, у всего есть свои плюсы и минусы. С 7 версии php — начали работать над самым большим своим минусами, скорость работы и типизация(что в ООП проектах очень актуальная фича), причём довольно продуктивно, так что сейчас я с таким же удовольствием пишу проекты на php. Если говорить о больших проектах, многие люди даже не задумываются о php, хотя на самом деле это язык который из коробки поддерживает горизонтальное масштабирование, вы не можете писать код иначе, не можете не оптимизировать запросы к базам данных, кешировать и держать в уме что память то на расшарена меж процессами и вам придется или держать ее где то или каждый раз агрегировать заново, а большие и жирные процессы нужно выносить куда то в скедул таски или иметь какой то джоб сервер. И если вы хорошо пишете на php и используете уже существующие продуманные практики то вам не составит труда поднять ваше приложение и на 10 нодах вместо одной, без болезненного рефакторинга.

      Собственно привет Laravel, вот что вылилось из понимания устройства php. Это удобный фреймворк взял и написал приложение, но многие люди недоумевают почему он так популярен на больших проектах. Какие нынче тренды, облака, server-less, горизонатальное маштабирование и тд. Представьте, вы пишите стартап, у вас нет времени думать о будущем, вас волнует то что здесь и сейчас, берем Laravel, проблемы которые он решает:

      Быстрый старт без заморочек — подняли на 1 ноде сайт
      Есть долго играющие задачи (обработка видео например) — фреймворк имеет очередь джобов из коробки
      Ваш локальный диск переполнен видео — подрубили какое нибудь s3 и работаете с ним как с обычной FS, просто поменяв конфиги в 1 файле.
      Слишком много джобов — окей, система очередей поддерживает удаленные джобы, запустили джобы на других нодах
      Файловой системе плохо от того что сессии и кеш у вас файловый — подрубили редис
      Одна нода уже не справляется с запросами — окей унесли редис на отдельный сервер (или кластер сразу), подцепили еще пару нод, в конфигах указали один и тотже редис сервер и все о чудо у вас горизонтально маштабируемая аппликации, а кеш и сессии уже чудесным образом берутся из 1 места.
      Полнотекстовой поиск по базе — пожалуйста, установил пакет и радуйся

        +4
        Вы думаете их мало?
        Понятия не имею. Просто утверждаю, что это более репрезентативный параметр, чем тот, который использован в статье.
          0

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

          +2

          Оффтоп: ощущение, что вы и автор перевода один и тот же человек. Сложно понять, что имеете в виду

          –1
          Я вот тоже подумал что «количество сайтов в интернете» — не самый показатель. Только думаю надо смотреть сколько сайтов работает на PHP, например, в Топ 100 Яндекса. Так то сайты, как раз из-за никого порога вхождения, каждый день появляются десятками тысяч, только на низ за все время существования будут заходить 3,5 инвалида, да поисковые боты.
          +24
          Из пустого в порожнее.
            +8
            Несмотря на то что мы имеем большое количество дискуссий о будущем PHP

            Есть много устаревших вещей, которые означают, что лучшее решение не всегда есть.

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

            Google Translate?
              0
              У них есть верная точка зрения, или может быть, они просто не любят PHP

              я где-то на этом моменте перестал читать…
              +14
              Мне вот интересно, любители хоронить PHP что предлагают? Ведь чтобы стать мёртвым — надо чтобы с языка куда-то ушли. Что у нас в активе? Ruby, который очень старался, многое привнёс, но не смог? Сейчас про него почти не пишут. Python, который не моложе PHP, тоже тянет массу legacy, медленнее и т.д.? Perl, который уж точно перешёл в режим «только поддержка написанного»? Java, которая не моложе или не особо моложе PHP, тоже многое в себе несёт, и которая исторически использовалась в основном для написания тяжеловесного enterprise? JavaScript, который не моложе, в котором ещё больше безумия в системе типов, тянущихся ещё со времён первых версий, которые задумывались лишь как средства для создания бегущих строк и тому подобного.

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

              И на что с этого уходить? Может быть на go… Но он в вашем сравнении даже не упоминается…
                +6
                Я PHP хоронить не предлагаю, там фреймворки мощные.
                Однако:
                — node.js с Typescript вполне годный способ писать бэкенды. Отличная модель асинхронности.
                — asp.net core с версии 2 очень годная вещь: божественный C#, простой движок похожий на node.js express, кросплатформенность, и крутая IDE Rider.

                Вместо Java сейчас есть очень годный Kotlin. Для него запилили фрэймворк ktor, который очень лёгкий без ужасов spring'а.
                  +2

                  Не холивара ради, но web, rest в основном синхронный. Я с удовольствием пишу асинхронный фронт на TS, но вот на бэке как-то не зашло, даже с async/await. Может дело в отсутствии фреймворков/либ подобных Symfony/Doctrine — слишком много приходится думать об инфраструктуре, слишком сложно выделить чистую бизнес-модель. Опять же банальной проверки instanceof SomeInterface очень не хватает

                    0
                    *мимо*
                      0
                      По крайней мере для node.js есть sequelize и mongoose. А ещё много других библиотек.
                        0

                        C DataMapper хоть одна готовая к продакшену есть?

                          0
                          Посмотрите на derbyjs.com
                          Там реалтайм синхронизация данных с бекендом. Вы просто работаете с данными и забываете обо всем остальном.

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

                          Ну либо отдельно на github.com/share/sharedb если все остальное не нужно.
                            0

                            Ну я больше про классический бэкенд с html-шаблонизаторами или restish API

                              0
                              Сам по себе sharedb можно использовать как обычный стор для данных. Все остальное можно на свой вкус ставить.

                              Просто за счет синхронизации пропадает необходимость выдумывать все эти AR/DM. Я записываю данные — они пишутся, читаю — они читаются. Если кто-то где-то что-то меняет, у меня «все само» обновится.

                              Хотя вот с ограничением доступа так не слишком удобно в силу сути библиотеки.

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

                              И конечно нужно учитывать, что это не мега-популярный Реакт/Ангуляр/Вуе о статьи про которые спотыкаешься каждую ссылку.
                        0
                        Чем Вам не Symfony подобный фреймворк nestjs.com? А в связске с typeorm точно такой же symfony с Doctrine.
                          0

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

                      +1
                      Perl, который уж точно перешёл в режим «только поддержка написанного»?

                      У них, кстати, переименование новой версии произошло на днях. Был Perl 6, теперь Raku.
                      Я с Perl начинал. Но из-за постоянных проблем, что я на Windows 98 код писал, а на сервере был *nix бросил это дело и перешёл на PHP. Всё-таки написание на языке должно удовольствие приносить, а не мозг выносить.

                        0

                        Rust + Web assembly :)

                          0

                          Я пишу бекенды на хаскеле, полет отличный.

                            –1
                            Какое отношение это имеет к теме?
                              +1

                              К тому, что ещё вполне можно использовать.


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

                            • UFO just landed and posted this here
                                0

                                Черт, вы спалили мой главный критерий выбора технологий.

                              0
                              Через type hinting планируется взять под контроль слабую типизацию.

                              Слабую или динамическую?
                                0

                                Но type hint и динамика — разные вещи даже в названии...


                                Если что-то указывает принимаемый тип, значит вся вселенная его и ожидает

                                  0

                                  Какая вселенная, алло… Тайпхинты это про статическую типизацию (антоним динамической), а не про строгую (сильную) / слабую

                                    0

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

                                +1
                                На Go уходить не надо, там кучу бизнес логики держать тяжело, а вот в связке они великолепны
                                –10

                                Это что за PHP-пропаганда?)
                                При всей моей любви к этому языку, в статье, как мне кажется, должно быть упоминание о таких вещах, как роль Go в вебе, станет ли разработка сайтов делом, которое вообще требует разработчика и т.д.
                                Это про сайты. Но, если не брать в расчет популистский заголовок и не скатываться до обзывания PHP "языком для делания сайтов", есть же и более благородное применение сему инструменту.
                                Легкие веб-приложения. Почему нет ни слова о django и rails? Впрочем, с rails ситуация печальна (и понятна), но django — цветет и пахнет!
                                Но есть же еще enterprise — symfony, который нагло косплеит жабу сопоставим с Java по масштабам проектов и используемых концепциях — скажем, мне было бы интересно взглянуть, в каком случае коммерсант Вася выберет Spring для автоматизации своей фабрики, а в каком Symfony.


                                В общем, переводчику респект, а мистеру Daan я бы посмотрел в глаза в поисках 100-долларовой купюры от Расмуса Лердорфа)

                                  +4
                                  75 процентов веб-сайтов работают на PHP

                                  люди предполагают, что PHP мертв

                                  Кто все эти люди?
                                    0
                                    Не специалисты, ясное дело.
                                    Темнейший и Ларри Кинг.jpg
                                    +1
                                    ИМХО. Начал 5 лет назад с PHP и переходить на другой язык не собираюсь просто потому что меня в нём почти всё устраивает. У меня много заказов и неплохая (для меня) оплата. Вообще не вижу смысла переходить на другой язык для сервера. Будь то парсер, состоящий из одного файла или крупное веб-приложение — всё могу сделать без особых проблем. Да, я работаю с python и пробовал изучать nodejs — но (имхо опять же) для веб-сервера — php вне конкуренции
                                      0
                                      Так и есть. Аналогично. Деньги приносят проекты, а не языки. Нет смысла переходить на NodeJS, потому что это альтернатива, но не вариант по-лучше. Кодить backend на NodeJS — это новые, другие проблемы для изучения, но результат будет абсолютно таким же, но с другими вкусовыми оттенками. Выхлоп не стоит потраченых ресурсов. Я использую NodeJS только для узких мест: перманентные подключения и определенные Desktop приложения.
                                      –6
                                      О, антиквариат подъехал. РНР не мертвый язык, конечно, он просто умирающий. Кто выберет РНР для своего нового проекта? Для написания какого-то большого фреймворка?
                                      А кто предпочтет node, python, go, или хотя бы зомби RnR?
                                      Мир праху РНР.
                                        +4
                                        он просто умирающий

                                        Причем, не первый уже десяток лет.
                                          –2
                                          Ну по-моему поменьше. До взлета python и node.js, это примерно последние 7-10 лет. Языки могут умирать долго, особенно если в энтерпрайз влезли, но это по-моему не про РНР. Его смерть будет быстрой и легкой.
                                            +3
                                            Как раз в этот период времени учил и PHP и питон, по питону вообще не смог найти работы. В итоге углубился в PHP. Потом был на галере, где подкидывали время от времени питоновые задачи. Теперь в резюме есть и питон и PHP. Рекрутеры с PHP пишут примерно два раза в неделю, иногда через день. При этом проекты уровня авито, auto0, check24 и всякие «мы как амазон, только из страны Х, нужен разработчик в берлинский офис».
                                            Рекрутеры с питоном пишут раз в полгода. Прям взлёт питона.
                                              +4

                                              Как раз в этот период времени перешёл с PHP на питон, работу на питоне нашёл сразу. В итоге углубился в питон. Теперь в резюме упоминаю PHP как "было, но прошло". Рекрутёры с питона пишут примерно 2-3 раза в неделю. При этом проекты уровня Яндекса (Яндекс.Такси), Мэйла (maps.me), и того же самого Авито. Рекрутёры с PHP перестали писать лет 7 назад. Прям взлёт питона.

                                                0
                                                Ну значит субъективщина.
                                                  0

                                                  Яндекс.Такси вроде как на симфони, по крайней мере, когда я туда собеседовался мне было сказано так.

                                                    0
                                                    Вот ссылка на вакансию из письма yandex.ru/jobs/vacancies/dev/dev_python_taxi. Сейчас вакансия закрыта, но описание из письма примерно такое:
                                                    Cерверная часть Я.Такси написана на C#, C++, Python. На python у нас сервисы, которые должны работать в фоновом режиме (наша база по водителям и таксопаркам, система по расчетам комиссии, модуль заказа такси, система антифрода и пр. но в планах есть и написание новых сервисов на python 3.6)
                                                      0

                                                      Там питон и плюсы, может вы собеседовать в Еду? Это часть такси, там пхп...

                                                    0
                                                    При этом проекты уровня авито, auto0, check24 и всякие «мы как амазон, только из страны Х, нужен разработчик в берлинский офис»

                                                    Интересно, на что они рассчитывают. Такие крупные проекты, как авито, не один год пилят и поддерживают десятки разработчиков, на развитие/поддержку уходят хулионны денег. Вот вы сделайте «подобное», только ТЗ пока нет, но в общих чертах я написал(а)
                                                      0

                                                      Не знаю про конкретный случай, но очень часто на европейском рынке есть локальные проекты действительно "как амазон" по функциональности (магазин имею в виду). Это как Яндекс будет хантить кого-то из США, кто о нём не слышал ниокгда и писать "мы как Гугл только российский"

                                                    0
                                                    Его смерть будет быстрой и легкой.

                                                    Как писали и 10 и 15 лет тому )
                                                  +5
                                                  Кто выберет РНР для своего нового проекта?

                                                  Ну тут вообще-то не так уж и много вариантов для больших проектов: PHP, C# и Java (с производными JVM).


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

                                                    +2

                                                    Сайт на laravel можно запустить за пару дней, и то большая часть времени уйдёт на фронтенд. Как много фреймворков на go и nose.js с которыми можно запустить сайт так же быстро?

                                                      0
                                                      Laravel это переосмысление Rails на php. На Rails даже быстрее выйдет.
                                                        0
                                                        Думаю тут зависит только от опыта, вот вы втянулись в этот фреймворк, вам и кажется теперь
                                                          0
                                                          Просто «сайт» можно запустить за пару минут на любом языке.
                                                          Что за сайт? Что он делает? Что будет делать? Какие планы на будущее?
                                                          +2

                                                          Так себе троллинг.
                                                          У меня в активе php, golang, python и сейчас rust начался.
                                                          И для вэб проекта я выберу php, пусть и не пишу на нём года 4. Наилучший старт за минимальное время. И, как показала практика, php хватает полностью до масштабов тысяч запросов в секунду.

                                                            0

                                                            Я выберу, и куча Top 500 компаний выберет (SAP, Oracle). Потому что субъективное мнение мало что значит когда нужно быстро разрабатывать приложения для бизнеса.

                                                            –8
                                                            сайты на php вскрываются на раз. имел опыт наблюдения за одним сайтом — переписывали несколько прогеров на разные cms, поэтому сказать, что все рукожопы — не получится.
                                                            имею наблюдение и за своим сайтиком на java — довольно частые попытки получить доступ к управлению сайтом — идет обращение к куче всевозможных страниц из перечня сайтов из cms на php (это не гугл и яндекс) т.е. заранее известны дыры через которые можно залезть.
                                                              +1
                                                              Confirmation Bias.

                                                              А причина почему они вскрываются кроется в низком пороге входа и, соответственно, множестве малоопытных программистов.
                                                                +1
                                                                переписывали несколько прогеров на разные cms, поэтому сказать, что все рукожопы — не получится.

                                                                И где в итоге баг обнаруживался? Или баг было найти не по силам, после взлома просто переписывали на новую cms?
                                                                  +1

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

                                                                    –1
                                                                    Это такой толстый троллинг?
                                                                    +2
                                                                    Пока не родился тот язык, что убьет РНР — РНР будет жить.
                                                                      –1
                                                                      Одно из преимуществ PHP в быстром и простом разворачивании рабочего окружения.
                                                                        +1
                                                                        имхо статья ни о чем
                                                                          +4

                                                                          Лет 20 назад, когда выбрал PHP, как потом оказалось, в качестве основного языка для бэкенда, мне говорили "да не взлетит он". Последние лет 10 говорят "не сегодня, так завтра умрёт".


                                                                          Написал тут на Go один микросервис небольшой — ощущение, что вернулся если не во времена PHP3, то PHP4 точно, разве что немного приправленных PSR и composer

                                                                            0

                                                                            P.S.RoR, Django, Node/Express пробовал — не зашло. Java со Spring/Hibernate выглядят понятно, хотя и излишне многословнр, как и экосистемы перегруженной, кажется перейти на них будет не сложно, но зачем? Но это основной резервный вариант если PHP всё же умрёт за ближайшие лет 20.


                                                                            .Net Core с C# выглядит интересным по описаниям/туториалам, но никаких открытых проектов в интересной мне области не попадалось, чтобы нормально оценить как решаются (и тестируются — это важно) интересные мне бизнес-задач.

                                                                              0

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

                                                                                0

                                                                                Любопытно. А где в такое упирались?

                                                                                  +2

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


                                                                                  Если мне нужно будет сделать бакенд для прокачки пары десятков терабайт контента в облако — Go, написать для этого бакенда админку и систему биллинга — PHP.

                                                                                    0

                                                                                    У меня обратный опыт — Lazada, Alibaba — сложная логика заказов, скидок. Код изначально на php, итог на go получился если не проще, то таким же.
                                                                                    Но. Переписывали, имея пару умеющих DDD товарищей в команде.

                                                                                      0

                                                                                      Я вообще ничего стоящего не нашёл как в Go по DDD писать. Сам попробовал — как-то не очень результат нравится.


                                                                                      Может порекомендуете что-нибудь?

                                                                              +5
                                                                              Эксперты пошли, которые PHP хоронят каждый год.

                                                                              Когда я ходил в школу PHP хоронили. Когда я пошел в универ — PHP хоронили. Когда я женился — PHP хоронили. Когда я устроился на работу веб-разработчиком — PHP хоронили. Да когда ж вы его похороните то.
                                                                                +3
                                                                                Видимо, вместе в с Вами) Но высока вероятность, что переживет.
                                                                                –1
                                                                                > Code wise, объявления типов и новые операторы были введены. Обработка ошибок также была улучшена.

                                                                                Опять плохо вычищенный автоперевод…
                                                                                  –1

                                                                                  Не смог читать, статья нуждается в переводе.

                                                                                    +3
                                                                                    Кстати. Те, кто постарше, помнят, как в 2013м году хоронили PHP, когда вдруг пошла мода на RoR. Сейчас мы наблюдаем примерно тоже самое.
                                                                                      +4
                                                                                      Кто постарше помнит что в 2004 году хоронили пхп :) Говорили что Ruby, Python всех съест…
                                                                                        0
                                                                                        Я примерно в те времена решил его потрогать.
                                                                                        PS: На PHP профессионально не пишу и не писал, но не причинам, написанным в заголовке статьи.
                                                                                      +2
                                                                                      Для таких вещей как php лучше употреблять не «мёртвый», а legacy. Это очень удачное слово для сущностей, которые живы за счёт того, что когда-то было доминирующим/популярным/широко используемым. Как всем известно, от legacy очень сложно и долго избавляться.
                                                                                      Можно сравнить php с медной телефонией, оно всё ещё используется (в основном, старшим поколением и организациями, у которого оно внедрено и работает)
                                                                                        +1

                                                                                        Legacy можно назвать тот же Delphi и Pascal. Помню, когда я начинал писать на PHP, Delphi был везде. Самоделки и крупные проекты. Но пришла мода на веб, облака, контейнеры, и Dephi постепенно сходит на нет. В 2015 году на работе было пару программ на Delphi. Обе явно Legacy, потому что их уже никто не поддерживал, а сама программа была скорее средством доступа к архиву. Сколько они мне тогда крови попортили, потому что должны были обе быть установленными на одной машине и обе требовали BDE, при чём разных версий.
                                                                                        Ну а PHP вполне себе живёт и здравствует, особенно с выходом 7 версии. Веб и облака — это его родная стихия. Просто посмотрите сколько всего было добавлено от 7.0 до 7.4 (которая ещё не вышла, но скоро выйдет), язык активно развивается.

                                                                                          0
                                                                                          В наше время после бурных штормов Delphi всё ещё живчик, правда под другим соусом.
                                                                                            0
                                                                                            А где он живёт, ну в смысле не в плане поддержки легаси, а какие-то новые проекты на нём делают?
                                                                                              +1
                                                                                              новые проекты на делфи делают или если заказчик (начальство) так сказали, либо если новый проект делает legacy программист
                                                                                                +1

                                                                                                Я знаю, что Double Commander (аля Total Commander под Linux), TransGUI (панель управления для торрент клиента Transmission) на Lazarus делают. Да и вообще, даже если язык фактически мёртв, программисты то просто так никуда не исчезают. Мне сколько раз в чатике матрикса говорили, что PHP фу-фу-фу и пиши, мол, на том же Python. Вот только мои трудозатраты при этом вырастут в разы, а результат будет такой же. Также и с Delphi/Lazarus. Если есть специалисты и они реально могут сделать что-то полезное, то почему бы и нет.

                                                                                                  0
                                                                                                  Специалисты уйдут на другую работу и кто будет поддерживать это? найти паскальщика не просто, тем более на саппорт чужого кода
                                                                                                    +1

                                                                                                    Вот поэтому и можно считать, что Pascal, по сути, мёртвый язык. Мои примеры нифига не энтерпрайз, но при этом могут быть полезны.

                                                                                                      0
                                                                                                      Да, всё верно, паскаль — мёртвый, а php — legacy
                                                                                                        +2

                                                                                                        Просто зашёл на hh.ru и поискал "язык программист" в своём регионе. Delphi — 9 вакансий, Ruby — 23 вакансии, Python — 137 вакансий, С++ — 153 вакансии, C — 217 вакансий, PHP — 227 вакансий, Java — 299 вакансий. Если PHP — Legacy, то что тогда другие?

                                                                                                          –1
                                                                                                          Ну Легаси не означает, что на нем не будет вакансий. Легаси лишь утверждает о качестве вакансий.
                                                                                                            0
                                                                                                            О качестве? Что такое «качество вакансии»? Есть какой-то эталон?
                                                                                                              0
                                                                                                              Легаси — поддержка устаревшего кода. Я это назвал «качеством вакансии»
                                                                                                              +2

                                                                                                              Полистал вакансии по PHP. Есть всякое: поддержка текущих проектов, разработка новых проектов. Чаще всего требуется знание современных фреймворков, в том числе Yii2, Laravel. Написать что-то на первом можно было не более 5 лет назад, на втором побольше — не более 8. Оба фреймворка активно развиваются и имеют свежие релизы во второй половине этого года. Не понимаю как это можно назвать легаси. Я понимаю ещё чей-то код на PHP так назвать. Но к языку это явно отношение не имеет.

                                                                                                                0

                                                                                                                Ну, то что релизы были ещё не значит, что проекты на свежих релизах. Некоторые проекты начинаются уже на фреймворках, активная поддержка которых прекращена. Или на последнем издыхании году LTS. Например, сейчас можно встретить проекты на Laravel 5.x активная поддержка которых закончена больше 2 лет назад. И конкретных планов на обновление нет у ребят.

                                                                                                                  0

                                                                                                                  Да с 5.х на 6.х апнуться — дело 10ти минут. Там только очереди из фатальных были перелопачены, а так почти тоже самое. Это не с 4.х на новый мажорный релиз перелезать.

                                                                                                                    0

                                                                                                                    У меня грубый эстимейт апа с 5.4 на 6.0 — минимум две человеко-недели. На попытки обновиться "на лету" потратил несколько часов.

                                                                                                                      0

                                                                                                                      Хм, а что там поменялось? Я обновлялся недавно (месяца два назад, кажется) с 5.5 на 6.0 и всё что сделал — тыкнул номер версии в composer и всё.

                                                                                                                        0

                                                                                                                        5.5 всё-таки LTS тоже. Особое внимание миграции должно быть по идее.


                                                                                                                        А я вот тыкнул и приложение не запустилось. Есть подозрение, что не всем нашим зависимостям всё равно какая версия Laravel. И часть из них придётся либо форкать, либо выкидывать из проекта и переписывать.

                                                                                                        0
                                                                                                        По-разному бывает. У нас в городе на объявление на форуме по Delphi как правило отзываются 3-5 человек. На Питон не отозвался никто. Обидно, потому как питонист нужен.
                                                                                                        На Делфи же мы вот пишем всякое. Под веб в том числе (появился тут отличный реймворк — UniGUI, он же, к слову, и бэкэнд).
                                                                                                          0
                                                                                                          Спасибо, почитал про UniGUI, вдохновился!
                                                                                                          0
                                                                                                          Специалисты уйдут на другую работу и кто будет поддерживать это? найти паскальщика не просто, тем более на саппорт чужого кода

                                                                                                          Паскальщик переучивается, по опыту, за месяц-полтора.
                                                                                                –5
                                                                                                Пора немного продвинуть позицию 19 (Haskell). Сайт моего друга написан на Haskell. Осторожно, NSFW! p0n4ik.tk
                                                                                                  0
                                                                                                  Вот примерно подобный график наверное можно нарисовать про jQuery. Устарел, помирает, легаси и вообще фу-фу-фу, но используется на куче сайтов (и да, даже включая новые) :)
                                                                                                    0
                                                                                                    Я сам писал и на PHP и на Java (в основном Spring) + немного смотрел на ASP.NET. На мой взгляд, главным недостатком PHP было отсутствие нормального ООП и вменяемого редактора с возможностью нормальной отладки, рефакторинга кода вот этим всем, что есть для Java в IntelliJ Idea и в C#. А так, по сути, одно и тоже )). И по моим ощущениям, для php проще (и дешевле) хостинг найти. Ну то есть для всяких сайтов-визиток, да даже и для простого магазина, хостинг на Java+Tomcat выглядел дороговато (не говоря про всякие WebLogic). Сейчас уже отошел от веб, не знаю как с этим дела обстоят в данный момент
                                                                                                      0
                                                                                                      Объективно, проблемы стека сейчас решаются контейнерами. Поднять RoR, к примеру, сейчас не труднее, чем пхп.
                                                                                                      Да, руками на голом сервере пхп поднимается новичком за минуты, об остальных языках такого не скажешь. (Но это не точно )) )
                                                                                                        0

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

                                                                                                          0
                                                                                                          Ну так то ноду поднять проще, чем PHP.
                                                                                                          Там достаточно только одной ноды и просто запуска node file.js с экспрессом например.

                                                                                                          Дальше конечно все посложнее.
                                                                                                            0

                                                                                                            Для PHP тоже много не надо если уйти от php-fpm.

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

                                                                                                              В остальном уйти не получится. Вам в любом случае понадобится чем-то запускать PHP.

                                                                                                              UPD: Хотя ладно, можно запустить сервер на самом PHP тем же ReactPHP.
                                                                                                                0

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


                                                                                                                Мы запускаем через roadrunner: одной командой автоматом качается бинарник сервера, второй поднимается все приложение, статика, мониторинг и брокеры очередей.

                                                                                                                  0
                                                                                                                  Ну это на мой взгляд не совсем «честное» решение при условии «голого сервера», там уже утилита на go + конфиг. Так-то и апач ставится одной командой и сразу будет работать.
                                                                                                                    0

                                                                                                                    Апач будет необходимо еще настроить, утилита в бинарном виде (go ставить не нужно, сама себя качает), конфиг часть проекта. В среднем я могу запустить проект за 30 секунд на голом сервере после composer update. Работать такая сборка будет раз в 20 быстрее апача.


                                                                                                                    P.S. Само собой для надежности нужно будет еще добавить супервизор, но пока rr не падал.

                                                                                                                      0
                                                                                                                      Я апач и не предлагаю использовать, это просто пример.
                                                                                                      • UFO just landed and posted this here
                                                                                                          –1
                                                                                                          PHP живее всех живых
                                                                                                          php7 + symfony4 просто сказка

                                                                                                          Если говорить языком цифр, то вот статистика от w3tech:

                                                                                                          80% бэкендов сайтов написано на PHP из них половина это CMS, а другая половина фреймворки или чистый php, т.е. 40% вебсайтов написано на фреймворках php (это я к тому, что даже если исключить говносайты на CMS, то все равно PHP явно доминирует по сравнению с другими языками)

                                                                                                          пруфы:
                                                                                                          https://w3techs.com/technologies/history_overview/programming_language/ms/y

                                                                                                          https://w3techs.com/technologies/overview/content_management/all

                                                                                                          Что касается конкурентов:
                                                                                                          GO — займет нишу нагруженных микросервисов без сложной бизнес логики, но в вебсайты как таковые не пойдет, будет дополнять PHP, но не заменять его (вообще PHP+GO — идеальная пара)
                                                                                                          Java/Kotlin — мобильная разработка + кросплатформенный десктоп + 2% энтерпрайза в вебе, в остальном будут вытеснены связкой php + go
                                                                                                          Python — полностью уйдет в ML и научную сферу, в вебе уступит php, как более быстрому (7 версия), более массовому (в плане вебсайтов) и последнее время более активно развивающемуся
                                                                                                          NodeJS — будет конкурировать с PHP в SPA, но в остальном без перспектив
                                                                                                          Ruby — хорошая попытка, но нет… Язык явно умирает, а PHP фреймворки Symfony / Laravel так хороши, что никакой RoR уже не нужен
                                                                                                          Perl — R.I.P.

                                                                                                          Мой прогноз, PHP жив, жил и будет жить, сайты, особенно ориентированные на контент, ecommerce, социальную составляющую будут активно его использовать в новых проектах

                                                                                                          P.S. Обратите внимание что вебсайт != веб в целом
                                                                                                            0
                                                                                                            LOL. Они говорят Пхп — умирает, а не мертв, и при этом всего лишь цитируют знающих людей, которые под этим выражением подразумевают умирание кода, после его выполнения. Они не говорят о языке в целом.
                                                                                                            Но люди, которые не знают пхп, подхватывают эту идею, и не зная истинного смысла фразы, когда ее пересказывают, продолжают свою цепочку мыслей, из серии«Пхп мертв» )
                                                                                                              0
                                                                                                              для меня PHP просто напросто надежнее и предсказуемей
                                                                                                                0
                                                                                                                Нервничаешь, пытаешься подобрать интересную тему и написать свою статью, чтобы пройти, ведь это же Хабр! И тут чувак с автопереводом через Google Translate показывает как надо решать «этот вопрос»…
                                                                                                                  0

                                                                                                                  Про умирающий PHP, на мой взгляд, так часто говорят потому что одновременно существует 2 языка PHP… Первый, на котором пишут Symfony и Laravel — это язык использующий современные подходы, ничем не уступающий конкурентам. Второй — это язык, на котором написаны WordPress, Bitrix и другие популярные CMS.


                                                                                                                  В действительности заметных альтернатив PHP-шным CMS нет ( каким бы они не были legacy ). Да, PHP остается "популярным" за счет этих самых древних CMS, но ведь ни один другой язык не смог предложить ничего подобного. И, к сожалению, эти CMS — то самое PHP-legacy, которое делает его популярным, но и заставляет разработчиков ненавидеть язык.


                                                                                                                  Что касается не legacy, а современного PHP — в последние 5 лет развивался очень быстро и судя по всему будет продолжать. Symfony и Laravel задали новые стандарты качества. И современные подходы в разработке на PHP ничем не хуже таковых в альтернативных языках. В итоге по сей день PHP остается в списке языков из которых можно выбирать. PHP все еще востребован и удовлетворяет предъявляемым требованиям ( не без оговорок конечно, но в альтернативах — тоже ведь не всё идеально ).

                                                                                                                    0
                                                                                                                    Извините, но статья очень скупая. Язык нужно рассматривать, как инструмент и на основе этого делать вывод может ли он решать поставленные задачи или нет. В PHP7 скорость не главное, введение типов, добавление нового функционала — да. PHP 7.4 полная типизация и FFI (что в теории позволит писать либы для вычислений на С и дергать их), PHP 8 — JIT.

                                                                                                                    Второй показатель это комьюнити и как язык развивается, так вот PHP развивается очень хороши и обновляется часто.

                                                                                                                    Третий показатель это фреймворки, их много. Отмечу Laravel который позволяет очень быстро разворачивать API, есть Symfony который похож на Spring (Java) и позволяет строить крупные системы с очень высокой степенью расширяемостью.

                                                                                                                    Будет ли жить PHP? Да, будет жить долго и активно развиваться. Потому-что это хороший инструмент, особенно для работы с бизнес логикой. Лично мне нравится делать связки из NodeJS\GO + PHP, где PHP отвечает за бизнес логику. Потому-что даже ORM в NestJS и рядом не близко с Doctrine.

                                                                                                                    Подходите к языкам, как к инструментам, подходите с умом!
                                                                                                                      0

                                                                                                                      Ходят слухи, что TypeORM под ноду почти рядом с доктриной.

                                                                                                                      +2
                                                                                                                      Как-то странно смотрятся 5 комментариев в минутном интервале, в том числе достаточно длинные, которые всплыли под статьёй двухмесячной давности. Видимо в тематическом сообществе (вполне справедливо) бомбануло.
                                                                                                                        +1

                                                                                                                        Пятница вечером перед длинными праздниками, может быть...

                                                                                                                          +3

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

                                                                                                                            0
                                                                                                                            0xd34df00d верно пояснил :-)

                                                                                                                          Only users with full accounts can post comments. Log in, please.