Hacker News new | ask | show | jobs
by payne92 3311 days ago
And anti-answer: consider learning JavaScript from something other than a book. The publication cycle for conventional box is relatively long, relative to the pace of technology evolution.

By the time the author writes it, it's published, and you read it, the information can be dated, sometimes extremely so.

There are gobs of online resources, and the best resource is rarely mentioned: reading other peoples code.

Once you get a basic understanding, you can start right clicking on webpages, "inspect source", opening the console window, and looking at how pages actually work. The debugger and single stepping chrome are quite good.

5 comments

Agree with most of your answer but your last point is pretty optimistic. Nowadays most Javascript is a bundled package of 100 minified npm modules.

Also there are many books online which don't need to go through the hoops you describe.

If you visit a website owned by a company you're probably right. If you visit a little demo (like the type of thing someone would hack up in a day and put up on show HN) you'd be surprised by how much investigation you can do.

I agree that there are many books online though, and they can provide a lot of nice things like running code samples in your browser. However, I find video tutorials to provide a better experience than books, online or not. I suppose that's just a matter of personal preference though.

That's a problem specific to the Node.js NPM ecosystem.

However Javascript (in its current ES7 version) is a pretty good language.

All excellent points payne92. More than that,JavaScript study for a front-end developer(for example) demand MongoDB. Or you must know elementary programming in any language first off.
I generally agree with this. When it comes to languages and implementations it's often better to just learn by doing/hopping around little blogs and documentation here and there. As you said, technology evolves too quickly for authors to keep up.

That being said, there are some pretty fundamental abstract concepts behind all forms of programming that have stuck around for a long time: those old comp sci course materials. I'd recommend turning to books for some of that content, as picking up some knowledge there will support you no matter what programming language you try to learn.

Not to be snarky, but JS has more bad examples of these concepts than one can count....

Having said that it is a good idea to learn about these early and keep them in mind. Sadly there isn't a good definitive list of JS' idiosyncrasy that I know of.

This is so true! Especially the part about reading other people's code. It seems boring and tedious, but it becomes eye-opening and really helps improve the quality of the code you write as well
Which ones would you propose as "good-to-be-read" js projects?
I'd recommend reading the source of things you're working with (or want to work with) first.

If you're doing front-end work, then React and Redux (or Angular, or jQuery, or whatever.)

If you're doing Node.js, try reading through the lib/ folder of Node's source (the js code goes in lib/, the c++ goes in src/), and follow that with packages like express and request.

When you hit an interesting/confusing/etc. dependency, track it down and read it's source too.