I know I’m coming at this the wrong way. You’re supposed to learn Javascript first, then start looking at Coffeescript when you get tired of braces and variable declarations. Me however, I’m a somewhat experienced Ruby and Python programmer but with zero Javascript fluency who looks to get into web scripting (mainly through Rails).
I’m convinced that Coffeescript is the way to go for me, but I’m hard pressed to find a tutorial that does not assume significant Javascript familiarity. Most of the tutorials I have seen explain Coffeescript’s peculiarities in detail only to gloss over such minor topics as how to actually write web applications.
So, do you know of any Coffeescript tutorials for people who don’t know JS to begin with?
You probably don’t want to hear this, but I’m going to say it anyway: you should still learn JavaScript first.
JavaScript is a little unique from other languages, in that it has a monopoly over browser scripting. There is currently no other language that can be used in a browser (unless it uses a plugin, or the interpreter is in JavaScript!). As such, for any project that needs to do any amount of client-side scripting, JavaScript knowledge is a must.
You’re probably thinking “Hey, I know Python and Ruby, and I never had to learn C or assembly!”, which is of course true. But, those language never had a monopoly over their domain. Python can be used for the same things as C, in many cases. The platform doesn’t care what language you use, as long as it supports it.
And the browser platform only support JavaScript.
CoffeScript is an abstraction of JavaScript. Although CoffeeScript is compiled into JavaScript, when you’re trying to figure out that obscure JavaScript error, or debug a generated function, or are wondering why there are two levels of unnamed function nesting, you’re going to want to know what’s really going on.
Now, I’m not saying that you have to become a JavaScript Ninja (although I’d recommend it), but what I am saying is that you should come to grips with the actual web language first.
Learn JavaScript, learn its concepts (it’s a very fascinating language, in my opinion, once you get past some of the deficiencies), and then use CoffeeScript to abstract away the technicalities.
Since you did ask for a tutorial, though, here’s some: First, the Mozilla guide to JavaScript is quite nice. If you want some more advanced topics, there’s also an interactive tutorial made by John Resig. And finally, here’s a bunch of CoffeeScript tutorials that you probably already know about.