Розробники PHP запропонували P++, діалект із суворою типізацією

Розробники мови PHP виступили з ідеєю створення нового діалекту P++, який допоможе вивести мову PHP на новий рівень. У поточному вигляді розвитку PHP заважає необхідність збереження сумісності з наявною кодовою базою web-проектів, що утримує розробників в обмежених межах. Як вихід пропонується паралельно почати розвивати новий діалект PHP — P++, розробка якого вестиметься без огляду на необхідність збереження зворотної сумісності, що дозволить додати в мову революційні покращення та позбутися застарілих концепцій.

Найбільш помітними змінами в P++ стане перехід до використання суворої типізації, звільнення від застосування тегів «‹?», припинення підтримки array() на користь синтаксису «[]» та заборона використання глобального простору імен для функцій.

Для проекту попередньо вибрано ім'я P++ (PHP Plus Plus) за аналогією з C++. PHP і P++ запропоновано розвивати пліч-о-пліч і використовувати єдиний runtime. Не пов'язані з синтаксисом низькорівневі компоненти, структури даних, розширення та оптимізації продуктивності одночасно будуть розроблятися для PHP і P++, але в режимі PHP зберігатиметься зворотна сумісність, а P++ можна буде експериментувати з еволюціонуванням мови.

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

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

Джерело: opennet.ru

Додати коментар або відгук