What are the main differences between CoffeeScript’s and Dart’s improvements upon JavaScript?

coffeescript, dart, javascript

Solution

Seth Ladd has a blog post where he compares certain aspects of CoffeeScript with Dart and JavaScript. Doesn't touch on all of your bullets, but may be a start. He also posted this discussion in response to a Coffeescript and Dart article on nettuts.

Problem

Both languages claim to fix perceived deficiencies of JavaScript. I would like to understand the key differences in how CoffeeScript and Dart (compiled to JavaScript) seek to accomplish this. In particular, - Is the object model the same as in JavaScript? - Are they statically or dynamically typed? Strong or weakly? - How do closures work in either language? - Do they support coroutines? - What are the main differences in syntax? - How many native libraries can I use? - Can I use existing JavaScript libraries? I am not interested in things like personal preferences, adoption rates, tool support or usefulness for a particular purpose.

Original source