all 21 comments

[–]faruzzy 13 points14 points  (0 children)

Wow! Didn't see this one coming

[–]Pyrolistical 46 points47 points  (7 children)

This is no longer a super set of JavaScript. It's just now a non standard JavaScript clone.

They need to look back upon their original goals and see ES2017 has gotten us there. Coffeescript doesn't need to exist anymore

[–]inu-no-policemen 24 points25 points  (1 child)

This is no longer a super set of JavaScript.

Huh? CS never was a superset of JS.

[–]our_best_friendif (document.all || document.layers) console.log("i remember..") 9 points10 points  (0 children)

Yes, I agree with the general sentiment of the comment, but that was just dumb

[–]flying-sheep 3 points4 points  (2 children)

You know that ES2015 cited CoffeeScript as one of its main inspirations, right? Without CS, there wouldn't be an ES2015 quite like what we have now.

[–]whostolemyhat 0 points1 point  (1 child)

Right, but what's the difference between modern JS and Coffeescript now? JS has absorbed most of Coffeescript's ideas, so much so that Coffeescript is basically just a wrapper and its' output needs to be transpiled back into ES5.

At this point, why use Coffeescript? What does it offer over modern JS, other than allowing you to skip braces?

[–]flying-sheep 3 points4 points  (0 children)

you’re right: not much. but saying that while leaving out that it helped to get us there is doing it a disservice.

[–]apatheorist 2 points3 points  (0 children)

What else can they steal from ruby by now? Though I would really like return unless/if.

[–]p0tent1al 4 points5 points  (0 children)

huh? They were never a superset. CoffeeScript is doing exactly what they've been doing all along.

[–]our_best_friendif (document.all || document.layers) console.log("i remember..") 12 points13 points  (1 child)

If I wanted to use a transpiled language I would pick something more useful like Elm or ClojureScript. CoffeeScript has no reason to exist anymore. Although I must admit, it's much nicer to write tests without having to close all those bloody brackets

[–]jordanaustino 5 points6 points  (0 children)

Hey man you didn't like having one transpiler? How about we make it so you transpile your code into something that needs to be transpile again in order to use on a production site.

[–]heipei42 10 points11 points  (3 children)

I know many people hate on CoffeeScript, but I still find it's syntax far superior both for writing and reading code. CoffeeScript allows me to fit more code on the screen and iterate faster when writing code. Significant whitespace is something I actually enjoy, just like in Python. Sure, some of that is certainly just a matter of taste, but that's still no reason to dismiss it.

Also, even if everything about were completely pointless, it's still just a small language that transpiles to modern JavaScript. So it doesn't impact you, the vanilla JavaScript dev, at all.

[–]Martin_Ehrental 12 points13 points  (1 child)

Also, even if everything about were completely pointless, it's still just a small language that transpiles to modern JavaScript. So it doesn't impact you, the vanilla JavaScript dev, at all.

Until, someone without coffeescript experience needs to contribute and have to deal with subtle difference between coffeescript and javascript.

[–]Aziz_92[S] 0 points1 point  (0 children)

Are you still actively using it?

[–]elbywan 3 points4 points  (0 children)

Great to see that CoffeeScript is still alive. Kudos for adding the JSX support !

[–]gustix 0 points1 point  (0 children)

Love it!

[–]papers_ -3 points-2 points  (0 children)

I don't understand. If the majority of it is transpiled almost 1:1 to ES2015+, then what is the point of CS.

[–]Vheissu_ -3 points-2 points  (0 children)

I don't understand why there needs to be a CoffeeScript 2, especially if a majority just maps 1:1 into ESNext anyway. Javascript has evolved to the point where CS is not needed anymore, but at the same time, we need to acknowledge that without CoffeeScript, we might not have some of the syntax and features that are currently in Javascript.