Обновление: Следующая Версия PHP И Статус PHPng


ОБНОВЛЕННЫЙ Если текущая версия PHP 5.x, как должна называться следующая версия? Очевидно, что это должно быть 6.x. Почему же тогда есть предложение, что это должно быть 7.x? И по мере того, как PHPng становится все быстрее, это PHP 5.7, PHP 6.0, PHP 7.0 или даже PHP 8.0?

Обновление от 30 июля 2014 года

После приостановки голосования по неясным причинам оно было начато снова и закончилось 30 июля. Результат был 58 к 24 в пользу следующей версии PHP под названием PHP 7. 

“следующий крупный релиз PHP, который последует за серией 5.x, будет называться PHP 7.”

http://news.php.net/php.internals/76254

PHP-это язык, который только что вырос. Он добился успеха и перешел от простого языка сценариев, предназначенного для программного создания веб-страниц, к очень общему веб-языку на стороне сервера.

Проблема с языками, которые растут таким же неорганизованным образом, как PHP, заключается в том, что они, как правило, беспорядочны и, как правило, неэффективны. Если вы думаете об этом таким образом, то удивительно, насколько хорош язык PHP на самом деле. 

Однако есть много вещей, которые можно было бы улучшить, и программисты PHP начинают обдумывать следующую версию. Поскольку текущая версия 5.x, может показаться очевидным, что следующая версия должна быть 6.0. Но есть одна проблема. Некоторое время назад была начата работа над версией 6.0, и ее основной задачей было изменить основную операцию для поддержки Unicode. Это оказалось непростой задачей, и версия 6, ну, эта конкретная версия 6, была заброшена, и большинство улучшений были свернуты в линию 5.x. Обратите внимание, что PHP по-прежнему не поддерживает Unicode, и работа по его созданию была прекращена. 

Теперь вы можете понять, почему следующая, следующая версия может не называться 6.0. Было довольно много книг, выпущенных в расчете на то, что версия 6.0 будет доступна, и когда это было не так, большинство книг PHP 6.0 в конечном итоге охватывали PHP 5. Вызов следующей версии PHP версии 6.0 рискует сбить людей с толку. Таким образом, есть смысл подумать о том, чтобы назвать его версией 7.0

В настоящее время в PHP Wiki проходит голосование RFC, чтобы решить, должна ли следующая версия называться 6.0 или 7.0. Голосование завершится 27 июля, и вердикт будет вынесен простым большинством голосов. На данный момент голосование идет за PHP 7.0, но впереди еще неделя.

Еще одним сбивающим с толку фактором в истории “следующего PHP” является то, что это уже следующий PHP, который не находится в основной ветви разработки, и он называется PHPng, где “ng” означает “Следующее поколение”. Некоторые разработчики PHPng называют его PHP 6.0 (они, вероятно, имеют в виду PHP 7.0), а другие разработчики предполагают, что он действительно должен называться PHP 5.7 или даже что он вообще не готов для основной ветви. 

Весь этот вопрос был поставлен в центр внимания недавними контрольными показателями, которые показывают, что PHPng, который был инициирован еще в январе, почти в два раза быстрее, чем PHP 5.6. PHPng . Тест состоит из рендеринга первой страницы стандартной установки WordPress. Никаких других изменений не было сделано, кроме обновления PHP 5.6 до PHPng, и утверждается, что все основные расширения работают с альфа-языком. 

Если вам интересно, откуда взялись улучшения скорости, ответ заключается в том, что это просто лучшая реализация существующих основных алгоритмов. Например, изменение способа хранения переменных и доступа к ним. 

Цитируя Дмитрия Стогова, главную движущую силу проекта:

“Было ясно, что виртуальная машина уже сильно оптимизирована, но работает со структурами данных, которые требуют бесконечного выделения памяти, освобождения и подсчета ссылок. Типичное реальное PHP-приложение тратит около 20% процессорного времени в диспетчере памяти, 10% выполняет операции с хэш-таблицами, 30% – во внутренних функциях и только 30% – в виртуальной машине.”

Некоторые изменения в том, как все было реализовано, действительно влияют на семантику языка, но они относительно невелики – он больше не сохраняет исходные значения параметров для использования с func_get_arg, вместо этого возвращается текущее значение, и вы не можете иметь функции с дублированными именами параметров, что звучит как то, что вы не должны были делать в первую очередь. 

Замена PHP, которая не требует изменений и удваивает производительность, существенно обновит многие веб-серверы в мире без изменения оборудования.

Итак, PHPng версии 5.7, 6.0, 7.0 или даже 8.0, или, возможно, ничего из вышеперечисленного?

Хорошей новостью является то, что PHPng-это шаг на пути к полной JIT-реализации PHP, которая, вероятно, будет еще быстрее, поэтому даже программистам PHP есть на что рассчитывать. 


Добавить комментарий