The Tragedy of the Common Lisp, or, Why Large Languages Explode (was: revive let blocks)
getify at gmail.com
Sat Jun 20 12:55:35 UTC 2015
> > I agree completely, and I fully apologize. Starting the thread this way was inappropriate, at least without some mitigating text which I did not think to add. I like the fact that we are all civil to each other here and try to keep the environment welcoming and friendly. Please no one take my message as precedent in the other direction.
> I think what that HN thread is missing is that you and Kyle know each other from before and interacted before and you knew he would not take personal offense in it or think you don't appreciate his contribution efforts to the standard.
"Kill" seemed too directed at first and was off-putting, especially since there are a lot of post-ES6 proposals floating about and none of them received the same sort of strong pushpack. It's not as if there was evidence that the proposal was intentionally bad-faith, toxic or trolling. I appreciate Mark's reflective sentiments, and I also echo his general concerns of growing a language beyond its appropriate scope.
I believe small variations to existing features should have far less burden of "proof" than large features. It's a minor affordance for a particular style of coding with no other value proposition other than to assist in avoiding mistakes (the TDZ footgun specifically). I think that carries its own weight and then some. And further, I don't think small polishes are necessarily the subject of "death by a thousand papercuts", though I recognize they can lead to that if we're not judicious.
In any case, I won't push my proposal anymore. I just wanted to assert it *was* carefully considered beforehand.
In the spirit of "retrospective on ES6", my own concerns with ES6 are not in the small things (or even in the raw count of features added), but actually in some large things. There were major features (such as `class`) added in ES6 that I continue to have strong reservations about, not just in themselves but in how we're seeing them already in post-ES6 act as magnets for several other feature requests. I'm not trying to re-litigate `class` by any means -- it's a done deal -- but simply pointing out that a large feature like that is, I think, more susceptible to lead to feature bloating than tiny syntax tweaks.
I respect and appreciate the difficult work it takes to make these decisions. I hope the positive spirit of this thread carries over into careful consideration of the other post-ES6 proposals, even and especially the ones that have garnered lots of excitement and are already being talked about as if they're "done", but which may not in the long run be best for JS.
More information about the es-discuss