4 ms·
"Fixed" is so often an opinion. CS makes scoping assumptions for you, because it wants to avoid syntactic clutter like "var. Maybe you'd like a different defau
by verseda 12y ago
"Fixed" is so often an opinion.
CS makes scoping assumptions for you, because it wants to avoid syntactic clutter like "var. Maybe you'd like a different default assumption. Maybe you'd prefer to add in scoping keywords/sigils. These issues are full of tradeoffs.
The worst thing that can happen, though, is for there to be two nearly identical implementations, differing only by their subtle treatment of scope. If you think it's a showstopper now, imagine a world where your code silently manifests a variable binding security hole because you used a different fork of CoffeeScript.
- jay_kyburz 12y agoSure, "fixed" suggests that, in my opinion, the default scoping decision was wrong and I would like to work with something different. My question was not whether or not you agree with me.
- verseda 12y agoAlright, I'll answer the question then. It's probably quite easy to implement technically. It's probably much harder to come up with a logical, coherent, and consistent model of how it "should" work in all ofthe corner cases. It's probably extremely difficult to accomplish socially (nobody will use the fork, and nobody will want to touch code that works on the assumption you're running the fork). Finally, it's probably actively damaging to the community as a whole to even attempt to fork over a relatively minor, ambiguous and, and opinionated like this, and I hope nobody tries it.
- jay_kyburz 12y agoThanks Verseda, If I did take this on as a side project I would have no interest in making popular or having other developers use it. It would be for my internal projects. There are a number of other things I would do to make the language more explicit. I'm a Python guy not a Ruby guy.
- deleted 12y ago[deleted]