Комментарии 36
«Король умер. Да здравствует король!» #PHP8
надеюсь, что к 2020 будет JIT-компиляция, именованные параметры методов, нативная многопоточность
появятся новые фреймворки, которые станут отличным примером для других языков
расширения для php писать будет ещё проще, в идеале расширения для php на php
появится строго типизированный диалект PHP — PHP++
сообщество будет расти и пополняться отличными программистами
ненавистники PHP наконец-то осознают, что PHP совсем другой, не тот, который 10 лет назад
а вообще в тему этих холиваров, PHP — Разрабатывай, Не Разговаривай ;)
появятся новые фреймворки, которые станут отличным примером для других языков
расширения для 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 если не через 20, то хотя бы через 5 лет?
К 2020-году выйдет PHP 8 (с очень большой потерей обратной совместимости с наследием PHP3), доминирующим будет 5.6, а 7 будет наступать ему на пятки.
Судя по движухе будет продвижение в сторону функцинальщины, к примеру, сейчас Anthony Ferrara предлагает автозагрузку функций на подобии того как это работает с классами, без этого обычные функции не так популярны в использовании.
Будет больше уклона на статическую типизацию где это возможно, ну и JIT в пятилетней перспективе могут запилить, было бы здорово.
Конкуренция/партнерство HHVM уже сейчас дало много платформе PHP в целом, что и продолжится в обозримом будущем.
Будет больше уклона на статическую типизацию где это возможно, ну и JIT в пятилетней перспективе могут запилить, было бы здорово.
Конкуренция/партнерство HHVM уже сейчас дало много платформе PHP в целом, что и продолжится в обозримом будущем.
Принимается PSR-15 и все стандарты становятся официальными.
Готовится к релизу Symfony 5 и PHP8.
Холивары PHP vs Ruby vs Python.
На собеседованиях спрашивают отличие абстрактного класса от интерфейса.
Готовится к релизу Symfony 5 и PHP8.
Холивары PHP vs Ruby vs Python.
На собеседованиях спрашивают отличие абстрактного класса от интерфейса.
и LEFT JOIN от RIGHT JOIN
Ну кстате я был на одной конференции по 00P, которую вел преподаватель С++ в компьютерной академии нашего города. Так там это был самый любимый и популярный вопрос «отличие абстрактного класса от интерфейса». Самое интересное, что те кто начинают учить С++ (а точнее студенты), очень сильно путаются в этом вопросе.
PHP сохранит свою простоту нарастит аудиторию и увеличит отрыв от остальных веб-ориентированных языков
PHP станет асинхронным/параллельным, люди наиграются с нодой и вернутся к PHP
PHP фреймворки будут выходить в двух версиях, стандартной, и в виде PHP расширения
PHPstorm вырастет из IDE в готовое девелоперское окружение с LAMP стеком и необходимыми инструментами
PHP станет полноправным и постоянным инструментом в enterprise проектах, джаве придётся подвинутсья на бэкенде, а джавистам искать аргументы в пользу джавы…
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 :)
Выйдет релиз PHPStorm 20
Из обучения:
PHP преподают в школе вместо паскаля и бэйсика
Из окружения:
Vagrant становится неотъемлимой частью разработки, про версию php под винду все забывают. Окружение становится более похожим на прод
Про PHP:
Выходит версия 8, которая быстрее еще на 30% версии 7
Удаляются все устаревшие функции, с помощью которых можно писать «старый» код.
ВСЕ ХОСТИНГИ ПЕРЕХОДЯТ НА 7 ВЕРСИЮ МИНИМУМ!!! (из наболевшего)
PHP перестает «умирать» — появляется возможность прямо в коде указать что данный скрипт будет висеть в памяти до определенного момента или по наступлению условия. Все забывают про крон
PHP становится полноценно многопоточным. На собеседованиях пропадают задания про «написать возможность запускать несколько потоков с кода»
PHP-программисты становятся более квалифицированными.
Пропадают шутки про PHP, появляются шутки про RUST и GO :)
PHP будет достаточно быстро развиваться и становиться все лучше и все быстрее.
PHP станет языком широкого применения и на нем станет комфортно писать мультиплатформенный софт.
В PHP поработают с мультипроцессорностью и проблемы в этой области будут сводиться к 0.
В PHP добавят специальный параметр, который будет давать возможность отключить «ПХП создан, чтобы умирать» и решаться некоторые проблемы с демонами.
Ну и еще много моментов, которые подсказали коллеги и я упустил.
PHP станет языком широкого применения и на нем станет комфортно писать мультиплатформенный софт.
В PHP поработают с мультипроцессорностью и проблемы в этой области будут сводиться к 0.
В PHP добавят специальный параметр, который будет давать возможность отключить «ПХП создан, чтобы умирать» и решаться некоторые проблемы с демонами.
Ну и еще много моментов, которые подсказали коллеги и я упустил.
Через 5 лет доля WordPress-сайтов в Интернете перевалит за половину. Будут появляться кучи вакансий для «WordPress-программистов» и тем на SO в стиле: «Как сложить два числа в WP». А с самим PHP всё будет хорошо.
Каким будет PHP через 5 лет? Явный тренд развития в сторону конкурентного и многопоточного программирования: из коробки появятся не блокирующий ввод-вывод и асинхронность (аля nodejs или reactphp — об этом ещё Дмитрий Стогов на DevConf упоминал), синтаксис asycn/await, возможно PHProutine (наш ответ на горутины!) или хотя бы примитивы вроде parallel foreach, и какой-то «стандартный» сервер приложений.
В синтаксисе появится больше сахара: стрелочные функции, destructuring ассоциативных массивов и объектов, pattern matching, использование имён функций как ссылки на сами функции, чтобы можно было передавать без заключения в кавычки: array_map(strlen, ...) (для совместимости со старым кодом, возможно, будет синтаксис strlen::function, по аналогии как было сделано с MyClass::class)
В синтаксисе появится больше сахара: стрелочные функции, destructuring ассоциативных массивов и объектов, pattern matching, использование имён функций как ссылки на сами функции, чтобы можно было передавать без заключения в кавычки: array_map(strlen, ...) (для совместимости со старым кодом, возможно, будет синтаксис strlen::function, по аналогии как было сделано с MyClass::class)
1) перепишут функции и стандартизируют. Думаю, будет пара промежуточных версий с deprecated функционалом.
2) поработают с многопоточностью
3) спеки PSR-* станут обязательными\официальными.
если успеют хотя бы это, то будет очень и очень круто.
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 будет поддерживать интеграцию со средствами виртуальной реальности и позволит набирать код силой мысли.
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%
Даешь именованные аргументы!
Не ради рекламы. Я перевел статью «Принципы, которые формируют успешные фреймворки» (которую Qiang Xue написал) в силу своих возможностей. На хабр не стал выкладывать т.к. качество перевода сильно хромает, а тут за такие «полумеры» только заминусуют.
Но вдруг кому-нибудь, кто совсем не умеет в английский поможет.
Но вдруг кому-нибудь, кто совсем не умеет в английский поможет.
А я думаю что к 2020 году уже не будут востребованы просто php-программисты. Нужны будут люди умеющие готовить код на нескольких языках программирования (JS, Python, Haskell, Rust, Dart) и умеющие в микросервисную архитектуру. Шаред-хостинги наконец уступят место виртуальным серверам и контейнерам. PHP займет свою нишу в бэкенде.
Доля stand-alone сайтов на PHP сильно просядет т.к. социальные сети будут еще сильнее захватывать интернет. Куда проще будет в два клика зарегистрироваться на удобном сервисе и в визуальном режиме накидать сайт.
Выйдет восьмая версия PHP не совместимая с 5-веткой.
Уровень входа в язык повысится и начинающие программисты будут в качестве первого языка программирования выбирать JS.
P.S. Интересно будет в 2020 году это перечитать =)
Доля stand-alone сайтов на PHP сильно просядет т.к. социальные сети будут еще сильнее захватывать интернет. Куда проще будет в два клика зарегистрироваться на удобном сервисе и в визуальном режиме накидать сайт.
Выйдет восьмая версия PHP не совместимая с 5-веткой.
Уровень входа в язык повысится и начинающие программисты будут в качестве первого языка программирования выбирать JS.
P.S. Интересно будет в 2020 году это перечитать =)
Ну, что же, пофантазируем :)
PHP в 2020:
PHP в 2020:
- PHP перестанет быть языком, который «должен умирать» и daemons и фоновые длительные операции будут не только гиковскими штуками, но и вполне хорошими инструментами;
- PHP и nginx объединят усилия и усовершенствуют встроенный веб-сервер, который можно будет использовать в том числе на production серверах для небольших проектов. Возможно, с предустановленной конфигурацией популярных CMS и микроферймворков;
- PPI, Puli и им подобные библиотеки смогут реализовать свою цель и завершатся холивары о том, у какого фреймворка бандлы/пакеты/расширения/модули лучше;
- не будем забывать о нашем любимом Composer и будем надеятся, что он получит стабильный релиз первой версии, а, возможно, даже релиз второй версии!
- конечно же! как же без этого! релиз PHP 8 либо PHP 7.5 с астрономическими показателями скорости и закрытыми всеми тикетами с багами :)
- если уже есть релиз новой версии PHP, то фреймворки поднатужатся и сделают свои новые релизы мажорных версий
- для новичков появится инсталлятор PHP под windows, через который можно будет устанавливать/удалять/включать/отключать расширения;
- а для продвинутых будет какой-то качественно новый уровень интеграции php с vagrant/docker/otto.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
PHP-Дайджест № 76 – итоги 2015 года, подборка интересных ссылок + конкурс от компании JetBrains