12.6.15

90 days of node - Days 3 and 4

Days 3 and 4 have been spent with learnyounode. It has been...interesting.

learnyounode is a fairly simple tutorial program. It encourages you to start using the different pieces of the node.js ecosystem. I am just not convinced it does a great job.

For starters, there is very limited discussion of what npm is and how modules work. Considering that these are fundamental parts of the node.js ecosystem, it is baffling that there was no tutorial for npm. There is a section on module writing and some notes on exporting modules, but they are basically hand wavy.

In general, the tutorial interface is easy to use and reminds me of the old pc games settings screens :). That's what it ends up being though - a game. There seems to be very little effort to teach the basics of programming or of the node ecosystem. This probably plays in well with the idea of modules in node, but felt a little hollow. It's mostly about how to navigate docs - which are really difficult to get to on a windows machine. It-felt like the tutorial was geared towards getting people running without getting to understand what they are doing. The "hints" tended to be way too explicit and kind of made things a little too obvious.

That said, it's an excellent way to get used to the environment and exploring in a limited way the api offered by node. The http tutorials were most informative. If you go hunting around the github page for the module, there is some amount of active discussion on different solutions, That, I thought, was pretty sweet. Highly recommended as one of the starting places to learn nodejs.

On a sad note, SublimeCodeIntel just didn't work for me for node.js. node api code complete didn't work out of the box and that is proving pretty elusive. The other plugins for sublime I found are basically not being maintained. I do get code complete with docs for JavaScript api, but at this point, I am not sure if I am going to stick to Sublime.

I did notice an interesting thing though - I was trying to type out the function names in any case. I would never do that in a Java IDE. My guess is this is just because of the way I learnt JavaScript. I have noticed, more experienced Java programmers type out every variable name and method call - probably because that's how they learnt it. Quirks mode :)

And emmet never got a trial, since there is no view rendering yet. All good things in their time, I suppose.

Now on to day 5 and stream-adventure and how-to-npm.