Разработчики PHP предложили P++, диалект со строгой типизацией

15 августа 2019 года

Разработчики языка PHP обсуждают идею по созданию нового диалекта P++, который поможет вывести язык PHP на новый уровень. В текущем виде развитию PHP мешает необходимость сохранения совместимости с имеющейся кодовой базой web-проектов, что удерживает разработчиков в ограниченных рамках. В качестве выхода предлагается параллельно начать развивать новый диалект PHP - P++, разработка которого будет вестись без оглядки на необходимость сохранения обратной совместимости, что позволит добавить в язык революционные улучшения и избавиться от устаревших концепций.

Наиболее заметными изменениями в P++ станет переход к использованию строгой типизации, избавление от применения тегов "<?", прекращение поддержки array() в пользу синтаксиса "[]" и запрет использования глобального пространства имён для функций. Для проекта предварительно выбрано имя P++ (PHP Plus Plus) по аналогии с С++. PHP и P++ предложено развивать бок о бок и использовать единый runtime. Не связанные с синтаксисом низкоуровневые компоненты, структуры данных, расширения и оптимизации производительности одновременно будут разрабатываться для PHP и P++, но в режиме PHP будет сохраняться обратная совместимость, а в P++ можно будет экспериментировать с эволюционированием языка.

Код на PHP и P++ можно будет смешивать в одном приложении и выполнять одним интерпретатором, но метод разделения кода пока не определён. При этом разработчики не отказываются от планов по развитию ветки PHP 8, в которой планируется добавить JIT-компилятор и средства для обеспечения переносимости с библиотеками на C/C++. Проект P++ пока находится на стадии обсуждения предложения. Основным сторонником P++ является Зеев Сураски ( Zeev Suraski), один из лидеров сообщества разработчиков PHP, сооснователь компании Zend Technologies и автор движка Zend Engine.

Из возражений оппонентов можно отметить опасение в недостатке ресурсов для продвижения проекта (в режиме полного рабочего дня над PHP работает всего два разработчика), возможность фрагментации сообщества, конкуренция с уже существующим языком Hack (PHP со статической типизацией), опыт проекта HHVM (в конечном счёте отказавшегося поддерживать в одном runtime PHP и Hack), необходимость изменения семантики для строгой типизации, опасность стагнации PHP и развития новшеств только в P++, вопросы по поводу организации сосуществования и взаимодействия PHP и P++ (нетривиальность конвертации кода PHP в P++ (синтаксис может разойтись настолько, что потребуется переписывание приложения), несовместимость P++ с существующими инструментариями для PHP и необходимость убедить авторов инструментариев, систем тестирования и IDE обеспечить поддержку новой редакции).

Дополнение: Проведено голосование, пытающиеся узнать, является ли P++ тем направлением, на развитие которого разработчики PHP готовы тратить своё время и силы. Все участники высказались против.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Разработчики PHP предложили P++, диалект со строгой типизацией», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.