Live data from Hacker News

Announcing CoffeeScript 2

coffeescript.org

31–40 of 220 posts

Re: Announcing CoffeeScript 2

#32

In open source, it's lovely, and fairly rare, to see someone pick up the ball on a quiet project, and run with it to completion without getting frustrated or losing interest first. Geoffrey Booth — with big assists from Simon Lydell and Chris Connelly — has really gone the distance here, spending a full year working on drafts of CoffeeScript 2.0 to upgrade it from a language designed around ES3, to make it as ES6+ fr…

You can also see on the "Contributors" graph a major increase in CoffeeScript contributions in the past year or so: https://github.com/jashkenas/coffeescript/graphs/contributor...

A bunch of people helped out: https://github.com/jashkenas/coffeescript/wiki/CoffeeScript-...

And GeoffreyBooth coordinated the effort, posting regular status updates & calls for help, handling bugs / feature requests, etc. I didn't realize he was also writing most of the code!

CoffeeScript2 started with a manifesto at https://github.com/coffeescript6/discuss which turned into a cooperative effort with jashkenas to move CoffeeScript forward in a responsible way. An interesting story in its own right.

Re: Announcing CoffeeScript 2

#33
post #24

Earlier quoted context omitted.

And that's totally fine! I don't get a chance to use it much these days either. But for the folks who still do — or have existing codebases — this update is for you.

Hey, I'm working on a template language that compiles into Redux + IncrementalDOM. Part of it involves a pipeline syntax similar to underscore or lodash. I'm wondering what you would consider a modern equivalent of those two libraries using native methods, iterators, etc. or if vanillajs is sufficient now. If anyone wants to take a look it's at tmzt.github.io/isymtope and github.com/tmzt/isymtope The #cleanup-symbols…

Hmmm. If you're doing the compilation yourself, I'd imagine you could rely on what browsers provide these days, and compile to what you need. For the kinds of data transformations that templates tend to need, I wouldn't imagine that you'd really find a utility library to be necessary. Check out the Svelte output, for example.

Re: Announcing CoffeeScript 2

#34

Jeremy, First off thank you for Underscore, Backbone and CoffeeScript. Your work really has helped me and my development team. This question is a little off topic but one I've been wanting to ask for a long time: Last year you took a year off from The New York Times to ride your motorcycle across the Western Hemisphere. Just recently you were hired back at the paper, doing what it appears to be the same thing in the…

Happy to answer, although this is a bit of a funny forum for it: From a work perspective, it's pretty simple. I quit, and then was rehired to the same position a year later. But The Times' Graphics Desk was super nice about it. We had a handshake agreement that I'd come back when I got back, and they even lent me a laptop to maybe file some travel-ish bits and bobs from along the road. So in that sense, it was partia…

As important as your work on the above mentioned libraries were, your continued work at the NYTimes is even more important. So thanks!

Re: Announcing CoffeeScript 2

#35

Jeremy, First off thank you for Underscore, Backbone and CoffeeScript. Your work really has helped me and my development team. This question is a little off topic but one I've been wanting to ask for a long time: Last year you took a year off from The New York Times to ride your motorcycle across the Western Hemisphere. Just recently you were hired back at the paper, doing what it appears to be the same thing in the…

I can't answer for him. but it would seem to me that there is a pretty universal shortage of quality developers, much less superstar developers familiar with your existing codebase. Rehiring him would be a no-brainer.

jashkenas is a graphics editor, not a developer. Your point still stands though.

Re: Announcing CoffeeScript 2

#36

So great to see a good release after all these years. Congratulations to all! I'm curious though about what happened to the Kickstarter project that took a few grand to write what was to be "CoffeeScript 2" at the time - did any of that code end up in this release?

link?

Re: Announcing CoffeeScript 2

#37
post #20
post #10

I can't imagine CoffeeScript will see much adoption these days as most people seem to think ES6+ is "good enough". I miss how concise functions are in CoffeeScript and also miss being able to do object literals without the braces. But there's no chance at all in convincing my team to adopt it, as modern JS really is "good enough".

I was browsing the CoffeeScript docs and everything looks much more concise. It seems like your code would half the size. Have people done real world comparisons on large code bases? Rewrites?

We did. And had to "decaffeinate" everything a few months later because it is hell to work with implicit returns, objects without brackets, no spread operator, significant whitespace, no variable declaration keyword...

It really is a matter of taste, but the large majority of us didn't like it. It is pretty, but I felt like fighting against the language all the time (implicitly returning an bracketless object is not something that's easily readable)

Re: Announcing CoffeeScript 2

#38

So great to see a good release after all these years. Congratulations to all! I'm curious though about what happened to the Kickstarter project that took a few grand to write what was to be "CoffeeScript 2" at the time - did any of that code end up in this release?

It didn't.

Although Geoffrey and folks considered a rewrite of the compiler along the lines of Michael Ficarra's CoffeeScriptRedux, they decided it was more pragmatic just to work with the existing compiler and get it to produce Modern JS instead of the Lowest-Common-Denominator JS it previously output.

A wise choice, especially given 2017 interest and energy levels.

Edit: To be clear, to the extent anything can or can not be considered official in open source, Michael's project was his project, and never made it in to the main repo. We encouraged it just as we'd encourage anyone to try and make an independent implementation — but CoffeeScript has never asked for financial support.

Re: Announcing CoffeeScript 2

#39

Earlier quoted context omitted.

I can't answer for him. but it would seem to me that there is a pretty universal shortage of quality developers, much less superstar developers familiar with your existing codebase. Rehiring him would be a no-brainer.

That is a good point. The NYT is responsible for other awesome tools: d3.js, ai2html, etc. I'm sure if the company has a person who creates a tool that is used all over the world under its watch, they would allow that person to take as much time off as he or she needs. Still, I know people who are --- no pun intended -- the backbone of codebases at their company, and taking a year off and being rehired is out of the…

>What's to stop the company from finding a replacement who can be up to speed with the code in a short amount of time?

The fact that it's very, very hard and the competition is fierce?

Also, this is not a romantic relationship we're talking about. If you leave your place of work, no matter how irreplaceable you are the company is going to carry on as best they can. If a year later you are available again and they still need a person for this position that they know you would fit well, why would they not rehire you?

Re: Announcing CoffeeScript 2

#40
post #23

First congrats, this is hard-work. Second I implore people not to use a language where the designers think breaking changes are OK, while giving no real advantage over plain modern Javascript or the use of a linter. Worse, since CS has slighly different semantics than JS it will lead to so much confusion. Coffee Script served its purpose, now let it rest.

>Second I implore people not to use a language where the designers think breaking changes are OK

This is a big deal when you also have to use libraries written in the same language. Python 3 being a fundamentally different language (the underlying bytecode is not backwards compatible) from Python 2 made the transition very difficult.

However, this will never be a problem for a javascript transpiler.

And also, the list of breaking changes really isn't too incredible. I imagine it'll be fine for most coffeescript projects to take this update quite liberally, as it shouldn't be too hard to write CoffeeScript 1.x/2.x polyglot code to transition to the new version.

Post reply on HN