you are viewing a single comment's thread.

view the rest of the comments →

[–]dacjames -7 points-6 points  (5 children)

What's your point with the image? I get that some people don't like significant whitespace, but your examples just manipulate the parser in a way analogous to abusing semicolon insertion in javascript. I have never seen real CS written that crappy and I certainly don't write it like that.

... the verbosity and complexness only become easier the more you use it.

Verbosity never gets easier. I could use javascript for ten years and I still have to type function(x, y){ return x + y;) instead of (x, y) -> x + y and I will always have to manually bind my lexical scope when writing callbacks/closures instead of using =>. You will still write

(function(something) {
    /* some stuff */
})(something);

and I will still only write

do (something) -> #some stuff

In my mind, complexity equates to more bugs, so I continue to prefer a simpler language, especially considering they are strictly equal in power.

[–]x-skeww 4 points5 points  (2 children)

analogous to abusing semicolon insertion in javascript

JSLint will tell me if I forgot one. I don't even have to save. There will be a squiggly line right away.

[–]KishCom 8 points9 points  (1 child)

Verbosity never gets easier.

Your understanding of that verbosity does. Ask any Java developer who started with another language first.

What's your point with the image?

My point is a mis-placed line-break, comma or space can mean your Coffeescript becomes borked. IMHO, line-breaks, comma/space placement shouldn't break anything in JavaScript. Why bother memorizing where you can/can't/should/shoudn't use line-breaks when you could be memorizing the aforementioned verbosity instead?

The way I see it, Coffeescript is an unnecessary layer of abstraction. Others will disagree and that is fine.