Распрацоўнікі PHP прапанавалі P++, дыялект са строгай тыпізацыяй

Распрацоўнікі мовы 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 працуе ўсяго два распрацоўшчыкі), магчымасць фрагментацыі супольнасці, канкурэнцыя з ужо існуючай мовай Ўзламаць (PHP са статычнай тыпізацыяй), вопыт праекта HHVM (у канчатковым рахунку адмовіўся падтрымліваць у адным runtime PHP і Hack), неабходнасць змены семантыкі для строгай тыпізацыі, небяспека стагнацыі PHP і развіцці навін толькі ў P++, пытанні з нагоды арганізацыі суіснавання і ўзаемадзеянні PHP і P++ (нетрывіяльнасць канвертавання кода PHP у P++ (сінтаксіс можа разысціся настолькі, што спатрэбіцца перапісванне прыкладання), несумяшчальнасць P++ з існуючымі інструментарыямі для PHP і неабходнасць пераканаць аўтараў інструментарыяў, сістэм тэсціравання і IDE забяспечыць падтрымку новай рэдакцыі).

Крыніца: opennet.ru

Дадаць каментар