Compare with, say, chicken scheme, which outputs C code. You wouldn’t know that (and don’t need to know that) if you’re writing scheme code. Or clojure, where you are exposed to the jvm and class library, but for the most part the idiosyncrasies of the java language are masked away.
I have in general found little use for languages specified as “it’s like this other language, but different in these ways…”. (exception: sass, and possibly other superset languages where it’s not different; it’s just more. groovy may be another example, but I don’t actually use it.)
It’s a little more than syntactic sugar, but in many places not much more.
Yeah. A standard defense of CoffeeScript is to compare it to a C –> Assembly compiler, but the C-ASM gap is big and CS-JS gap isn’t.
I remain confident that CoffeeScript will be completely forgotten in 5 years (except by unfortunates who inherit code and have to pay for the sins of their parents).