Подтвердить что ты не робот

Является ли node.js жизнеспособной альтернативой традиционным языкам сценариев, таким как Perl и Python?

Недавно я потерял любовь с Perl как межплатформенный язык сценариев общего назначения, а niether Python и Ruby действительно обращались ко мне.

Но я все больше и больше становился все более удобным с JavaScript в браузере, он получал довольно хорошую производительность в современных двигателях, таких как V8, и node.js действительно снимался уже пару лет.

Но node.js предназначен прежде всего для сетевого программирования на стороне сервера. Поскольку он заявляет о себе на своей домашней странице:

Управляемая событиями среда сервера ввода-вывода на стороне сервера на основе V8.

Я хотел бы знать, подходит ли node.js в качестве общего языка сценариев на * nix и Windows в качестве альтернативы Perl, Python и Ruby.

Я не очень много говорю о том, что он используется таким образом, но у него, похоже, есть широкое сообщество, и я не заметил ничего, говоря, что он не подходит для этого использования. Широко ли используется этот способ? Или ему не хватает ключевых функций или модулей для этого типа вещей?

4b9b3361

Ответ 1

В терминах Node.js я не вижу, чтобы это стало основным способом использования javascript в качестве языка сценариев общего назначения. Основной причиной этого является асинхронный характер 99% библиотек и функций, доступных в Node.js. Из-за асинхронной природы вам нужно полностью изменить свое мышление. Отсутствие синхронных методов является камнем преткновения. Это делает вещи менее script похожими на то, что ваш код не является линейным больше.

Таким образом, принятие не происходит по той простой причине, что большую часть времени вы думаете: я мог бы написать это намного быстрее/проще в Ruby/Python/... (просто попробуйте загрузить 5 разных файлов, и копирование их в другую папку с помощью Node.js)

Поскольку люди больше привыкли к мышлению и программированию в асинхронном режиме, использование Node.js в качестве инструмента для сценариев общего назначения может измениться.

Если бы каждая асинхронная функция в node имела синхронную версию, усыновление было бы иным, и люди закончили бы с не масштабируемыми серверами Node.js, потому что они предпочитают использовать методы синхронизации в местах. Возможно, node не стал бы популярным, поскольку номера производительности не выделяли бы его.

Короче:

принятие Node.js происходит из-за этого асинхронного характера. принятие Node.js в качестве инструмента для общего использования скриптов на стороне клиента не происходит из-за отсутствия синхронных функций.

Пожалуйста, имейте в виду, что это основано на моем собственном опыте и мнении, а не на статьях или цифрах, которые я нашел в Интернете, поэтому попробуйте сами и сделайте свое собственное мнение.