On Thu, Apr 4, 2013 at 2:11 PM, Fredrik O <[email protected]> wrote:

> When node.js was created, why was it essential to create a new library to
> run background (asynchronous) jobs? What was to example wrong with
> boost.asio or libevent? If some functionality was needed should it well be
> more easy to extend those libraries than to create a new library, from
> scratch?
>

libev was not created by node.js folks. libev already existed as an
alternative to libevent. To quote libev's README
" Libev is modelled (very losely) after libevent and the Event perl module,
but is faster, scales better and is more correct, and also more featureful.
And also smaller. Yay."

Boost.Asio is AFAIK a part of Boost and so has dependencies on other
parts of Boost. It is also C++. The aim for node has always been to
have a really small C kernel, and hoist as much stuff into JS as
possible. This keeps it simple and makes development faster and easier
to do cross platform.

libuv started as a small wrapper around libev by node developers.
libev is Unix only, and does not support Windows async IO. libuv
wrapped libev on Unix, while working with IOCP on Windows, but
preserving the same API.

So those are the two reasons - no Boost.Asio to keep things small and
no 'libev only' for Windows support.

Eventually libev was removed from the underlying code and libuv took
over most of its responsibilities. Why this was done I'll let more
knowledgeable people answer.

Nikhil

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to