Someone needs to take jwz aside...

Matt Sergeant msergeant at
Wed Jun 8 15:56:06 BST 2011

Hakim Cassimally wrote:
> While Javascript-the-language is lovely (as you say, better in some
> respects, worse in others, than Perl), that's only one part of the
> story.  I've not followed Javascript-the-platform that closely (i.e.
> anything much beyond jQuery) - what's your experience been like,
> working with Node and other libraries?

It's "ok". The standard library shipping with node is lacking in areas 
(there's no flock(), there's no getopts parser, and a bunch of other 
things), and right now it feels like it is stagnating while they get in 
true Windows support, but I've been surprised by the breadth of things 
available on npm (the equivalent of cpan).

> Perl->Javascript is a really interesting migration path I'd not
> considered, and I'm not sure "it's faster!" would convince me on its
> own -- we all know there are faster languages than Perl.  But... JS
> does have a significant advantages over, say, Perl->Haskell, as
> Javascript is so widespread and therefore has many(devs, projects,
> jobs).

OK let me put it another way than just "faster" - it's the fastest 
option for dynamic languages (with the possible exception of Lua-JIT) 
that has a sane (ALGOL-style) syntax, while still having a large user base.

My thinking behind Haraka is that a lot of web sites need a mail server 
with custom functionality, and their web site coders know Javascript, so 
why not provide them with an option to do stuff in JS for email.

Also the other huge thing for me is I've been writing async code in Perl 
now for years, and you always come across fighting with some library 
because it's got a blocking API so either you can't use it, or you take 
a risk and block the event loop while it runs (the same is true for 
Twisted or the Ruby one). That just doesn't happen in Node - everything 
is async.


This email has been scanned by the MessageLabs Email Security System.
For more information please visit 

More information about the mailing list