3 ms·
Interesting that CoffeeScript was used. I’m not a front end developer, but I’ve always liked its syntax. JavaScript has picked up many (if not more) features of
by haolez 7y ago
Interesting that CoffeeScript was used. I’m not a front end developer, but I’ve always liked its syntax. JavaScript has picked up many (if not more) features of it as of today, but I still find CoffeeScript code more readable.
- faitswulff 7y agoThe post mentions that they started development in 2012, which IIRC was close to the height of Coffeescript's popularity.
- riadd 7y agoYes, CoffeeScript was quite hot back then - no pun intended. Even though its not as used anymore I think it pushed the development of JS itself forward.
- nine_k 7y agoThe biggest problem with CoffeeScript for me is that it's very much not typo-safe. Most typos lead to syntactically correct programs that blow up in unrelated parts of code.
- redka 7y agoI still use CoffeeScript for every game I make [1]. I know it's very passée but every time I rewrite something from javascript it turns out to be much shorter and more readable. It's true that there is now many improvements available compared to ES5 times but for me CoffeeScript still has a lot to offer. I admit, it's mostly ergonomics, but the cost of compilation is so minuscule that I find it worthwhile. [1] https://redka.games https://redka.games
- elwell 7y agoI personally wish CoffeeScript had taken over JavaScript. Anyways, I'm in ClojureScript world now.
- jkrems 7y agoFrom somebody who used CoffeeScript extensively: I don't think it's a great choice for bigger production projects. The less "noisy" syntax has some very unfortunate consequences. For one, it has zero error correction. Almost any random sequence of characters is a valid program so any minor mistake looks at first like it's working and may even pass some tests but looking at the compiled code makes it suddenly obvious that the code is doing something utterly unexpected. Examples include: * Minor spacing mistakes subtly moving code between blocks. * A variable in a nested scope accidentally reusing a name from another scope and merging the variables. * Implicit return generating huge collections that are never used because a function happened to end in a loop. * Random breakages because the value of the last statement in a function sometimes affects the callee even though the author didn't mean to return a meaningful value. * People not setting strict mode because "it's not needed with CoffeeScript" but then introduce bugs where they try to write to readonly properties which silently "succeeds" (does nothing) in sloppy mode. CoffeeScript looks nice and readable but in practice it's almost impossible to decipher what the code actually does.
- haolez 7y agoMost of these issues could be said about Python as well, but the environment that you describe is of a very poor code quality culture. This can happen in any language. I'm not saying we should use CoffeeScript in 2019, but that the criticisms seem vague.
- BossingAround 7y agoI'd say that a lot of the same arguments are valid for Python or yaml. Why both of these are very widely used while coffeescript slowly died is beyond me. I, for one, really dislike any language that uses syntactic whitespaces.
- riadd 7y agoThe implicit collection problem can be prevented by making sure that you put explicit return statements at function ends. This goes contrary to the dense syntax argument but at least there is a workaround for performance critical code.