0x2207 30.06.2011 13:31 epsilon

Народ, заполните мне дыры в образовании. Что такое NodeJS и зачем оно надо?

1. jtootf 30.06.2011 14:16 galois

server-side javascript. вот тут можешь спросить: http://mr-aleph.livejournal.com/

2. 0x2207 30.06.2011 17:23 epsilon

одного понять не могу: зачем?

3. jtootf0x2207 /2 30.06.2011 17:29 galois

because they can!

4. kuronekojtootf /3 30.06.2011 19:59 Psi+

Не "because they can", а потому что в js есть анонимные функции, да к тому же функции — first class object. Движок v8 от ребят из гугла адски быстр. А наиболее благоприятная область применения ноды — задачи, где есть множество клиентов, которые стремятся держать постоянные соединения с сервером. Так что эта связка "libevent + ядро-скрипт + некоторое api + сервер-как-один-персистентный-процесс" получилась весьма приятной — памяти ест мало, работает шустро и держит тысячи полупассивных клиентов не напрягаясь. Некоторые люди делают на ноде полноценные движки\сайты, параллельно оглашая интернет радостными воплями. Некоторые индивиды используют ноду вообще для задач вне веб. Особо сильной блевотины в сторону ноды я не встречал, хотя часть людей, например, плюются от спагетти коллбэков (те, кто не умеет их готовить), а большой пласт быдла, оказывается, вообще не может в асинхронное программирование. Некоторые когда слышат кейворд "nodejs" любят сразу же заикаться про erlang, да упоминать, что есть пара фреймворков на хаскелле, которые обгоняют ноду на веб-helloworld'ах. А ещё гуляет такой аргумент, что js знает каждый веб-придурок, поэтому порог вхождения будет ниже, но на деле получилось не совсем так — нода — это вам не dom веб-страницы корёжить, нода — это очень близко к "угореть по хардкору".

5. kuronekokuroneko /4 30.06.2011 20:08 Psi+

И самое главное-то забыл. Нода вся насквозь построена на событийной модели. Всё api асинхронно — результат получаешь "когда результат готов" — через события или callback. Висящий клиент не требует такой дикости как "дочерний процесс\поток". И большинство времени нода потребляет около 0.0% CPU, так как не делает ничего, когда событий нет.

6. jtootfkuroneko /5 30.06.2011 21:35 galois

я почти прослезился. нет, ну правда

Do you really want to delete ?