Sometimes I think of programming a bit like playing music, where the languages are the instruments. C/C++ is like violin or trumpet. You need a basic level of skill and knowledge in those instruments to make any music at all. If I just picked up a trumpet (even as someone who knows another instrument) I am unlikely to be able to make any music at all. The lower level languages like C are completely unforgiving, you literally can’t make a program without a basic level of knowledge. Javascript is more like the piano, anyone can play Heart and Soul with about five minutes of instruction.
Anyone can make a few scripts. And with libraries like JQuery out there people with little to no understanding of the language can actually achieve quite sophisticated things on their web sites. Thanks to libraries the majority of tasks in JS can be achieved with very little knowledge. Which is great for the most part. However, if you want to start developing interesting and large scale applications in Javascript you are going to need to understand the language. You should be able to read the code of libraries like JQuery and YUI and understand what is going on behind the scenes.
Someone on an internal list recently asked what books they should get to get to the next level in Javascript. It turns out you can read only authors that work at Yahoo! and get an excellent JS education. Here is the list I sent to answer that question:
- JavaScript: The Good Parts by Douglas Crockford. This is the ultimate javascript book. It contains no “how to’s” for the web. Its simply the definitive language reference, except leaving out the things you shouldn’t use anyway
- Professional JavaScript for Web Developers by Nicholas Zakas. This is a great reference book.
- Pro JavaScript Design Patterns by Ross Harmes. This is a great reference for what have become the definitive ways to write Object Oriented JS.
- Object-Oriented JavaScript by Stoyan Stefanov. This is even more detail on OO js. Not for people who want to use JQuery to add animation. For people who want to write the next JQuery.
- Beginning JavaScript with DOM Scripting and Ajax: From Novice to Professional Chris’ book for the beginner.