PHP - мой опыт разработки

Php (Hypertext Preprocessor, хотя изначально расшифровывался как Personal Home Page) появился в начале 1998 года среди первой десятки наиболее популярных языков.

Появление PHP в первой десятке лидеров

И к концу года занял 7 место.

В 2003 год PHP достиг третьего места по популярности.

В 2004 году появилась пятая версия PHP, начиная с которой PHP начал поддерживать парадигму ООП. Возможно именно этот прорыв позволил языку программирования в 2006 года занять второе место, уступая только Java.

В дальнейшем, он постепенно стал сдавать свои позиции. В 2017 году его обогнал любимый мной c#. На конец 2019 года раскладка по языкам следующая:

Диаграмма популярности языков на конец 2019 года

С исторической динамикой популярности языков можно познакомиться по адресу: https://www.youtube.com/watch?v=Og847HVwRSI

Но давайте посмотрим на языки программирования в контексте веб разработки. Ведь в отличие от c# (на котором можно разрабатывать все от консольных до мобильных приложений) или Python (который полюбился датасаентистам) PHP создан исключительно для веб разработки.

До сих пор более 75% сайтов из топ миллиона сделаны на PHP.

Источник https://w3techs.com/technologies/history_overview/programming_language/ms/y

И это ведь не просто так. На мой взгляд, связано это с тем, что PHP – один из первых позволил создавать веб сайты с базами данных по модели open source. То есть связка Apache + PHP + MySQL прекрасно работает уже более 20 лет. Для сравнения .net core появился лишь в середине 2016 года. Что же касается других свободных языков программирования, то где-то я читал, что PHP в 4 раза быстрее, чем Python, и в 2 раза быстрее, чем Ruby.

Я познакомился с PHP достаточно давно. И при первой встрече, прямо скажу, он совсем не покорил мое сердце. Для сравнения больше всего подходила технология ASP Classic, которую Microsoft давным-давно забросила, и которую PHP, конечно, обогнал, так как до сих пор этот язык активно развивается. В пятой версии PHP появилось объектно-ориентированное программирование. В 7 версии добавили поддержку Unicode, декларацию скалярных типов (строки, целые и т.д.), добавили iterable тип и т.д. В 8 версии появился JIT compiler, union types (полезная фишка, эквивалента которой нет в c#) и т.д.

PHP, конечно, обогнал ASP Classic, но, на мой взгляд, всегда уступал .NET, в пользу которого Microsoft забросила ASP Classic.

Хотя PHP меня не очаровал, плотно работать с ним пришлось, хотя и не по собственной воле. Просто в компании, в которой я работал, много задач было связано с сайтом, созданным на PHP+Symfony+Doctrine. Пришлось учить. Где-то через полтора месяца после знакомства с этим языком я понял, что не испытываю затруднений при работе PHP. Не могу сказать, что работать с PHP было также комфортно, как с c#, но, в принципе, это не самый худший язык, из тех, на которых мне пришлось программировать. И у проектов на PHP были даже некоторые преимущества перед проектами на c#, например, после внесения изменений в файл не нужно перекомпилировать весь проект.

И все же в пользу c# говорил тот факт, что в той компании стратегическим было направление перевода всей веб логики приложения с PHP на .net core. То есть конкретно в той компании c# рассматривался, как более перспективный язык. Тем не менее, с учетом того, что на PHP написаны петабайты кода для веб сайтов, я говорю, что готов работать и на PHP, если в этом будет финансовый смысл.

PHP хорошо документирован, хорошо поддерживается и продолжает развиваться.

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