Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recommendations for an experienced programmer new to JavaScript? [closed]

I come from a C/Unix background, with a lot of experience in shell scripting, and some on Perl, elisp, etc. too. But now I'm getting into some work where I'll need to be developing interactive web-based interfaces, and I need to learn JavaScript. My problem is that all the resources I've found online for learning JavaScript seem to be targeted at an audience who's never programmed, and their authors don't seem much better. As soon as I see "validating user input to take the load off your server" as one of the great uses for JS, I want to scream and I feel like I can't trust anything else the author says. ;-)

Can anyone recommend good resources for an experienced programmer wanting to learn JS as a new language? Ideally I'd like to get started online, but dead tree recommendations would be welcome too, especially if I can preview them online.

like image 391
R.. GitHub STOP HELPING ICE Avatar asked Oct 18 '10 03:10

R.. GitHub STOP HELPING ICE


People also ask

Can I teach myself JavaScript?

While JavaScript is a step up from the most fundamental web development skills (languages like HTML and CSS, which can be learned in under a month), you can still expect to learn JS basics in a matter of months, not years—and that's whether you learn through online classes or teach yourself through book study.


2 Answers

A great JavaScript book for experienced programmers is Doug Crockford's JavaScript: The Good Parts. It's short, assumes you know what you're doing, is opinionated, and is not a tutorial.

like image 91
Greg Hewgill Avatar answered Sep 23 '22 16:09

Greg Hewgill


My advice: Forget what you know about object oriented programming. Attempts to apply the inheritance paradigms from an OO language have repeatedly overcomplicated many, many chunks of JS code.

Prototyping is not Class construction. Object instantiation is not Class instantiation. "Classes" are not real.

There are ways to get what you want. You can even have something akin to privates - but they are not methods or members. They are merely locally scoped. Inheritance is often faked, but with mixed results, and universally at the expense of data hiding.

Javascript is prototyped. It is not object oriented. Keep that in mind every time you think something like, "Man, an interface here would be awesome..."

like image 36
Fordi Avatar answered Sep 25 '22 16:09

Fordi