My experience was that I always found my CoffeeScript really easy to read since I was always internally consistent with which opinional bits I used and which bits I ignored.
Reading other people's CoffeeScript on the other hand...
I was very excited about CS when I learned about it, and in my initial tests found it really pleasant to write. However, before committing to using it more, I went and read some other projects written in it. At that point I decided that the reading experience was confusing, and the lack of "visible" syntax elements to guide me drove me nuts.
Comments
I’ve not had this experience. I’ve found the ambiguity in coffeescript a maddening adventure in syntax confusion.
- function call syntax doesn’t need parens except if a 0 parameter method
- commas are largely optional both in arrays and function parameters. How do you parse: [f, f(), f a b c]
- implicit returns are a terrible idea.
- the @ syntax refers to either a ‘static’ method or an instance variable depending on the context.
- I have to do a double take for the object literal syntax every time
Don't want to invalidate your experience. For me though, I rarely struggled with ambiguity.
Function call syntax doesn't require parens so to make multi-line calls punctuation-free. Especially if some args are objects.
Well commas are not optional.
They're especially elegant in writing declarative code. It takes some getting used to though.
Agreed.
These are all tradeoffs though. For me, they struck the right balance between ambiguity (very little) and expressiveness.
LiveScript in comparison was much more sugary (which I preferred): https://livescript.net/
Haha, yes. LiveScript should have won. It were awesome times.
Well, guess it's Reason for me now :D
My experience was that I always found my CoffeeScript really easy to read since I was always internally consistent with which opinional bits I used and which bits I ignored.
Reading other people's CoffeeScript on the other hand...
I was very excited about CS when I learned about it, and in my initial tests found it really pleasant to write. However, before committing to using it more, I went and read some other projects written in it. At that point I decided that the reading experience was confusing, and the lack of "visible" syntax elements to guide me drove me nuts.
Don't forget fat arrow vs. thin arrow. If you're not writing Coffeescript 24/7 you start to forget which is which.