Recently I played with CoffeeScript a bit. Friends were talking about CoffeeScript and also I read couple of interesting blog posts. Based on my limited experience with it here is my understanding of what is cool and not so cool.
- Offers the concept of classes – something that is familiar for people coming from the Java world
- Some times you can get a performance boost – hard to tell when and by how much
- Some compile-time error checking, which helps you to write code with fewer bugs right off the bat
Not so cool:
- Writing less code can actually be something bad. Anyone remember Perl? And how hard it can be to read Perl code?
- Adds another layer of abstraction on top of the browser stack. Adding to this jQuery or other frameworks and you can easily be in a situation where you can put together reasonably complex apps but you have no idea of what is happening under the hood nor how to fix a bug that originates from the frameworks you used
- While I understand from why is done the way it was, I still think it would have been nice to have optional data typing
As I said, I just played with it. So if I misunderstood something or completely missed a point please let me know.