I was in Douglas Crockford’s JavaScript talk at The Ajax Experience and he said something that resonated a lot.
As a youthful journeyman programmer he used to learn every feature of a language/platform and tried to use everyone on a daily basis.
Now he has a subset of features that he relies on, and he sticks to those.
I have found myself doing the same thing. It makes learning new languages and platforms a lot easier too, as I do not feel the pressure to learn every nuance on day one.
Did I really need to learn about “class <<self;” on day one of Rubyland to be productive in Ruby? No.
I think it is important to learn how to work in a given language, and it isn’t that you should get stuck in your ways and try to write JavaScript as though it is Java (the opposite to what Douglas wants).
Learn the ways, do not feel the pressure to learn every library and feature, and get really good at your subset.
October 27th, 2006 at 4:27 am
I’m with you on this one.. Once you’ve got your toolkit of developer stuff and can do everything you need the rest is just fluff really.
Take java and the “new” (ish) language features: are they really necessary?
Meh.. Not really, survived X years and Y projects without ‘em.
I guess this could be holding back programming as a whole as you have a mass of developers that depend on a mass of things (language features, APIs, libraries etc) and who insist a new one have all those things before it is as good as the old one..
So to that end you have C/C++ people wanting stuff in java and c#, and if everything was accomodated for you’d have a massive bloat in syntax/APIs etc.
Take the axe to some of this extra rubbish I say!
November 21st, 2006 at 10:17 am
Just to be clear: I am not advocating ignorance. Lordy, there is already way too much of that in the Ajax world, and on the web in general. I am strongly in favor of people knowing what they’re doing.
Buried deep inside of JavaScript is a beautiful little language. It is what is left after stripping away all of the design errors and weak inspirations.
When I teach JavaScript, I include the bad features, so that by contrast students can recognize the good ones.