Node.js — этот библиотека и утилиты для разработки сервера на JavaScript. Обычные серверы запускаются в множестве потоков, чтобы пока один поток (для одного посетителя) ждёт ответа от БД, второй поток обработал второго посетителя. Но в итоге из-за конкуренции потоков идёт большая потеря производительности. Node.js (как и EventMachine в Ruby и ряд библиотек в Python) работает в одном потоке асинхронно (как и nginx), поэтому имеется хороший прирост производительности.
Но асинхронно писать трудно и сложнее. Однако JavaScript изначально делали без рассчёта на потоки, поэтому стандартное API и сам язык неплохо рассчитан на работу асинхронно.
@gemozlobin Да, phpDaemon — это круто :). Однако у PHP ещё куча проблем (например, излишний синтаксис, куча противоречивых изменений из-за отсутствия единой идеологии). Но в данном случае node.js банально быстрее. А лямбда в Ruby и Python короче. Да и изврат это всё, большинство библиотек для PHP пишут из рассчёта, что процесс после отработки пользователя будет закрыт, тот же хороший сборщик мусора только недавно появился.
@ai давай будем откровенными, большинство библиотек для пхп это мусор, node.js может и быстрее, но пхп при всех его недостатках очень быстрый интепретатор, по субьективным впечатлениям ыстрее питона и руби. Ты говоришь о том что тебе не нравится пхпшный синтаксис, но он понятный и не сильно многословный, что ещё ему нужно?
@gemozlobin Это если сравнивать скорость чистых интерпретаторов. Rails же быстрее Zend Framework, так как у ZF большая часть времени уходит на загрузку классов.
Node.js — этот библиотека и утилиты для разработки сервера на JavaScript. Обычные серверы запускаются в множестве потоков, чтобы пока один поток (для одного посетителя) ждёт ответа от БД, второй поток обработал второго посетителя. Но в итоге из-за конкуренции потоков идёт большая потеря производительности. Node.js (как и EventMachine в Ruby и ряд библиотек в Python) работает в одном потоке асинхронно (как и nginx), поэтому имеется хороший прирост производительности.
aiНо асинхронно писать трудно и сложнее. Однако JavaScript изначально делали без рассчёта на потоки, поэтому стандартное API и сам язык неплохо рассчитан на работу асинхронно.
aiВ целом асинхронный сервер можно написать и на Ruby и на Python (на PHP само собой нельзя), то node.js наверное чуть удобнее и популярнее :)
aiНаверно мой мозг дальше php пока не доехал.
insaner@ai просто ты пхп готовить не умеешь :) http://habrahabr.ru/blogs/php/79377/ , http://habrahabr.ru/search/?q=phpDaemon
gemozlobin@gemozlobin Да, phpDaemon — это круто :). Однако у PHP ещё куча проблем (например, излишний синтаксис, куча противоречивых изменений из-за отсутствия единой идеологии). Но в данном случае node.js банально быстрее. А лямбда в Ruby и Python короче. Да и изврат это всё, большинство библиотек для PHP пишут из рассчёта, что процесс после отработки пользователя будет закрыт, тот же хороший сборщик мусора только недавно появился.
ai@ai давай будем откровенными, большинство библиотек для пхп это мусор, node.js может и быстрее, но пхп при всех его недостатках очень быстрый интепретатор, по субьективным впечатлениям ыстрее питона и руби. Ты говоришь о том что тебе не нравится пхпшный синтаксис, но он понятный и не сильно многословный, что ещё ему нужно?
gemozlobin@gemozlobin Синтаксис PHP гораздо многословнее Python и Ruby. Плюс куча ненужных обязательных вещей, типа ; и
ai@gemozlobin Python быстрее PHP, а Ruby равен PHP по скорости — http://shootout.alioth.debian.org/u32/benchmark.ph… http://shootout.alioth.debian.org/u32/benchmark.ph…
ai@gemozlobin Это если сравнивать скорость чистых интерпретаторов. Rails же быстрее Zend Framework, так как у ZF большая часть времени уходит на загрузку классов.
ai