NodeJS and Empowering n00bz #
Something interesting occurred to me today about why I like NodeJS so much, and why I got so into it as soon as I started playing with it.
It’s not the fact that it’s fast (it could be a lot slower before it would start to matter), or that I have strong feelings about IO being async (it should be, of course, but I mean, whatever, threads work), or that JavaScript is so great (I like it, but there were other JS platforms out there that were more advanced in a lot of ways).
It’s that it was so easy to just download the source, run a command, and have something that works, right away. The example programs are simple, and short, and clear in what they do. When I first started poking at the source code, the mapping from the “lib” folder to the “require” function was easy to grok.
Empowering newcomers is the key to success. That matters more than anything else. I saw the simplicity in what Ryan was trying to do, and that was a huge indicator of future success. Even the “commonjs be damned, we’re gonna do what’s right and let the standards follow” attitude has kept things lean and simple.
I’ve worked on a lot of different projects. I like new things, and that means I’ve been the new guy for most of my career in software development, professionally and recreationally. Going from empty folder to running program in a few simple steps is a HUGE accomplishment that many professional software teams really struggle with, and that struggle costs a lot of wasted time and energy.
I’ve seen people post to the NodeJS list asking questions as they’re comparing node to other platforms, and a week later, they’re publishing modules and add-ons and contributing code and tests and docs back to the core.
That’s huge.