Другие языки программирования и технологии

Кaкой язык лyчше испoльзовать для бэкeнда: JаvaScript или PHP?

Пoчему имeнно этoт?
MY
Muhiddin Yarmatov
3 388
PHP - как более универсальное, более удобное и более надёжное решение.
В тех же случаях, когда PHP подходит плохо, лучше использовать не Node.JS, а Go - опять же, как более универсальное и более надёжное решение.

У Node.JS два недостатка:
1. Крайняя ненадёжность кода. Одной случайной опечаткой можно "положить" сервер, а саму эту опечатку придётся искать много часов. И это неустранимое свойство JavaScript (TypeScript маскирует проблемы, но никак их не убирает).
2. Крайняя убогость стандартной библиотеки. Там, где в других языках используются протестированные отлаженные и оптимизированные стандартные библиотеки, в JS приходится использовать сторонние модули неизвестного качества.

Не знаю, как сейчас, а ещё недавно Node.JS нормально работал только в MongoDB - иерархической СУБД, предназначенной для узкого круга задач. Производительность же работы с реляционными СУБД была, мягко говоря, неудовлетворительной.
Got The Life
Got The Life
69 697
Лучший ответ
Радик Лукманов Я тоже не знаю, как он работает с реляционными БД, специфика проекта такова, что в основном данные хранятся в другом сервисе, написанном на C++.
А в микросервисах на Node.js хранится в tarantool. Что сказать, tarantool околомаргинальная штука, которая мало развивается по сравнению с каким-то redis, что как-то перекрывает многие ее плюсы. Но производительность нормальная, и вообще проблем нет, надо только понимать, что фибер - это не поток.
На вкус и цвет, как говорится.
Василий Шишкин
Василий Шишкин
85 006
Если команда из одного человека: PHP.
Если в команде больше 1 человека JavaScript.
Илья Мовсисян
Илья Мовсисян
57 366
Радик Лукманов Я один и юзаю JS. А еще C/C++, немного Rust, Python и TS.
Фронт-енд сейчас пишут на React/Next и Vue/Nuxt. Получается код, который формирует HTML на стороне клиента. Клиент - это браузер, и поэтому этот код всегда написан либо на JavaScript, либо на TypeScript.
Но этот код должен иметь возможность выполняться и на сервере, с тем, чтобы:
- выполняться быстрее
- сайт могли индексировать отсталые поисковики вроде Яндекса
Вывод очевиден, Node.js рулит, поскольку там как раз JavaScript или TypeScript = получится обойтись без колхоза с серверным рендерингом.

PHP мог бы тоже, тем не менее, рулить, если бы на нем было модно писать микро-сервисы с данными, без html. Но на нем их не пишут, их пишут на чем угодно, Python, Go, даже на C++, но не на PHP.

А PHP так и остался на уровне jQuery и всяких CMS, то есть достаточно узких или ретро технологий.
Можно, конечно, еще сделать бек-енд для мобильного приложения, и тут PHP вполне себе, но опять же не особо модный выбор)
Got The Life Ошибаешься: микросервисы на PHP прекрасно пишут. И в любом приличном PHP-фреймворке уже много лет есть для этого встроенные инструменты.