Справедливости ради, у MS есть real-time OS — Windows CE с лицензий и поддержки которой они бы срубили куда как больше бабла. Так что думаю что здесь корень зла совсем не в MS.
Используйте на здоровье. По поводу ссылки — достаточно «спасибо» моей любимой девушке Марианне, которая оказала огромную помощь при создании этих картинок. Ей будет очень приятно =)
Асинхронный файловый ввод/вывод действительно использует все тот же thread pool. Но стоит отметить, что файловый ввод/вывод на стороне сервера операция редкая. А вероятность того, что несколько запросов будут одновременно выполнять данную операцию — так же невелика при правильном дизайне. С MySQL действительно имеются проблемы, которые иногда могут быть решены (например, введением memcached прослойки или вообще отказом от MySQL). Как я уже говорил Node.js — не silver bullet. В этом мире не бывает идеальных вещей, способных разом разрешить все проблемы. Программное обеспечение — совершенно не исключение из этого правила.
Основной фишкой node.js является отсутствие возможности писать код с синхронным вводом/выводом, причем писать на языке знакомом и PHP, и Python, и Ruby, и ASP и вообще любому веб-разработчику.
Извините, я в общем то не в курсе, поэтому не было возможности проанализировать. О каких разработках идет речь? Ну и на вскидку могу вам выдать такой аргумент: 10 лет назад не было эффективных реализаций исполняющей среды и JS был еще довольно молодым языком (как следствие — отсутствие наработанных best practices и толковых специалистов).
Согласен, Erlang, пожалуй, даже лучше подходит для данных целей, но как вы правильно отметили — он меньше знаком разработчикам. Чего нельзя сказать о JS, который известен подавляющему большинству веб-программистов. Из чего вытекают два его неоспоримых плюса: 1)реализации исполняющей среды будут продолжать развиваться и поддерживаться крупными мейнтейнерами (в нашем случае — Google), 2)не потребуется заниматься переобучением персонала
Само собой, Node.js — это не silver bullet. Но когда нужна простота инфраструктуры, быстрое развертывание и простая разработка я выступлю за Node.js (как только его доделают конечно же =))
+
=
«эффективные реализации polling'а на сегодняшний день имеются лишь в *nix-системах»
Socket.Poll Method