Блог о программировании

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

Категория: PHP
 12 марта 2017 г. 19:32

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

Теги:  php  php7 

Поделиться статьей

Оставить комментарий