Live data from Hacker News

How to Learn JavaScript Properly

javascriptissexy.com

11–20 of 51 posts

Re: How to Learn JavaScript Properly

#11
post #8

I've tried to teach my friends and acquaintances that are interested in programming, but my curriculums never work out. It seems that the bigger problem for the guys I'm talking about (high school and college age) is self-motivation and drive that they are unfamiliar with from their academic careers. Anybody motivated enough could learn programming because all of the necessary resources and training is freely availab…

I guess the key to staying motivated is the need to apply these (potential) skills to actual real world problems - no matter how small they may seem. That said, I'm trying to get into Rails and Ruby and I'm in a similar boat as the friends you described. At work I'm a FileMaker developer, which might sound like amateur hour to the HN community. I'm very well aware of FileMakers shortcomings, but it also works quite w…

Well, what is motivating you to get into Ruby on Rails in the first place? If it's money or a better job, is there anything else driving it?

Re: How to Learn JavaScript Properly

#13
post #7

"But while Mr. Crockford, who is immensely knowledgeable in JavaScript, is seen as the Einstein of the JavaScript world, his book, The Good Parts, is not a good JavaScript book for beginners." Why not? Also, does he mean it's not good for people who are just starting to learn programming? Or also for experienced programmers who are starting to learn Javascript? What would be a good book to start with for experienced…

I too found that to be pretty dubious advice. I try not to recommend people any books or tutorials unless I've seen it and it's clearly a good beginner's resource or I personally found it to be invaluable when I, myself, was starting out on a language. Crockford's book is the latter. It doesn't teach you the raw basics, sure, but there are many resources for that (I'd recommend Eloquent: http://eloquentjavascript.net/contents.html), and Javascript has fairly simple C-like syntax anyway, so it's not hard to pick up tangentially. The Good Parts gets you thinking about the language in a different way - that, plus the annotated spec (http://es5.github.com/) really sets you on the right road to mastery.

Re: How to Learn JavaScript Properly

#14
post #7

"But while Mr. Crockford, who is immensely knowledgeable in JavaScript, is seen as the Einstein of the JavaScript world, his book, The Good Parts, is not a good JavaScript book for beginners." Why not? Also, does he mean it's not good for people who are just starting to learn programming? Or also for experienced programmers who are starting to learn Javascript? What would be a good book to start with for experienced…

Because Crockford's viewpoint in the hands of a beginner is at best dogma. I think you need a solid base understanding of Javascript and some experience under your belt before The Good Parts comes into its own.

Re: How to Learn JavaScript Properly

#15
post #7

"But while Mr. Crockford, who is immensely knowledgeable in JavaScript, is seen as the Einstein of the JavaScript world, his book, The Good Parts, is not a good JavaScript book for beginners." Why not? Also, does he mean it's not good for people who are just starting to learn programming? Or also for experienced programmers who are starting to learn Javascript? What would be a good book to start with for experienced…

Recommending Javascript the Good Parts to Javascript beginners is like recommending Effective Java to Java beginners. It is assumed you know some js/java and preferably have written some of it so that the patterns and antipatterns described in both books (Crockford's to a lesser degree, it's after all about the good parts) would make sense.

Re: How to Learn JavaScript Properly

#16
post #8

Earlier quoted context omitted.

I guess the key to staying motivated is the need to apply these (potential) skills to actual real world problems - no matter how small they may seem. That said, I'm trying to get into Rails and Ruby and I'm in a similar boat as the friends you described. At work I'm a FileMaker developer, which might sound like amateur hour to the HN community. I'm very well aware of FileMakers shortcomings, but it also works quite w…

Well, what is motivating you to get into Ruby on Rails in the first place? If it's money or a better job, is there anything else driving it?

I like the company I'm working at and I'd like to contribute by taking our in-house solutions based on FileMaker to a web application. Furthermore I want those skills as a backup - in case I want (or have) to look for another job, FileMaker isn't going to impress. Also, while the music is certainly my passion, it's unlikely that I (or most other musicians for that matter) could make a living with it.

However those reasons sound rather career- and money-centric. It's not all that rational though - I like making and creating things, whether it's music, software or design - but I value doing things right and with care. Learning a "proper" language/framework and being competent with it would help a lot and I'd consider it as essential.

Re: How to Learn JavaScript Properly

#17
post #7

"But while Mr. Crockford, who is immensely knowledgeable in JavaScript, is seen as the Einstein of the JavaScript world, his book, The Good Parts, is not a good JavaScript book for beginners." Why not? Also, does he mean it's not good for people who are just starting to learn programming? Or also for experienced programmers who are starting to learn Javascript? What would be a good book to start with for experienced…

I love Crockford, but I can't stand the railroad diagrams used throughout the whole book. Something in my head just doesn't click with them.

Re: How to Learn JavaScript Properly

#18

I've tried to teach my friends and acquaintances that are interested in programming, but my curriculums never work out. It seems that the bigger problem for the guys I'm talking about (high school and college age) is self-motivation and drive that they are unfamiliar with from their academic careers. Anybody motivated enough could learn programming because all of the necessary resources and training is freely availab…

I think the secret is to break down the distinction between computer operation and computer programming. If they're interested in computers and the stuff you can do with them a gentle way to get started programming is to find and use whatever scripting language whatever programs they already use have to automate stuff and make random creative hacks, rather than starting from "hello, world" and learning the fundamentals first.

For example:

Have them screw with the interface of their favorite websites: pick a greasemonkey script that already does anything on that site and change it to do something different.

Learn the macro/scripting interface of whatever productivity software they have some reason to use already and make it do something.

Find a game they like that has an active scripting or modding community, and fiddle with the game rules.

The idea is to make the mental leap that writing software is just another way of getting the computer to do what you want, and that there's one big continuum from poking buttons in a dialog box to amateur hour hacking to writing "proper" software. Eventually you'll have the ambition to do something that requires more than just plugging pieces together and making edits to stuff other people wrote, and that's when you'll be self-motivated to obtain the knowledge that will make you a more effective programmer.

I realize this is at a way more primitive level than most people think of as learning to program, but IMHO the CS 101 stuff where you learn a language and how to make simple programs from scratch is closer to the "middle" than the "beginning".

Re: How to Learn JavaScript Properly

#19
I've basically just finished this process, described in the post, over the last few months.

Experienced with PHP, Ruby, and SQL, but zero JavaScript.

(1) - Tried to read Crockford's "The Good Parts", but was completely confused.

(2) - Read "Professional JavaScript for Web Developers, 3rd Edition", cover-to-cover, making sure I used and understood each point before continuing.

http://www.wrox.com/WileyCDA/WroxTitle/Professional-JavaScri...

(3) - Went back to "JavaScript - The Good Parts" and realized that "Professional JavaScript for Web Developers, 3rd Edition" had already covered everything in it, but explained so much more clearly.

(4) - Now I'm trying intermediate to advanced JavaScript books ("Secrets of the JavaScript Ninja", for example), and finding that "Professional JavaScript for Web Developers, 3rd Edition" covered most of their lessons, too.

The point?

If you want to learn JavaScript, (or recommend one book to someone else who wants to), whether you're an experienced programmer or not, get "Professional JavaScript for Web Developers, 3rd Edition". It's thorough and great.

Direct link to the publisher where you can get the DRM-free PDF:

http://www.wrox.com/WileyCDA/WroxTitle/Professional-JavaScri...

Post reply on HN