20 ms·
Announcing CoffeeScript 2
- bpicolo 9y agoThe breaking changes page is ironically quite broken (latest chrome) http://coffeescript.org/#breaking-changes http://coffeescript.org/#breaking-changes Edit: Seems that my computer doesn't consider the cert authority valid for bootstrapcdn.
- SquareWheel 9y agoSeems to work here okay. Also latest Chrome.
- 83457 9y agoI tried before and after the very latest update without a problem.
- deleted 9y ago[deleted]
- ben174 9y agoMake sure your clock/date is correct on your system.
- jashkenas 9y agoIn 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+ friendly as possible. https://github.com/jashkenas/coffeescript/commits/master https://github.com/jashkenas/coffeescript/commits/master He also redid the website and the docs for good measure: http://coffeescript.org/ http://coffeescript.org/ Bravo.
- bpicolo 9y agoIt's very impressive to see what the team did here in picking it up from you as maintainer. Props to the team!
- rattray 9y agoYou 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/contributors https://github.com/jashkenas/coffeescript/graphs/contributor... A bunch of people helped out: https://github.com/jashkenas/coffeescript/wiki/CoffeeScript-2-Honor-Roll 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 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.
- deleted 9y ago[deleted]
- skilesare 9y agoBeen following for a while. Great job getting it out! CoffeeScript has saved me thousands of hours of parentheses closing alone.
- lcfcjs2 9y agoew
- city41 9y agoI 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".
- jashkenas 9y agoAnd 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.
- jonnytran 9y agoThank you! I love CoffeeScript! It's been so sad to see it slowly fade away in favor of, in my opinion, inferior and uglier things. I -- and many others, I'm sure -- appreciate this update a great deal. I hope I get to write beautiful CoffeeScript code again soon. To parent post, why should we settle for "good enough"?
- madeofpalk 9y ago> To parent post, why should we settle for "good enough"? Because it's an actual standard and benefits from wider mindshare and support.
- tmzt 9y agoHey, 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 branch is much further along and has a mostly working TodoMvc.
- jashkenas 9y ago
- sidcool 9y agoCoffeeScript has lost a lot of adoption after Typescript and ES6 gaining its turf. But by all means it's a good wrapper to JavaScript. Congrats on shipping.
- kbenson 9y ago> So a CoffeeScript => is now output as => Wait, using the arrow function notation doesn't bind this, arguments, super, or new.target[1] in javascript, as opposed to the normal function syntax. Not being a user of coffeescript, did coffeescript not do that already, or did they also throw in code to change that in the generated code? It seem to me it would make sense to map items that match conceptually, not just notationally (unless it's common to have both coffeescript and JS side by side). Can someone comment on how this is handled? 1: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... Edit: Added "in javascript" after reference to make it obvious I was talking about JS behavior for the binding.
- thechewanater 9y agoIn coffeescript 1.x fat arrow functions already bound "this", although binding "arguments" is an actual change. http://coffeescript.org/#breaking-change-fat-arrow http://coffeescript.org/#breaking-change-fat-arrow
- Nullabillity 9y agoCoffeeScript did already bound `this` for `=>`. There is also `->`, which is morally equivalent to JS' old-style `function`.
- madeofpalk 9y agoCoffeescript's => binds this. Javascript's => also binds this (more or less) Seems to map fairly well conceptually.
- kbenson 9y ago> Javascript's => also binds this (more or less) Javascript's => doesn't bind this though, and function does, which was my point (and is what the reference I included was saying). That's a specific change in JS, and either coffeescript had code in place to emulate the current behavior in prior versions where they used function(), or they have code in place now to emulate function() now that they're using =>. I'm going to update my original comment to be a bit more clear on what I was saying.
- feelandcoffee 9y agoI don't know what to think about coffeescript anymore. I love it back then before babel and ES6, but right know I didn't even know how to use coffee and a library used today. Still miss the python/ruby-sque sintaxt witouth brackets. Edit: After reading more about the changes about CS 2.0, I may give it one more chance, let's see how it work now.
- catacombs 9y agoJeremy, 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 graphics department. From a hiring perspective, did you have to reapply for your job, or did the Times just give you the necessary time off? If this was considered a "sabbatical," how did you justify traveling around the Americas as something that could benefit the paper? I don't mean to offend. I'm genuinely curious. A lot of people aren't fortunate enough to take a year off for traveling and then be rehired at their company, especially in the journalism industry with the revenue declines, job cuts and managers wanting to hire cheaper people. Thanks again for all you've contributed.
- santoriv 9y agoI 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.
- catacombs 9y agoThat 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 question. 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?
- kristiandupont 9y ago>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?
- ludicast 9y agoCongrats! I loved the elegance coffeescript & it was the language that convinced me JS was a reasonable target. Though I, like many, moved to TS, I use CS every day via its spiritual child es6.
- kodablah 9y agoWhile I understand the let vs var thing, I wish I could tell the compiler that I promise not to non-obviously reference a local var (e.g. in an eval). Then CoffeeScript could determine it is only written at decl time and could use const. Technically, this could be used for var scoping too in the let vs var issue. > Keep in mind that const only protects you from reassigning a variable While I haven't looked, I'd suspect there are performance implications too.
- rainrunner 9y agowho the fuck actually cares about CoffeeScript? it's dead now
- camus2 9y agoFirst 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.
- creatonez 9y ago>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.
- molszanski 9y agoI switched my codebase from 1 to 2 and didn't notice a single syntax issue or a failed test. So not such a big "breaking" change after all.
- ricardobeat 9y agoSo 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?
- rattray 9y agolink?
- helb 9y agohttps://www.kickstarter.com/projects/michaelficarra/make-a-better-coffeescript-compiler https://www.kickstarter.com/projects/michaelficarra/make-a-b...
- jashkenas 9y agoIt 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.
- ricardobeat 9y agoAgreed, getting this upgrade out the door in 2 months is a monumental achievement and I can't imagine a full rewrite happening at anything close to that pace. I'll be happily hacking away with CoffeeScript 2 + Crystal this weekend! Thanks for being awesome :)
- deleted 9y ago[deleted]
- ralmidani 9y agoCoffeeScript is still very relevant for me. I have two medium-sized Ember projects written in CoffeeScript (and Emblem and Sass--the original, indented variety, thank you very much). I have been looking at React (will probably skip due to the patent license) and Vue, but cannot imagine going back to semicolons and (excessive) curly braces and parens. If you married CoffeeScript just out of convenience (being able to avoid prototypes, bind, etc.), then it no longer serves much of a purpose. But if, like me, you fell in love with CoffeeScript's beauty, then no amount of ES6+ features will make it obsolete (as long as you can also keep using those features directly in CoffeeScript).
- twykke 9y agoi also don't use CoffeeScript because of any 'feature' it has over standard JS but instead because of its concise but expressive syntax. it's less about what it does have/do, and more about what it doesn't have/do. some small aspects of CS i forgo because they (in my opinion) are a little too concise such that they sacrifice readability, but all in all it has my favorite syntax of any language.
- ralmidani 9y agoExactly. I personally think calling .map() on an array is more readable than an array comprehension. But since CS is "just JavaScript" you are free to use the native JS array methods (and even more elegantly, at that).
- twykke 9y agolist comprehensions was exactly what i was talking about :) however i replace them with lodash and ramda, which benefit enormously from CS's lambda syntax
- atom-morgan 9y agoI wish this line of thinking was more common. So many people feel forced to use parts of a language when you don't have to.
- kibwen 9y agoNever used CoffeeScript in anger, and I don't see it regaining the level of hype it once had, but despite its lack of dominance I think it emphatically suceeded in helping to push Javascript towards its modern (and much improved, IMO) incarnation. A good recent example of how a technology doesn't need to capture marketshare in order to have a positive impact on the market.
- srb- 9y agoAs a CoffeeScript fan things were looking pretty bleak a year or two ago. In particular there was zero momentum for new features. How things have changed! Major kudos to Geoffrey Booth and all involved. Coffee's beautiful syntax combined with async/await has taken a lot of the 'ick' away from coding in JS, at least for me.
- twykke 9y agohaving used Coffeescript almost exclusively (in the Node.js world) for something like 6 years, async/await was the only feature i have been gnashing my teeth waiting for, but i wasn't even that impatient because i have also been using Fibers for just as long.
- maxscam 9y agoExactly. I'm glad to see people arent absolutely shitting on it here like they have been over the past year or two, which is when I started using it,
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]
- XCSme 9y agoTypeScript still seems the much better choice.
- Allower 9y agoUnless those horrible semi-colons and braces scare you lol
- shallot_router 9y agoI wish someone could take the best parts of TypeScript and CoffeeScript and put them together.
- maxscam 9y agoI think its likely that at some point in the future cs will get strong type support. Iirc the creator is opposed to it but theres interest from others.
- bayesian_horse 9y agoFor certain situations or teams, yes. For others, no.
- Allower 9y agoIs there any reason someone would use this as opposed to TypeScript? Seems like its just shooting yourself in the foot in terms of maintainability..
- deleted 9y ago[deleted]
- Akujin 9y agoAugh. Anytime I see a Coffescript project all I see is wasted money trying to recruit engineers who actually want to use it. 90% of people who write JavaScript roll their eyes and move on.
- ralmidani 9y agoAnother way to look at it: you will only draw developers who share your appreciation for whitespace-significant languages. I have worked on two startups with a fellow programmer who knew Python but not CoffeeScript. He picked it up very quickly, along with Emblem (indented Handlbars alternative, useful for Ember projects) and indented Sass. Once we told the text editor to insert 4 spaces in place of tabs, we had much less to worry about in terms of stylistic disagreements.
- vlunkr 9y agoI think most competent js devs would have no problem switching to that syntax. After all CS is just JS.
- forty 9y agoAt work we started node with node 0.6, CS was nice at the time, it would bring cool stuffs such as arrow functions. Nowadays we are using Typescript, and we love it. To be honest, I am quite happy we are getting rid of CS, the lake of variable declaration specific syntax (as opposed to assignment statements) is really a big bug of the language IMO which can lead to really awful bugs in your code if you are not careful. We have been using https://github.com/decaffeinate/decaffeinate https://github.com/decaffeinate/decaffeinate to help getting rid of our CS files, it works quite well.
- fiatjaf 9y agoSince you were changing everything, I thought it would include a bunch of new revolutionary syntax and features, just like Coffeescript 1 did many years ago and made the world jump into ES6+. Since this is just keeping up with the already existing ES6, why would anyone bother to move from ES6 to Coffee?
- bayesian_horse 9y agoBecause it's more concise and readable.
- maxpert 9y agoAs much as I love CoffeeScript (because I love Python), I think over time the project is loosing it's value due to ES6 (Frankly I believe even TypeScript is going to suffer the same plague soon). One possible incentive for me might be the toolkit and the pre-built stuff that I can get out of box from such transpilers (JSX is a good addition for example, however I am surprised why something like PUG, or HAML was not adopted instead of JSX from syntax perspective). None the less I greatly appreciate the hard work team is doing and look forward for stuff like pattern patching and some functional inspirations.
- bayesian_horse 9y agoES6 solves some of the problems CoffeeScript solved back in the day. It's still verbose, still full of "line noise". JSX wasn't adopted by CS2 at all. It's just that certain things are passed unmolested into the compiled output, which happens to make it jsx compatible. Other similar preprocessors would work, too.
- TazeTSchnitzel 9y ago> loosing it's value due to ES6 (Frankly I believe even TypeScript is going to suffer the same plague soon) Why would ES6 being more widely adopted hurt TypeScript? TypeScript is and always has been ES6 compatible. Are you imagining people would suddenly lose interest in static typing?
- Rotareti 9y ago> I think over time the project is loosing it's value due to ES6 (Frankly I believe even TypeScript is going to suffer the same plague soon) I could imagine TS going to suffer some plague like this to another language that is statically typed like Elm, Haskell, etc., but probably not to JS.
- ralmidani 9y agoCheck out CoffeeScript JSXY. It's basically CS2 but with a HAML-inspired alternative to JSX syntax. https://github.com/helixbass/coffeescript-jsxy https://github.com/helixbass/coffeescript-jsxy
- 9y ago
- dtech 9y agoI respect CoffeeScript for what it did and playing a part in making Javascript and its ecosystem better. That said, for a new development, is there any reason to use it over ES6? If you don't like the current Javascript, Cofeescript isn't going to convince you (Elm, Purescript, Scala.JS etc. might). The only direct value is see in this version is as an upgrade target for existing codebases.
- anythrow123 9y ago> an upgrade target for existing codebases That might be a little naive. I pick Coffeescript in a reflex without even considering ESxx, and I regularly start new projects large and small with it that go into production. It's a breeze compared to some of the modern Javascript codebases I have to work on. My overall development speed is definitely faster in Coffeescript, less bugs, no countless babel add-ons, no linters etc.. and the codebase often speaks for itself, less annotations, less code. Efficiency means a lot to me.
- molszanski 9y ago> That said, for a new development, is there any reason to use it over ES6? Obviously your mileage may wary. I think, the biggest reason is a time boost. - Less noisy code (no braces etc) that is easier to scan - No time wasted on flirting with new ESXXXy stuff - There is no callback hell to deal with - Writing React code is sweet. As previously noted: http://rapin.com/blog/2015/02/03/reactjs-with-coffeescript/ http://rapin.com/blog/2015/02/03/reactjs-with-coffeescript/ - Less distractions on things that don't really matter in 98% of use cases. Like var/const/let declarations
- cos_ 9y ago+ very lightweight dependency to pull in, in contrast to installing the operatingsystem-size babel (tip: there´s also buble)
- jondubois 9y agoI never understood the need for CoffeeScript. I especially don't understand why someone would want it now. Compilation of JavaScript is a terrible idea. I have worked with loads of different compile to JS languages. The compile step is a huge pain. The language has to be much much much better than JS for it to be worthwhile. I think that even JSX or TypeScript don't cut it... Close but still not worth the hassle! I used CoffeeScript for 6 months, it was a very lucrative contract but I had to quit in part because I really didn't like CoffeeScript. What I love in a language is simplicity and unfortunately, you cannot make something simpler by adding a layer of complexity on top of it. It might look simpler at first glance, but it isn't once you start debugging, messing with source maps and buggy source code watchers. If there was a native CoffeeScript interpreter inside browsers, then I might consider using it... Otherwise, no.
- maxscam 9y agoI found using the coffeescript loader for webpack solves all these problems. You cant execute cs in the browser but you still can place breakpoints in the original code. The compilation to js is not novel anyway, its the same thing as we see with ESnext just on a bigger scale.
- molszanski 9y agoDo you use any modern JS tools? Webpack? Require or import? Babel? In my experience any es6 tooling is much of a bigger pain compared to coffeescript tooling.
- jondubois 9y agoI'm full stack so when I saw the monstrosity of the React ecosystem rear its ugly head a couple of years ago, I retreated to back-end work mostly (I'm waiting out the storm). For my side projects I currently use the Polymer framework so I don't need a bundler, a compile step or 100 pointless dependencies. The only compilation that happens is when I vulcanize the front end for production (purely as an optimization). No transpiling happens when debugging and this saves me so much time and frustratiom - I just cannot bring myself to use React or TypeScript.
- kuon 9y agoI really liked CoffeeScript, it's a good way to generate sane JavaScript. But I have switched to Elm for larger projects. The maintainability it brings is a lifesaver.
- no_wizard 9y agoThis is honestly the first time I have looked close at CoffeeScript. At a passing glance, it looks really close to Python with javascript elements added in. Is that a correct assessment? If it is, this might be for me. My other question is: how nice does coffee script play with other libraries? We (unfortunately) use jQuery a lot. I have also been using underscore and lodash as well. Are those two even needed when writing coffee script? I'm kind of assuming not, since they're both largely just adding methods/functions.
- Justsignedup 9y agoCoffeeScript is javascript. It is just a nicer (in some people's opinion) form of javascript. It added some much needed features a few years back, but with recent JS advances the utility of coffeescript are much less than they used to be. So invoking jquery and everything is totally 100% supported. In fact that is how I used coffeescript a few years ago.
- ralmidani 9y agoIf you like Python, you will love CoffeeScript. :) I have not used Underscore/Lodash in production, but I use jQuery a lot with CoffeeScript. CoffeeScript does not replace jQuery, although it can make your jQuery a lot nicer. As far as other libraries, there really are no restrictions; CoffeeScript compiles transparently to JavaScript. The only thing holding it back would be poor support in the specific ecosystem you are working with, such as a lack of plugins that automate the build process. In that case, you may need to compile manually or set up your own build script. But other than that, you can use CoffeeScript in place of JS pretty much anywhere.
- no_wizard 9y agoI figured jQuery would be fine. Now that I think about it, I can't imagine why most things wouldn't really, since all javascript libraries are just extensions of those things. Does CoffeeScript just convert the modules methods/functions accordingly when needing to be called? Just curious how that works. Since so much of JavaScript development, especially nowadays, ties into a lot of frameworks/libraries (modules? I'm not always sure what we want to call it), I just didn't see a reference (maybe I missed it) on their page in regards to what it actually looks like to invoke module/framework/library specific things.
- root_axis 9y agoI love CoffeeScript. Thanks for this. I know, I know, "what about types". Perhaps it'll get there one day. There's always flow. Thanks again.
- virtualwhys 9y agoHuh, just finished migrating a small 5K front end from CS to Scala.js. Miss the concision of CS, both in terms of syntax and generated output, but otherwise really enjoying typed JS. Also, it's kind of cool not immediately knowing whether a particular source file is for the front end or back end -- like, oh, wait, this is the front end ;-)
- FractalFlows 9y agoGreat!
- elbywan 9y agoI used CoffeeScript for personal projects and absolutely loved the syntax. Wasn't able to promote it at work though, because of the lack of support at that time (it felt kinda rusty, most 3rd party libraries were deprecated, and no jsx). Glad to see things are changing, the new release looks great !
- AriaMinaei 9y agoI'd happily go back to CoffeeScript if I could keep using Flow/TS/ESLint and the rest of my toolset. That's entirely possible, and the setup would look like this: CS would produce a babel-compatible AST, instead of producing the final ES6 source code. It would simply leave the job of generating the final code to babel (via babel-generator). You'd then be able to re-use some (though not all) of babel plugins on top of CoffeeScript. babel-macros for example will work out of the box: https://github.com/kentcdodds/babel-macros https://github.com/kentcdodds/babel-macros ESLint would mostly work out of the box. Syntactic rules won't be relevant anymore, such as the one that enforces semicolons, but other rules will be fully useful. You could still enforce no undeclared vars for example. Importantly, you'd still see ESLint errors in your editor exactly where they occur in the .coffee source file, and not in the final transpiled file. This would work, because ESLint can read a babel-compatible AST which is what CS would produce. I've already tried in a small POC. I'm sure it would be trivial to patch TypeScript to accept babel-compatible AST instead of doing the parsing itself. You'd then use TypeScript as a type-checker and not as a transpiler (This is already possible iiuc with babylon 7). Type checking would then work in .coffee files just like it would in .ts files. Some language-server commands like find-references, goto-definition, and show-type would also work. Refactoring commands of course wouldn't work, because they are specific to the typescript syntax. Flow would work out the same way too. Right now it has its own parser written in OCaml, which produces an AST that is compatible with that of babylon 7. All you have to do is to bypass that parser and get the AST from CS. You'd then get type errors inside .coffee files, and all the other goodies you expect from flow. --- There is no reason why one should have to choose between CS and the rest of the JS ecosystem. The fact that you have to give up type-checking and linting in exchange for CoffeeScript/SweetJS/your-favorite-stage-1-proposal, is only because the tools don't play nicely together. They could. And with all the recent standardisation work already done, that is a low-hanging fruit.
- Fudgel 9y agoYou might like Lightscript: http://www.lightscript.org/ http://www.lightscript.org/
- jonnytran 9y agoWill the next version of Rails include this by default? ...Unfortunately, it would be a breaking change, so maybe not until Rails 6?
- rw2 9y agoI love coffeescript, I don't find anything else in Javascript that reflects the strict spacing of python and also shorten the code in a pleasantly communicative way.
- neya 9y agoI love Coffeescript. Even with ES6+ around, I ALWAYS used coffeescript when I work on projects. Because, my end goal is a business user who cares if his software functions correctly or not, not whether my stack consists of bleeding edge. It's easy to oversee the benefits of CoffeeScript - "It just has a nice looking syntax", but in reality, it saves me a ton of time, not having to type all those braces. I'm a Ruby guy, it's really the difference between Ruby and PHP for me. This is perhaps one of the best news items I woke up to.
- ajobaccount2017 9y agoI wish someone would do the same for LiveScript.
- brad0 9y agoI think this is great! It allows people using an existing coffeescript code base to transpile to the latest ES. My question is: Why would you adopt coffeescript in a new project?
- Yaggo 9y agoHuge thanks to CS2 team! Great to see CoffeeScript alive again and targeting ES6, making lot of easier to to choose it for new projects. I never abandoned CS or converted existing codebases to ES6, as I feel that ES6 hasn't much to offer compared to CS, and you lose the elegant syntax, which was always the major selling point for me (former Pythonista). CoffeeScript is closer what Javascript was originally meant to be, before Brendan Eich had to adopt Java-like syntax, a decision made by Sun marketing team.
- chicago_wade 9y agoIs the language refrence at http://coffeescript.org/#language http://coffeescript.org/#language completely up to date with CoffeeScript 2 or only partially? Edit: http://coffeescript.org/#whats-new-in-coffeescript-2 http://coffeescript.org/#whats-new-in-coffeescript-2 answers this I think. > The biggest change in CoffeeScript 2 is that now the CoffeeScript compiler produces modern JavaScript syntax (ES6, or ES2015 and later). [...] There are very few breaking changes from CoffeeScript 1.x to 2 [...] So probably that means that the language reference is up to date.
- deleted 9y ago[deleted]
- enturn 9y agoIt would be nice to have a date on the announcement page. I can only assume it was published on/around September 17, 2017 by looking at the changelog.