Why not ES6? Desktop app using node.js/V8 is almost the perfect place to use (and let others use) ES6 right now.
Interestingly and completely unrelated to Atom, we had a very long discussion at Discourse about this issue:
You can use plain JS to develop packages:
It appears both discourse & rethinkdb have seen the negatives of coffeescript wrt contributions and open source collaboration.
Just my opinion
Promoting other new web standards than ES6 could also be beneficial. Atom already use flexbox, because it gives us functionality which didn’t exist before. Why not using Web Components? It gives us the feature to scope stylesheets. This is something really important, if you want to safely extend the GUI.
I do understand the benefits for using CSON. JSON is very limited - mainly because it doesn’t support comments. But why shouldn’t Atom prefer JSON5, which is a little bit more standard-orientated?
Speaking about standard-orientated: Maybe rework would be a good alternative to Less? It would fit the idea to work with modern web technologies like ES6 or Web Components, because you can forward polyfill some newish CSS specs. It also integrates very nicely with npm packaging!
I have no problem supporting CS (or TypeScript or something else) at all. But I would do it the other way around. Instead of making every example in the docs in CS/CSON and noting that JS/JSON could be used, too, in the last paragraph, make JS/JSON the default language - and note that you can use other languages like CS/CSON, too. JS will always be the common denominator.
Please consider using more standard-orientated and future-orientated technologies in all docs and modules (be it a core module or something else).
I agree whole heartedly with TJ.
Maintainers of this tool should go read the discourse conversation about CoffeeScript painting itself into semantic corners, locking itself to ES3/5.
Respectfully disagree. I saw coffeescript and immediately threw my hands up.
That’s fine. But I definitely have to ask why.
Without having looked at the code, I can point out one reason to use CoffeeScript instead of vanilla JS: Literate CoffeeScript makes for easy documentation.
Also CoffeeScript is necessarily compiled down to JS, so I don’t see CS causing me any insurmountable troubles. I’ll still be able to extend the editor with JS
I’d still prefer the developers had used vanilla JS or ES6.
Write new JS in CoffeeScript.
Avoid adding new .js files.
Choosing coffee script in core will certainly impact contributions. I think it’s a short sighted and lazy choice.
I respectfully disagree.
I also would not be calling GitHub lazy as they clearly are not. (When was the last time any of us made something as awesome as Atom?) Being a jerk doesn’t help make your point.
My comment was regarding the choice, not Github as a whole.
I disagree too. IMHO Coffeescript increases code readability, and the core must be clean. Even if raising the entry barrier for new core developers, the contributions may have higher quality, easier to read and easier to maintain.
To be honest, I would rather see them use something like YAML instead, which is also adapted outside of the CoffeeScript world…