3 points - 5 years, 8 months ago by RobertTheGrey(490) under Other ()
CoffeeScript aims to be a syntactical improvement on JavaScript. It hides some of the more dangerous pitfalls and brings out the good parts of JavaScript in a more succinct manner. And so it begins...


CoffeeScript is certainly one of those new technologies that you either love or you hate.

Many a die hard JavaScript programmer is of the opinion that you should not need to abstract the language away any further, that the C-like syntax is perfectly readable and understandable, and that developers should spend their time learning how to use JavaScript correctly rather than pass that off to a higher level language.

On the flip side, others are adamant that JavaScript, left in the hands of beginners who couldn't be bothered to learn it properly are more a danger to themselves and those whose websites they build. And besides the safety net it provides, they also claim that the mixture of the best parts of Ruby and Python syntax really lends itself to the eye and that maintainability of the code becomes far easier.

Either way, whether you're interested in new and shiny, or are just looking for a neater way to represent your JavaScript code, we've picked out some of the places you might like to visit to get a proper taste, no matter your background. Without further ado, here they are, the best of the beginners' guides to CoffeeScript:

The home of CoffeeScript

Yahoo! User Interface BlogQuite often you'll find that the home of a good project isn't nearly as up to date as some of the blogs screaming the praise - not so with CoffeeScript. The main site is every bit as chock full of detail as you could want.

Here you'll find they take you through every part of the language currently available in excruciating detail, and sometimes overwhelmingly so if you're just beginning. If this site is so comprehensive, why carry on with anything else then you may ask?

Well, two reasons really:

  1. Not everyone is as easily convinced when hearing about a technology straight from the horse's mouth as it were
  2. The site is very matter of fact and bare bones, focussing rather on syntax than reasoning. It assumes that you already know the reason you'd want to choose to use CoffeeScript and does not try to sell it to you, but rather just teach it to you.

This isn't a bad thing per se, just that beginners more often than not are looking for the why as well as the how, and we're aiming to satisfy that need.

For The Well-Rounded Rubyist

Yahoo! User Interface BlogA rather controversial and opinionated move in the Rails world recently was to make CoffeeScript support automatic for all new Rails projects as the default client side language.

Regardless of whether or not you agree with the move, if you're coming at CoffeeScript from a Ruby perspective, then you're firstly probably going to fall head over heals for the syntax, but secondly, you'll want to take a look at this fantastic talk by Jeremy Ashkenas where he goes through the similarities between Ruby constructs and the CoffeeScript syntactic sugar.

JavaScript without the Fail

Yahoo! User Interface BlogThis is a quality presentation put together by Bodil Stokke in HTML5 format and really doesn't need you to do much more than page through it and soak in the goodness. Interestingly, she's included an interactive JS panel where you can write and test your code right there! Very nice for trying out little snippets.

And if you're still stuck after paging through, then go ahead and just watch the presentation video itself where she spends an hour going through the slides in detail. This is seriously worth a look if you're hoping to get the history and gist of CoffeeScript quite quickly.

I particularly like this presentation because of its gratuitous use of lolcats - come on, who doesn't love a bit of lolcat in their CoffeeScript?

An introduction to CoffeeScript

Yahoo! User Interface BlogIf you're really looking for a very quick overview as the whether or not this new shiny toy is even worth your time, then this short write-up by Jon Galloway from the Herding Code Podcast will give you pretty much all you need to decide.

This post is packed full of useful links to further your research if you're still hungry, as well as some interesting background to the reasons and justification for the language's existence in the first place.

Far be it from the Microsoft crowd to stay away from this little gem - CoffeeScript is alive and well on the Windows platform and growing a steady following too.

Exploring CoffeeScript

Yahoo! User Interface BlogOnce again, Jan Van Ryswyck has outdone himself in this excellent series of posts, which take you by the hand, and guide you unerringly towards getting a good peek at the internals of CoffeeScript, but without overwhelming you.

In this six part series, he covers everything from your basic getting started, through all the various language constructs, how they hang together and when you would use them, as well as a few excellent nuggets towards the end that you may find very useful.

The Little Book on CoffeeScript

Yahoo! User Interface BlogOf course, you'd have to go a long way to find a more well written, concise and well thought out piece of literature than The Little Book on CoffeeScript.

Pretty much everything you're going to need is in there if you're a seasoned JavaScript programmer looking to test the waters. It covers syntax, classes, idioms and writing applications, but does so in a way that is very unassuming of your prior knowledge, other than that you've probably been writing JavaScript for a few years.

I would tackle this one last if you're new to all this, but once you really get into CoffeeScript, you'll more than likely find that this is the one reference that you keep open side-by-side with your code and will always refer back to.


And there you have it - all you need to get going with this new little toy. Let me know in the comments if I've missed anything or if you have other suggestions that would be equally good - and if your write-up is a good one, I'll merge it with the article for posterity with a credit for the find!

Until next time,