Язык программирования PHP

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

В качестве основных  преимуществ PHP чаще всего называют широкую распространённость, достаточно высокую востребованность PHP-разработчиков в сочетании с низким порогом входа при обучении. 

PHP часто критикуют за несогласованный синтаксис функций, неортогональность дизайна, обратную несовместимость версий, а также за весьма низкий средний уровень культуры разработки.

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

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

Мы столкнулись с кадровой проблемой при усложнении реализуемых проектов. На PHP достаточно просто найти разработчиков, которые могут собрать сайт на коробочной CMS-системе, особенно, если нет никаких требований по скорости его работы, надёжности и безопасности. Как только ужесточаются требования к техническим характеристиками проекта или когда требуется разработка на фреймворке с качественной проработкой архитектуры, то кадровый рынок в экосистеме PHP оставляет желать лучшего. 

Действительно хороших программистов в принципе мало на любом языке програмирования, но наша практика показала, что их поиск в рамках PHP-стека более сложная задача в сравнении с другими языками: Ruby, Python, GoLang, Java. Это была одна из причин, по которой мы в 2013 году решились на смену технологического стека, перейдя от повсеместного применения PHP к применению Ruby для веб-разработки и к использованию Python для анализа данных. Также свою роль сыграла и разница экосистем этих языков программирования — в Ruby и Python оказалось больше качественных инструментов, нужных нам для реализации сложных проектов. Еще в Ruby и Python сообщество разработчиков сконцентрировано вокруг небольшого числа мощных фреймворков и библиотек, тогда как в PHP несколько сотен в разной степени популярных фреймворков и CMS. Другими словами, случайно выбранный веб-разработчик на Ruby в 99% случаев уже знает и работал с Ruby on Rails, веб-разработчик на Python — с вероятностью 95% знает Django, а вот в PHP такого явного лидера среди платформ просто нет. 

Смотрите также:

Язык программирования Ruby
Python
Go
Система управления сайтами 1С-Битрикс
Система управления сайтами UMI.CMS
Yii
Laravel
Symfony