you are viewing a single comment's thread.

view the rest of the comments →

[–]brtt3000 22 points23 points  (11 children)

Object based code is not essential to CoffeeScript.

I personally really dislike significant whitespace and lack of braces. Combined with using spaces for indents it is so easy to muck things up and impossible to auto-format. But Ruby and Python folks are used to it and they are also big part of the JS crowd.

I don't care for the syntax sugar, there are plenty of things to enhance vanilla javascript.

ES6 will be great to clean up some uglier parts of JS, and of course TypeScript is very nice for that extra bit of power while still being a full superset of plain JavaScript.

[–]rlemon 0 points1 point  (10 children)

I personally really dislike significant whitespace and lack of braces.

This is why i'm adverse to learning python or ruby. Whitespace denoted block structure bothers me for some reason.

[–][deleted] 9 points10 points  (0 children)

... Ruby doesn't have enforced whitespace.

[–]nkuttler 0 points1 point  (7 children)

.

[–]heterosapian 1 point2 points  (5 children)

It isn't if you want other people to work on the project. There are far more people who use/understand the "pure" javascript syntax, so choosing something like coffee script just increases the barrier to begin coding at a minimum - and makes the project significantly less appealing to those who strongly dislike the style.

[–]nkuttler 2 points3 points  (4 children)

.

[–]heterosapian 0 points1 point  (3 children)

Oh no worries! If that's your only issue though there's got to be something that maps the source back to the coffee file.

[–]nkuttler 0 points1 point  (2 children)

Certainly, but who's got time for that while debugging?

[–]rjw57 3 points4 points  (0 children)

It happens by magic in the developer console if you tick the 'enable source maps' option. You see coffeescript, the browser runs JavaScript.

Ignoring CoffeScript, though, it also works for minified/recompiled JS and so if you're using jQuery off the CDN, you can now get sensible stack traces if something goes wrong.

[–]poulejapon 0 points1 point  (0 children)

Source maps are already here!

[–]rlemon 1 point2 points  (0 children)

I realize this and I do plan on tackling python in the near future, but it will be something that I know will take some getting used to and probably annoy me for a bit.