Что не так с Node.js?

Я новичок в джаваскрипте, только недавно закончил его изучение. Меня пригласили поучаствовать в одном проекте, где я буду писать серверную часть на Node.js , так сказать набить руку и набраться хоть какой то практики в JS.
Рассказав эту новость своим друзьям, они стали плеваться на ноду и ругать ее. Говорили , что node.js медленный и вообще писать серверную часть на JS - унизительно. Один знакомый сказал про Node.js "Было им мало быдлокода на клиенте, они еще и на сервер его перетащить захотели".
Что с этим Node.js не так? Чего его так ругают? Что мне говорить в ответ на такие упреки? =)
  • Вопрос задан
  • 1715 просмотров
Пригласить эксперта
Ответы на вопрос 3
un1t
@un1t
Высоконагруженные проекты пишут на любых языках, многие написаны на php или perl. Нельзя называть эти языки быстрыми.
То что он держит какую-то нагрузку это просто смешно. Никакую нагрузку он не держит, яваскрипт достаточно медленный, впрочем тоже можно сказать и о php.
Нагрузку держит асинхронный поход (не яваскрипт!) который искользуется в том случае если у вас IO bound сервис, т.е. большую часть веремени он ничего не делает, а просто ждет ответа от другого сервиса или БД.
Решать какие-нибудь задачи которые CPU bound на node.js ... ну вобщем это не подходящий инструмент, т.к. язык медленный, будет все работать медленнл.
У меня лично претензии к js, что язык этот имеет мало возможностей и много костылей, хотя он активно развивается и в ES6 видно много улучшений В node.js мало библиотек, они сырые и медленные. Я сравниваю с Python, но даже у PHP тут есть преимущества. На node.js нет полноценного веб-фреймворка, аля Django, RubyOnRails или Yii. Конечно это вопрос времени, но пока все сыро.

node.js и асинхронный подход.
На ноде большинство библиотек асинхронные, если ты захочешь написать что-то синхронное, то у тебя будут проблемы.
Асинхронный подход он не хороший и не плохой, это инструпент для решения определенных задач.
Люди же использующие ноду используют асинхронный подход везде, они вынуждены. Но это как забивать гвозди микроскопом - долго дорого, неудобно и ненадежно.
Асинхронный подход нужен для решения специфичесих задач. C# или Python имеют языковые конструкции упрощяющие асинхронное програмирование, но в ноде ничего подобного нет. Писать асинхронный код на JS это тот еще геморой. Всякие anync и promise немного улучшают ситуацию, но проблема остается.
Ответ написан
IonDen
@IonDen
JavaScript developer. IonDen.com
У node.js своя ниша. Никто не пишет обычный сервер на нём, а пишут некий middle layer между server side и client side для работы на очень высоких нагрузках. Кроме того, давно минули те дни, когда node.js был еще совсем зеленым страдал кучей детских болезней. Сегодня это полноценная платформа для разработки, которая обросла кучей плагинов и фреймворков. Взгляните например на https://www.meteor.com/
Ответ написан
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Сперва пусть приведут аргументы, а то "плеваться" и "ругать" можно просто так, на ровном месте, говорить "медленный" и "унизительно" - это просто пустые пропагандистские слова. Спрашиваю недавно одного специалиста, почему ZeroMQ быстрый? Ответ: он же на стероидах, в доках так и написано. Так что, для объяснения явлений без фактов можно просто давать им умные названия. Почему предметы падают - гравитация, а... ну тут сразу все понятно. Почему нода плохая - потому, что это говнокод. Добавляю еще методические указания к холиварам: статья "Как распознать идиота во время дискуссии"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы