4 ms·
I loved CoffeeScript, but I felt it was a double edged sword. I would still use it though, if there were JSX style xml/html tags. But React changed everything
by rmetzler 9y ago
I loved CoffeeScript, but I felt it was a double edged sword.
I would still use it though, if there were JSX style xml/html tags. But React changed everything for me and as a full stack dev, I can use only few frameworks on one level.
Edit: Ok, JSX is now supported. http://coffeescript.org/v2/#jsx http://coffeescript.org/v2/#jsx
And I'm glad they broke the different behaviour of =>. It might need a fix in a lot of code bases, but this price is cheaper than having the mental burden of it.
- rapind 9y agoI personally can't stand jsx, and coffeescript makes it so much nicer to avoid when using React. It's almost like haml / slim / jade / pug if you know what I mean. I wrote a comparison about it a couple years ago: http://rapin.com/blog/2015/02/03/reactjs-with-coffeescript/ http://rapin.com/blog/2015/02/03/reactjs-with-coffeescript/ I'm not doing much react these days (cough elm), but I think it's still mostly relevant.
- desireco42 9y agoYeah, Elm is the bomb! Had to grin when I saw your comment. I am really happy with this refactor of Coffeescript but Elm is what I do.
- cies 9y agoElm... And not to forget PureScript... and to a lesser extend ReasonML (by which you can still use React and JSX)... and Haskell/GHCJS. There are quite a lot of ways to seek refuge from both type scarcity and the "semicolon" line noise that was mentioned. Here some benchmarks for several of the FWs that are popular in these languages (Elm has the FW built-in, ReasonML-React is missing but should be close to React.js). https://medium.com/@saurabhnanda/benchmarks-fp-languages-libraries-for-front-end-development-a11af0542f7e https://medium.com/@saurabhnanda/benchmarks-fp-languages-lib...
- ddlsmurf 9y agoI'm not a big fan of the new =>, it means the arguments variable will have parent scope in => but not in ->, it kind of erodes into coffeescript's elegance/consistency imho, unless I'm missing something ?
- rmetzler 9y agoI never used => but when JavaScript introduced the fat arrow and made it different from the fat arrow in CoffeeScript, this introduced a mental barrier for me. By definition, the JavaScript fat arrow is the important one to know.
- DiThi 9y agoYou can always add an splat to use instead of arguments: (args...) =>
- ddlsmurf 9y agoSure, but there used to be a strong performance advantage when using the arguments variable with function.apply, also editing arguments' values affected named parameters' values (not sure that's desirable, but you know, semantics)