The interesting thing here is: why do big companies don't need to keep their talents? Does bureaucracy compensate for lack of talent? And vice versa? Does this also mean that you can innovate without talent?
I was deliberately excluding the constructor situation. I should have made that clearer in my previous comment. I think the way out of the constructor mess is not to require them at all.
I do think the Object.getPrototypeOf approach is feasible for methods.
Beyond the need for calling the constructor (which I'm currently viewing it as an unnecessary hidrance [objects are already initialized]), Object.getPrototypeOf may provide a way out - but maybe not the way you intended. Have you considered it?
Well, I have to argue that it's not the same pattern. I think the problem
is that you still like to believe that js has classes, which it doesn't: js
has got objects only. That it also has constructor is an (admitted?)
historical mistake. Just think of all the weird crap that goes on to make
`new func()' work and produce a new object.
What is no mistake is the refreshing change of view you get when you
start embracing objects and prototypal inheritance. See for example the
traits library[1, 2].
[3]: Is a cursory introduction to Self, with another points example :)
[4] Contains an example of my own (heavily inspired by Self and Io). I have stitched together various internet
sources to come up with `clone', an operator assisting in differential
inheritance.
I don't see how Object.create goes against the grain of the lang. On the contrary, `new' was bolt on to make js look like classical oo languages. I have found, in toy and exploratory projects at least, that using variations on Object.create [1] is a nice, strong pattern, that really gets the best out of js. It certainly feels more natural than class based oo. Though, take it with a grain of salt, since I'm unable for now to provide an example backing my thesis :)
Well, i'm not sure about that. Aren't we expected to be professionals and act like ones on any given job? Should we just eschew Knuth and express ourselves? Don't think so.
OTOH, it seems like something is clearly wrong here since, we are having a tough time being professional and working with the current crop of languages, tools, technologies, etc and in the same time, fully expressing our vision while enjoining our work.
It's my understanding that JSqueak was (is?) just a toy. OTOH, redline aims to be a full blown implementation of smalltalk that integrates with the jvm like jruby, scala, clojure, etc do. As you can see from the github repo, it's still pretty much a work in progress (plus a learning tutorial for interpreters/compilers).