Skip to content
This repository has been archived by the owner on Feb 19, 2018. It is now read-only.

GeoffreyBooth’s proposal for the future of CoffeeScript #24

Closed
wants to merge 1 commit into from
Closed

GeoffreyBooth’s proposal for the future of CoffeeScript #24

wants to merge 1 commit into from

Conversation

GeoffreyBooth
Copy link
Collaborator

A proposal per #21

@JimPanic
Copy link
Contributor

This is amazing! Thanks for putting in the effort to basically sum up all issues!

@GeoffreyBooth
Copy link
Collaborator Author

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 proposals folder, and we can all massage them over time.)


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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"one person", perhaps.

@rattrayalex
Copy link
Contributor

rattrayalex commented Aug 11, 2016

Really awesome work here! LGTM.

I'll let you click the green button when you're ready @GeoffreyBooth

@rattrayalex
Copy link
Contributor

@GeoffreyBooth to be explicit, does this imply you would be willing to (at least temporarily) lead this?

@GeoffreyBooth
Copy link
Collaborator Author

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.

@rattrayalex
Copy link
Contributor

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.

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.

@GeoffreyBooth
Copy link
Collaborator Author

Is anyone else going to submit a proposal?

If not, maybe rather than merging this into a proposals folder we should just make this the proposal, and submit pull requests against it for things people want to add or change?

@rattrayalex
Copy link
Contributor

Hmm, on the one hand, I never did merge my proposals PR, so anyone who hasn't stumbled across it doesn't know about this.

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 readme.

Thoughts?

@GeoffreyBooth
Copy link
Collaborator Author

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?

@rattrayalex
Copy link
Contributor

Yep that sounds great to me! Thanks @GeoffreyBooth !

@rattrayalex
Copy link
Contributor

superseded by #26

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants