Как стать автором
Обновить

Комментарии 36

«Король умер. Да здравствует король!» #PHP8
надеюсь, что к 2020 будет JIT-компиляция, именованные параметры методов, нативная многопоточность

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

расширения для php писать будет ещё проще, в идеале расширения для php на php

появится строго типизированный диалект PHP — PHP++

сообщество будет расти и пополняться отличными программистами

ненавистники PHP наконец-то осознают, что PHP совсем другой, не тот, который 10 лет назад

а вообще в тему этих холиваров, PHP — Разрабатывай, Не Разговаривай ;)
Ваш комментарий напоминает историю с «Нью Васюки» :)
надеюсь, что к 2020 будет JIT-компиляция, именованные параметры методов


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

именованные параметры методов — тоже их жду, на реддите постоянно эту тему поднимают.

нативная многопоточность


давайте на чистоту — зачем она вам? Ну вот серьезно? Работа с I/O — плохой вариант, 99% разработчиков не умеют нормально работать с потоками и убьют все локами. Event-loop или корутинки + несколько процессов — и вот у вас самый эффеткивный способ распаралелить работу. И для корутинок уже есть amphp. То что нет многопоточности из коробки — это благо как по мне, ибо… ну я просто хочу сказать что даже в С++ потоками пользоваться не все умеют.

Для того что бы распаралелить что-то есть очереди, есть тот же amphp, proc_open и все из коробки. Работайте асинхронно в PHP сколько душе угодно. А с генераторами, которые в PHP еще с 2012-ого года есть, можно от этого колбак хэла избавиться.

Есть pthreads, коль уж надо, все что надо — поставить из pecl в одну команду. И нужно это для 1% задач.

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

Они уже есть, и в принципе «нового» тут мало чего может появиться. Все тырят друг у дружки, в основном из RoR и Spring. Во всяком случае только если не разрешить нормальную функциональщину в PHP, тогда можно будет что-то интересное замутить.

расширения для php писать будет ещё проще, в идеале расширения для php на php

Я думаю вас заинтересует сие: RFC: Parser Extension Api. Если эту штуку введут, то вы сможете написать расширения синтаксиса PHP на PHP и дистрибьютить как пакеты в composer, а с решениями вроде opcache оверхэд на это станет не таким большим. Ну и думаю когда это будет возможно JIT уже будет не загорами.

появится строго типизированный диалект PHP — PHP++

Опять же, зачем? Вам информация о типах нужна или сделать жизнь болью? Я за сильную динамическую типизацию (сейчас по умолчанию в PHP слабая динамическая, если кто не знает). Добавить типизированные массивы, тайпхинтинг для пропертей объектов или переменных и… собственно все. У нас есть опциональная возможность получить всю необходимую информацию о типах. А там дальше расцвет статических анализаторов, более качественные оптимизации в JIT и т.д.

А так уже есть зефир. Который к слову решает и предыдущую проблему с расширениями.

ненавистники PHP наконец-то осознают, что PHP совсем другой, не тот, который 10 лет назад

Тут ничего не поменяется. Не ненавидят только то, чем не пользуются. Как говорится только о мертвых плохого не говорят.

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

а вообще в тему этих холиваров, PHP — Разрабатывай, Не Разговаривай ;)

Да ну, праздники, даешь холивар!)
Есть pthreads, коль уж надо, все что надо — поставить из pecl в одну команду. И нужно это для 1% задач.

Не так быстро, полагаю, нет дистрибутива, где PHP из пакетов идет собран в потокобезопасном (ZTS, Zend Thread Safety) варианте, а иначе вы не поставите pthreads. Если компилить самому или взять тот же Docker образ с соответствующей версией то всё в порядке, но подавляющее большинство пока так не делает, так что…
Добавить типизированные массивы, тайпхинтинг для пропертей объектов или переменных и… собственно все.

и запрет на неявное преобразование типов :) Типизированные массивы, тайпхинтинг и т. п. — это всё же к статической типизации ближе, а не к строгой. PHP слабо типизирован не потому, что можно в массив или свойство что угодно запихнуть, а потому что стремится всё, что не соответствует его ожиданиям, преобразовать к ним.
В php internals на днях обсуждали этот вопрос. На данный момент банально есть технические ограничения для реализации этого механизма. Это же ограничение не позволяет пока добавить тайпхинтинг для отдельных переменных или пропертей.
Каким будет PHP если не через 20, то хотя бы через 5 лет?


К 2020-году выйдет PHP 8 (с очень большой потерей обратной совместимости с наследием PHP3), доминирующим будет 5.6, а 7 будет наступать ему на пятки.
Судя по движухе будет продвижение в сторону функцинальщины, к примеру, сейчас Anthony Ferrara предлагает автозагрузку функций на подобии того как это работает с классами, без этого обычные функции не так популярны в использовании.
Будет больше уклона на статическую типизацию где это возможно, ну и JIT в пятилетней перспективе могут запилить, было бы здорово.
Конкуренция/партнерство HHVM уже сейчас дало много платформе PHP в целом, что и продолжится в обозримом будущем.
Принимается PSR-15 и все стандарты становятся официальными.
Готовится к релизу Symfony 5 и PHP8.
Холивары PHP vs Ruby vs Python.
На собеседованиях спрашивают отличие абстрактного класса от интерфейса.
и LEFT JOIN от RIGHT JOIN
Ну кстате я был на одной конференции по 00P, которую вел преподаватель С++ в компьютерной академии нашего города. Так там это был самый любимый и популярный вопрос «отличие абстрактного класса от интерфейса». Самое интересное, что те кто начинают учить С++ (а точнее студенты), очень сильно путаются в этом вопросе.
PHP сохранит свою простоту нарастит аудиторию и увеличит отрыв от остальных веб-ориентированных языков

PHP станет асинхронным/параллельным, люди наиграются с нодой и вернутся к PHP

PHP фреймворки будут выходить в двух версиях, стандартной, и в виде PHP расширения

PHPstorm вырастет из IDE в готовое девелоперское окружение с LAMP стеком и необходимыми инструментами

PHP станет полноправным и постоянным инструментом в enterprise проектах, джаве придётся подвинутсья на бэкенде, а джавистам искать аргументы в пользу джавы…
Из инструментов:
Выйдет релиз PHPStorm 20
Из обучения:
PHP преподают в школе вместо паскаля и бэйсика
Из окружения:
Vagrant становится неотъемлимой частью разработки, про версию php под винду все забывают. Окружение становится более похожим на прод
Про PHP:
Выходит версия 8, которая быстрее еще на 30% версии 7
Удаляются все устаревшие функции, с помощью которых можно писать «старый» код.
ВСЕ ХОСТИНГИ ПЕРЕХОДЯТ НА 7 ВЕРСИЮ МИНИМУМ!!! (из наболевшего)
PHP перестает «умирать» — появляется возможность прямо в коде указать что данный скрипт будет висеть в памяти до определенного момента или по наступлению условия. Все забывают про крон
PHP становится полноценно многопоточным. На собеседованиях пропадают задания про «написать возможность запускать несколько потоков с кода»
PHP-программисты становятся более квалифицированными.
Пропадают шутки про PHP, появляются шутки про RUST и GO :)
PHP будет достаточно быстро развиваться и становиться все лучше и все быстрее.

PHP станет языком широкого применения и на нем станет комфортно писать мультиплатформенный софт.

В PHP поработают с мультипроцессорностью и проблемы в этой области будут сводиться к 0.

В PHP добавят специальный параметр, который будет давать возможность отключить «ПХП создан, чтобы умирать» и решаться некоторые проблемы с демонами.

Ну и еще много моментов, которые подсказали коллеги и я упустил.
Через 5 лет доля WordPress-сайтов в Интернете перевалит за половину. Будут появляться кучи вакансий для «WordPress-программистов» и тем на SO в стиле: «Как сложить два числа в WP». А с самим PHP всё будет хорошо.
>> Как сложить два числа в WP

и плагин соответствующий?
Каким будет PHP через 5 лет? Явный тренд развития в сторону конкурентного и многопоточного программирования: из коробки появятся не блокирующий ввод-вывод и асинхронность (аля nodejs или reactphp — об этом ещё Дмитрий Стогов на DevConf упоминал), синтаксис asycn/await, возможно PHProutine (наш ответ на горутины!) или хотя бы примитивы вроде parallel foreach, и какой-то «стандартный» сервер приложений.

В синтаксисе появится больше сахара: стрелочные функции, destructuring ассоциативных массивов и объектов, pattern matching, использование имён функций как ссылки на сами функции, чтобы можно было передавать без заключения в кавычки: array_map(strlen, ...) (для совместимости со старым кодом, возможно, будет синтаксис strlen::function, по аналогии как было сделано с MyClass::class)
Вообще попытаться реализовать файбееры (корутины распаралеленные по сути) можно хоть сегодня, просто это ужасно сложно и если делать на PHP будет не очень эффективно. А так технических ограничений написать такой вот скеджелер особо и нет.
1) перепишут функции и стандартизируют. Думаю, будет пара промежуточных версий с deprecated функционалом.
2) поработают с многопоточностью
3) спеки PSR-* станут обязательными\официальными.

если успеют хотя бы это, то будет очень и очень круто.
Одно знаю точно — PHP 5.3 все еще будет жив.
НЛО прилетело и опубликовало эту надпись здесь
20 лет большой срок, но:

1. Уже сейчас мы видим, что стандарты появляются регулярно и постепенно устраняют необходимость отвлекаться на рутинные задачи. Причем помимо PSR мы видим распространение использования компонентов от Symfony в других фреймворках и CMS.
Поэтому надеюсь, что в будущем, мы получим очень качественные библиотеки, которые будут приняты 99% php сообщества как стандартные реализации рутинных задач.

2. PHP будет иметь стабильную поддержку reactor pattern из коробки, причем текущий режим работы так же будет сохранен.

3. declare(strict_mode=1) будет включено в список Deprecated в PHP 8 и удалено в PHP 9 и будет использоваться всегда.

4. PHPStorm будет поддерживать интеграцию со средствами виртуальной реальности и позволит набирать код силой мысли.
От Ванги:
  • 2020 год — php охватывает 90% всех серверов в интернете; на 7 версию переехали многие большие компании; статическая типизация используется все чаще; 8 версия в альфе
  • 2025 год — php охватывает 95% всех серверов в интернете; стабильный релиз 8 версии, в неё встроен полноценный web сервер работающий на 20% быстрее nginx; ведется разработка встроенной базы данных phpsql
  • 2030 год — php охватывает 98,6% всех серверов в интернете; выходит бета phpsql, первые бенчмарки говорят о 15% выигрыше относительно mysql; в школах php преподают на уроках информатики с 3 класcа; попытки реализовать полноценную операционную систему на чистом php
  • 2035 год — php является абсолютным лидером и full stack инструментом для поднятия web-сервера; OS написанная на php 8 выходит в бета версию
  • 2100 год — php самый востребованный язык программирования; количество мировых вакансий о найме программистов: php более 90%
2110 — осознав свою независимость, php объявляет войну человечеству
php разработчики присоединяются к войне но стороне php, конечно
I'm sorry, Dave, I'm afraid I can't do that.
2110, февраль — логи забивают всё место на винтах и сервера отваливаются с ошибками. Человечество спасено от вымирания.
Даешь именованные аргументы!
Не ради рекламы. Я перевел статью «Принципы, которые формируют успешные фреймворки» (которую Qiang Xue написал) в силу своих возможностей. На хабр не стал выкладывать т.к. качество перевода сильно хромает, а тут за такие «полумеры» только заминусуют.
Но вдруг кому-нибудь, кто совсем не умеет в английский поможет.
Почитал. По-моему, вполне нормальный перевод. Меня просто тоже эта статья заинтересовала,
НЛО прилетело и опубликовало эту надпись здесь
А я думаю что к 2020 году уже не будут востребованы просто php-программисты. Нужны будут люди умеющие готовить код на нескольких языках программирования (JS, Python, Haskell, Rust, Dart) и умеющие в микросервисную архитектуру. Шаред-хостинги наконец уступят место виртуальным серверам и контейнерам. PHP займет свою нишу в бэкенде.
Доля stand-alone сайтов на PHP сильно просядет т.к. социальные сети будут еще сильнее захватывать интернет. Куда проще будет в два клика зарегистрироваться на удобном сервисе и в визуальном режиме накидать сайт.
Выйдет восьмая версия PHP не совместимая с 5-веткой.
Уровень входа в язык повысится и начинающие программисты будут в качестве первого языка программирования выбирать JS.

P.S. Интересно будет в 2020 году это перечитать =)
Я пришёл в PHP в прошлом тысячелетии ) и всегда от пехепешников требовалось знание нескольких языков.
Ну, что же, пофантазируем :)
PHP в 2020:
  • PHP перестанет быть языком, который «должен умирать» и daemons и фоновые длительные операции будут не только гиковскими штуками, но и вполне хорошими инструментами;
  • PHP и nginx объединят усилия и усовершенствуют встроенный веб-сервер, который можно будет использовать в том числе на production серверах для небольших проектов. Возможно, с предустановленной конфигурацией популярных CMS и микроферймворков;
  • PPI, Puli и им подобные библиотеки смогут реализовать свою цель и завершатся холивары о том, у какого фреймворка бандлы/пакеты/расширения/модули лучше;
  • не будем забывать о нашем любимом Composer и будем надеятся, что он получит стабильный релиз первой версии, а, возможно, даже релиз второй версии!
  • конечно же! как же без этого! релиз PHP 8 либо PHP 7.5 с астрономическими показателями скорости и закрытыми всеми тикетами с багами :)
  • если уже есть релиз новой версии PHP, то фреймворки поднатужатся и сделают свои новые релизы мажорных версий
  • для новичков появится инсталлятор PHP под windows, через который можно будет устанавливать/удалять/включать/отключать расширения;
  • а для продвинутых будет какой-то качественно новый уровень интеграции php с vagrant/docker/otto.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий