-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CS2 Discussion: Question: Ensuring long-term maintainability of existing CoffeeScript codebases #4929
Comments
From @greghuc on 2016-09-10 11:57 It's worth noting that backwards-compatibility is likely less of an issue if an existing Coffeescript code-base is being actively maintained. If backwards-compatibility was intentionally broken to ensure future Coffeescript could interoperate with now-and-future-Ecmascript, I'd be happy to fix up my existing Coffeescript codebases. |
From @rattrayalex on 2016-09-10 15:56 We've actually discussed several of these topics across the ~two dozen threads so far. Here's my impression of where we stand so far:
I'm just trying to summarize our existing conversations, but may have let my own opinions sneak in – please correct me if I've mischaracterized anything. |
From @carlsmith on 2016-09-10 16:14 Does anyone feel confident that they could implement a brand new compiler for CoffeeScript that doesn't deviate from the official compiler at all? CoffeeScript grammar has a lot of subtleties. Realistically, it seems best to only aim to keep the official compiler compatible with previous versions, and for any new compiler to redo the language from scratch, with hindsight. Writing a perfect, drop in replacement for the current compiler is going to be really difficult. |
From @rattrayalex on 2016-09-10 17:12 @carlsmith wrong thread? |
From @carlsmith on 2016-09-10 19:03 @rattrayalex - Probably, yeah, sorry. It's a pretty general point though. If we don't have much hope of creating a new compiler without breaking backwards compatibility, there are limits on what can realistically be done. |
From @dadleyy on 2016-09-12 16:15 My codebase at work actually consists of about 40% coffeescript and 60% vanilla js. Our grunt/gulp configuration is built to copy the js and compile the coffeescript. If the next iteration of coffeescript is not backwards compatible (meaning my existing code wouldnt compile), I would just add whatever additional steps to my build (e.g the new compiler) to allow us to write in the new coffeescript. I mind the idea of doing that much less than the idea of crippling this project with concerns of backwards compatibility. Its very easy to rewrite old code vanilla js into coffeescript - we were probably around 70% vanilla js about 3 months ago. I'd imagine it would be even easier to rewrite CS into CS6. |
From @greghuc on 2016-09-10 11:50
Many of the 'Coffeescript nextgen' issues currently raised are about which ES6 features should be added to Coffeescript. I presume this is driven from the viewpoint of "why should Coffeescript be chosen when starting a new project"?
I'm creating this issue to consider things from a different viewpoint:
Areas to consider:
The text was updated successfully, but these errors were encountered: