An observation: JavaScript and Java are arguing over adding complementary features.
An observation: JavaScript and Java are arguing over adding complementary features.
The rest of the post says that because a committee has been arguing for 10 years, we're overdue for just adding something. That hardly follows. Sometimes adding "something" for the sake of it fucks things up. First do no harm?
Personally I'm glad that "luddites" have blocked these attempts to "fix" arguably the most important language in the world by making it be more like Java. As the OP points out, while the committee has been arguing, "JS has gone from being important to being critical to the construction of large systems", i.e. succeeding massively.
(Not that I don't empathize with how frustrating it must be to have a committee block what you think are all the good ideas.)
I'm the author of the original post.
There seems to be some serious (willful?) misunderstanding here about what is being proposed. Instead of adding something foreign, the class syntax that we've nearly got settled is sugar for what we usually write in JS, albiet under a dozen or so different patterns and library conventions. See: http://infrequently.org/2011/09/why-class-doesnt-mean-what-y...
I'm also not suggesting that length of debate necessitates action. The near-consensus on the committee for adding classes isn't my doing; I'm merely arguing that it's worth doing a smaller thing and debating what extensions to make in due time. And if you look at what's being added (again, I'm not sure you have a grasp on it in any way), it's clear that we are doing no harm with Max/Min classes.
Invoking Java to describe what's being proposed is purely a slur. Indeed, the arguments which I'm attempting to talk down are the ones which would drag a class proposal more towards Java (not less).
What's frustrating, in the end, is to see someone so obviously smart making such spurious arguments. Please read up before engaging further: http://wiki.ecmascript.org/doku.php?id=strawman:maximally_mi...
Regards
By "more like Java" I just meant adding classes at all. I'm uninterested in that way of programming - not out of ignorance, I did it for years and I think it's a gigantic cargo cult. That JS somehow escaped it is, in my view, a small miracle. That we have JS at all is a miracle. For all its flaws, it's a small, hackable, dynamic language that retained enough magic from its Lisp/Self inspirations to spawn a new galaxy of creativity. I don't believe that if it had been done more "properly" we'd be better off today. Great inventions often live on the improper side of the proper/improper divide. JS succeeded on the web while its "proper" cousin, the one designed for "programming in the large", the one organized around "good" practices (including classes), failed. I think that fact is deep and mysterious and the most important thing is not to mess with it.
So while you say it's clear that you'd be doing no harm, that's far from clear to me. I read the links you provided and still think that.
But I acknowledge there are degrees here, and if you're mostly trying to prevent JS from turning into Java, thanks. I confess, though, that when you say the near consensus, my sympathies immediately leap to whoever the holdout is :)
Not trying to persuade you; just trying to unpack what I said enough to not seem thoughtlessly rude.
And Smalltalk, Simula, C++, Ada, Common Lisp, Objective-C, Delphi, Visual BASIC, C#, Dylan, PHP, Python, Ruby, ActionScript, Scala, OCaml, F#, and CoffeeScript.