PHP. так ли он плох? 2022 проверка и сравнение с другими языками

Кредиты изображений: Бен Гриффитс, Unsplash

Говорят, что нет плохого языка, если он позволяет программировать необходимые паттерны для разработки большинства существующих решений. Это правда, но PHP, несмотря на свои улучшения с годами, так и не смог обеспечить большую эффективность, производительность и реализацию родных API, чем большинство других скриптовых (и нескриптовых) языков.

Давайте сравним его в контексте с наиболее используемыми сегодня скриптовыми языками:

TOP Scripting Languages comparison:

Javascript по умолчанию реализует асинхронность и основан на событиях, что дает ему больше возможностей в управлении одновременными запросами, а его JIT (just in time compiler) заметно лучше, чем у PHP (позже включенный в PHP 8) и обеспечивает более высокую скорость. С другой стороны, в JS, как правило, требуется меньше строк кода (поэтому его легче поддерживать).
Кроме того, если вам это нужно, вы можете использовать статическую типизацию в TypeScript (в PHP, например, такой возможности пока не существует), а также сообщество, количество библиотек, интеграций, SDK и т.д. намного выше.

Python может компилироваться в pyc, что является полукомпиляцией, и поэтому его выполнение в больших вычислительных нагрузках лучше, чем PHP и JavaScript. Это одна из причин, по которой он занимает первое место в области ML (Machine Learning).

PHP превосходит Ruby по эффективности использования ресурсов сейчас, как и в течение долгого времени.

Немного истории о PHP: Первоначальная реализация ООП в PHP произошла в PHP 3.x, и только в PHP 5 реализация стала сравнимой с другими языками (опять же, это было поздно), и то же самое происходит с ним с включением функциональных инструментов, полезность которых вышла на первый план в последние годы.
Фактически, в нем еще даже не реализованы ламбды. Здесь следует упомянуть, что в Ruby реализованы ламбды (так же, как в JavaScript и Python).

Следует отметить, что JavaScript, Python и Ruby являются кроссплатформенными языками. Вы можете написать код от веб-сервиса до автоматизированной системы полива на Raspberry Pi, через приложение для телевизоров Smart TV и даже спутника, если это необходимо.

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

Обратите внимание, что любой язык может быть кроссплатформенным, если выпущен интерпретатор для конкретной платформы.

В случае с Javascript есть даже специальные фреймворки:

  • Electron для настольных приложений
  • React Native, ionic и cordova для приложений для смартфонов (iOS и Android)
  • Node JS или Deno как среды выполнения JavaScript для серверов или аппаратного обеспечения.
  • Сами браузеры (Google Chrome, Firefox, Opera, Edge…) — среда выполнения, которая будет интерпретировать клиентскую часть на сайтах с Javascript, в которых можно использовать React, Angular, Vue, Svelte…
  • 3 JS для видеоигр
  • и т.д.

Таким образом, в ТОПе скриптовых языков полюс будет выглядеть следующим образом:
1- JavaScript (из-за его расширения, использования и общих преимуществ).
2- Python (если говорить о ML, то он был бы в ТОП-1).
3- Ruby
4- PHP (если бы у него были Lambdas и другие недостатки, он был бы на 3-м месте по сравнению с Ruby).

По всем этим причинам PHP в основном используется для поддержки и разработки плагинов или модулей для CMS (wordpress, prestashop и т.д., которые охватывают ~50% публичного интернета в настоящее время) и все меньше и меньше для построения микросервисов или создания webApps, потому что, несмотря на возможность, это далеко не лучший вариант.

Стоит ли изучать PHP?

Если вы планируете изучать PHP, то вопрос будет звучать так: «Какую цель вы преследуете?».

Если вы собираетесь строить свой бизнес на плагинах/темах для CMS, то да, PHP — это ваш язык.

Если вы собираетесь писать веб-приложения, то разумнее всего изучать JavaScript и использовать такие фреймворки, как Next JS, который реализует Node JS и React и предлагает комплексное решение для создания самодостаточных APP, монолитов и т.д. При желании, используя знания этого фреймворка, всякий раз, когда вам нужно масштабировать его до сервисов или микросервисов, это так же просто, как перенести каталог /api/ в другой экземпляр, сделать несколько настроек и запустить его поверх простого Node.

Если вы планируете заниматься ML, то лучше выбрать Python, а если вы также хотите создать веб-сайт или веб-приложение, то можно выбрать Django как python-фреймворк для создания веб-сайтов.

Заключение

Если говорить упрощенно, то можно сказать, что PHP не умер, потому что почти 50% сайтов используют PHP (в основном CMS) в качестве языка внутренней разработки. Но большинство новых проектов используют другие технологии, такие как Node JS, по многим причинам, которые делают его более эффективным, чем PHP.

Оцените статью
devanswers.ru
Добавить комментарий