Why I love node.js

I’ve been programming in C# since it came out 10 years ago. After a decade of sloppy code and silly mistakes, I’ve learnt how to use it quite effectively (I think), I can certainly knock out a some code when required.

I’ve had failed attempts to learn other languages including Ruby and Haskell. A combination of a steep learning curve, a high concept count and the thought of “but I can do this in C#” has formed the barrier (perhaps laziness should also be included in the list).

However in the last year I’ve probably written more Node.js than .NET. Why?

  1. Node is already familiar. Who doesn’t know JavaScript?
  2. Node is small, there isn’t much to learn
  3. Node is fun (JIFASNIF), JavaScript has it’s problems, but it’s a simple, flexible language.
  4. The package manager is excellent, and the library of available packages is vast (18,601 – over twice the size of nuget)
  5. It’s easy to install and run (one executable)
  6. The community are friendly and inclusive (amazingly pro-Microsoft)
  7. A single thread makes things simple
  8. (the list could go on)

There are languages and frameworks out there that will beat the performance. There are cleverer concepts in functional languages that make programs more concise. There are things that Node will never be good for (running desktop UI, perhaps as a database – who knows?). But I think Node has a real strength in being simple, approachable and fun.

Give it a try: Nodejs.org