Тенденции развития PHP. Будущее языка

Тенденции развития PHP. Будущее языка

Программиста, изучающего тот или иной язык разработки всегда интересует множество вопросов касательно объекта изучения. Каково будущее этого языка? Каковы сферы его применения, сильные и слабые стороны? Перспективна ли изучаемая технология и стоит ли тратить на нее время? В данном материале дам свой взгляд на язык программирования PHP.

Вот уже на протяжении 20 лет PHP входит в десятку популярнейших языков программирования. Повсеместно его используют в вебе для разработки динамических сайтов. На PHP создано большое количество быстро разворачиваемых платформ управления контентом(CMS) практически под любые нужды. Самые известные из них - WordPress, Joomla и Drupal. На их основе делают от простых блогов до сложных информационных систем и интернет-магазинов. Кроме того, на PHP изначально были написаны такие высоконагруженные системы как facebook и vkontakte. Вместе с тем PHP имеет самую неоднозначную репутацию среди профессионального комьюнити. Все дело в том, что для того, чтобы запустить собственный сайт на PHP глубоких познаний не требуется, ровно также как и титанических усилий. Это одновременно и неимоверное преимущество языка и его проклятье. Низкий порог входа в использование языка приводит к тому, что на нем пишет кто попало и как попало. Таким образом, существует большое количество программистов, пишущих низкосортный неподдерживаемый код. Одновременно с этим существуют и мощные фреймворки, например Symfony и Zend, которые являются образцами дизайна программных систем. Такое положение дел и приводит к тому, что одновременно с огромной популярностью языка существует большое количество ненавистников данного языка.

Тенденции развития языка

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

Зарождение

До появления PHP4 в 2000 году язык мало чем напоминал текущий. Это был набор каких-то часто используемых функций с возможностью подключения дополнительных модулней. Да, PHP умел работать с большим количеством баз данных, протоколов, поддерживать большое число API. Наверное, в то время большего для веб-разработки и не требовалось, поскольку веб-приложений сложней новостных сайтов и не существовало. Хотя уже тогда PHP3 поддерживал разработку с использованием методологии ООП, столь быстро набиравшую популярность. Конечно же, сей факт сильно способствовал увеличению поклонников языка.

Становление

Я бы в этот период включил интервал с 2000 по конец 2015 год, с появления PHP4 и до появления PHP7. В PHP4 одновременно с увеличением производительности языка появились такие ключевые нововведения как поддержка сессий, буферизация вывода, улучшена работа с безопасностью. Эти нововведения дали толчок для формирования большой экосистемы всевозможных плагинов и готовых решений. Так, в 2000г. появились phpBB и Drupal, а в 2001 вышел менеджер пакетов PEAR.

В 2004м году вышла новая версия языка - php5, привнесшая много нового. Так, снова было переработано ядро языка, которое именовалось zend engine 2.0 и появление которого снова увеличило производительность языка. Вместе с тем в различных минорных версиях языка было добавлено множество положительных изменений: введены пространства имен, лямбда-функции и замыкания, позднее статическое связывание, трейты, но главное из них - полностью переработанная поддержка ООП, которая по функциональным возможностям приблизилась к java. Именно в этот момент язык качественно преобразился и появилась возможность более комфортно работать на нем. В следствии этого, как грибы после дождя, стали появляться все новые фреймворки, среди самых известных zend framework, symfony, laravel, codeigniter, yii. Знаменательным событием в экосистеме php стало появление менеджера зависимостей Composer. Все это говорит о том, что сообщество php-разработчиков весьма большое и продуктивное, и является признаком зрелости языка.

Тем не менее у php по-прежнему имеются существенные недостатки. Из объективных - это все еще низкая производительность языка, а также ядро языка со строками работает не в кодировке utf-8. Из стилистических - это необходимость писать $ при использовании переменной. Все это, безусловно, сказывается на популярности языка, поскольку существуют прекрасные языки программирования, лишенные данных досадных недостатков.

Зрелость

В декабре 2015 года вышла мажорная версия PHP - 7.0. Это событие стало, безусловно, знаменательным в мире PHP-разработки, поскольку производительность PHP в данной версии повышена в 2 раза по сравнению с предыдущей версией при уменьшении потребляемой оперативной памяти, и с этих пор язык назвать медленным просто нельзя. Также были добавлены возможность указывать тип возвращаемых из функции данных, а также добавлен контроль передаваемых типов для скалярных данных. Язык достиг приемлемой производительности и достиг того уровня развития, на котором можно использовать его для любых целей в веб-разработке - будь это простой сайт или серьезное высоконагруженное веб-приложение. Сформирована огромная экосистема, куда входит большое количество фреймворков, CMS и CMF, существует современный менеджер зависимостей - composer, активное сообщество разработчиков, стандартизация языка, а также повсеместная доступность языка на веб-серверах. Все это в большинстве случаев делает разработку на PHP простой и не замысловатой, главное правильно определиться с используемыми инструментами.

Будущее

Думаю, старания сообщества будут вестись по нескольким направлениям:

  • Дальнейшая стандартизация языка. Уже приняты стандарты языка в части кодирвания, логирования, автозагрузки, интерфейсов кеширования, http-запросов и ответов, ссылок. Также находится в разработке порядка 10 различных стандартов. Все они призваны только усиливать взаимодействие внутри сообщества разработчиков PHP для создания взаимозаменяемых веб-компонентов. Это прекрасное движение, поскольку выработка общих правил разработки только способствует развитию экосистемы языка.
  • Перенос в расширения php все большего количества функциональности. На данный момент существует фреймворк, который подключается как расширение. Он имеет самую высокую производительность среди всех фреймворков PHP. Это продолжение пути увеличения производительности PHP-кода без сколько-нибудь дополнительных затрат.
  • В следующих версиях языка следует ожидать все большего влияния языка Java на PHP через ужесточение типизации переменных. Причем, программировать можно будет как в режиме слабой типизации, так и в режиме жесткой типизации. Это еще больше повысит безопастность кода PHP через упрощение его тестирования, так и повысит привлекательность миграции на технологию со стороны Java и C# разработчиков.

Послесловие

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

📎📎📎📎📎📎📎📎📎📎