-
Notifications
You must be signed in to change notification settings - Fork 4
GeoffreyBooth’s proposal for the future of CoffeeScript #24
GeoffreyBooth’s proposal for the future of CoffeeScript #24
Conversation
This is amazing! Thanks for putting in the effort to basically sum up all issues! |
Thanks. Now let’s see if anyone agrees with me 😉 @rattrayalex, could I maybe get write access to the repo? Then I can continue to revise my proposal after it gets merged in. (I assume others will submit proposals as well, with different filenames in the |
|
||
The [coffeescript6 repo](https://github.com/coffeescript6) is a big step in the right direction toward remedying the issue defining CoffeeScript’s currently unclear future. When we reach a consensus, our plan should be posted on [coffeescript.org](http://coffeescript.org/) and the [README for the coffee-script repo](https://github.com/jashkenas/coffeescript). | ||
|
||
We also should come up with a defined leadership structure and formal process for approving features and syntax. As great as @jashkenas is, a language that so many people depend on should not be subject to the whims of one man. I’m going to leave for others the specific plans for how to address the leadership question. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"one person", perhaps.
Really awesome work here! LGTM. I'll let you click the green button when you're ready @GeoffreyBooth |
@GeoffreyBooth to be explicit, does this imply you would be willing to (at least temporarily) lead this? |
I’m already leading the effort of adding modules to the current compiler, with @JimPanic and the guidance of @lydell. If that goes well I might tackle classes in the current compiler as well. Those two efforts I’m pretty confident should be the first priorities, and I haven’t heard anyone argue that we shouldn’t be doing them. Beyond that immediate work, though, someone with more experience than me in working with the main or Redux repos should propose a leadership structure. Once we have that in place, we can use the new leadership to make the decisions I presented in my proposal. I would be happy to be part of the leadership, but what I feel like I can contribute is more organizational guidance (like this proposal document) rather than technical guidance (like which repo to build off of, and why) since I’m only recently acquainted with the codebase. The leadership team needs some of the core contributors of the original repo, of Redux, perhaps of Decaffeinate and other similar projects. |
Awesome. Great comments. All sounds good to me! |
|
||
Many people were drawn to CoffeeScript because it offered features that JavaScript once lacked: classes, destructuring, fat-arrow functions, etc. Once ES2015 arrived and JavaScript (mostly) caught up, those people abandoned CoffeeScript back for the JavaScript they were more familiar with. Those people aren’t coming back, nor should we pursue them. With ECMAScript proposals and development proceeding at a rapid pace, we stand no chance of out-innovating the JavaScript community in inventing new language features. | ||
|
||
Many other people, however, came to CoffeeScript for the clean, readable syntax and the many ways that the language itself helps prevent bugs, such as significant whitespace and the existential operator. CoffeeScript still has these advantages over all versions of JavaScript, and will retain them so long as ECMAScript strives for backward compatibility. But for CoffeeScript to remain a viable choice for developers, it must keep pace with the JavaScript community. At the very least it must be compatible with most popular frameworks and build tools; ideally it will also be current with the latest approved standard. The mantra of CoffeeScript is that “It’s just JavaScript”—but right now, JavaScript is ES2015. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this block, however I want it to stress more of the importance of elegant and concise code. I think a core tenant of the language is really about reducing unnecessary syntax whenever possible. Making the code structure simple and powerful is a fundamental to the language. This is something that should be a core value moving forward.
Is anyone else going to submit a proposal? If not, maybe rather than merging this into a |
Hmm, on the one hand, I never did merge my On the other hand, you have a point – I might as well just skip that step and work with you to merge this into the Thoughts? |
Well, skimming through all the comments again I don’t really see any disagreements. A few nitpicks that I can address with some edits, and there’s certainly the two big questions left unanswered (leadership, which repo to start with). Why don’t we merge this into the readme, and I can edit it a bit to address the points people have made here? And let’s open issues for the leadership and technical questions for people to hash those out? |
Yep that sounds great to me! Thanks @GeoffreyBooth ! |
superseded by #26 |
A proposal per #21