Hacker News new | past | comments | ask | show | jobs | submit login

Features summary (others seem like bug fixes):

* Output in the REPL is now colorized, like Node's is.

* All text/coffeescript tags should now execute in the order they're included.

* Function calls can be used as default values for parameters.

* Splatted parameters are declared local to the function.




I'm confused. Is javascript really that hard to use that we need CoffeeScript? Why was CS even created?


It might not be as 'hard' conceptually to use, but it just has some dirty areas that are sort of make it unpleasant to use so it leaves a bad taste in some programmers mouths.

* 0 == '' is true, really? what about 0 == '0', also true!

* What is 'this'? Well it depends on where you are and there is a long article someone posted somewhere. To figure it all out...

* Brace block != new scope.

* No nested namespaces -- all is in a global scope.

And there are others. Again. Not hard just kind of unpleasant, therefore CS.


Because someone wanted to? Folks are using it. Isn't that enough for you? On top of that, it's quite a nice little language. Comprehensions are very convenient along with regular iteration. And you get most of the jslint passing stuff for free. Plus, if you don't like it, don't use it.


Sorry if I came off as being rude, it was not my intention. I was merely asking questions, but I guess it seemed harsh.


I suggest you play with it a bit. It really is a "nicer javascript". The only thing it's missing is support, primarily in the form of debugging tools. But that's coming.


not hard, just inconvenient.

Its a legitimate question, I don't get the downvotes.


Experimenting and trying out new things is good in principle. Even if you don't agree with this, here's an example of JavaScript taking feedback from CoffeeScript: http://brendaneich.com/2010/11/paren-free/




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: