Time to Learn Node?
11/19/14
So, I've been noticing a personal habit of mine. If I see something mention something enough times, I feel the need to check it out. Several sources mentioned Christopher Alexander and/or a Pattern Language and so I read that book.
I much enjoyed that.
Node.js is something I've seen mentioned quite a few times. Node.js is basically the ability to use javascript on the server instead of just on the client (though, reading their about page, it's more complicated than that. I most recently saw node.js in The Web Game Developer's Cookbook. In that book he makes what I feel is a particularly strong argument for node.js:
JavaScript in some form is the language of the browser, and there is no escaping that fact. Despite having a choice of any number of server-side languages, and even if you prefer them to JavaScript, using the same language on the server-side as the client-side language makes sense for two reasons.
First, during development, it reduces the amount of time to change your brain to think in one language versus the other. The result of using two languages is typically that people spend more time with the server-side language. They end up caring for that code more in every way, and the front end languishes as an auxiliary nice-to-have or poorly implemented guessed-at code. The user experience suffers terribly. Using the same server-side language forces developers to at least know how to care for the front-end code just as much. Secondly, using the same language in both contexts means that code can more easily be shifted between the client side and the server side, or even shared between them. Libraries can even come with complementary code to support both contexts[...].
Now, I feel the above quote is especially true as a programmer getting comfortable with javascript. I feel fairly comfortable coding in python (which I would use as my server-side language), and in fact I feel a strong numbness when working on my Tornado setup of this blog when connecting the python and the javascript together.
So, screw it, let's go all javascript.
Expect more node.js blog posts as I start working with it.