6 ms·
I think Hickey is referring to more of an abstract "level up", while Norvig is talking about a general accrual of specific skills. Think how all programming la
by bsima 12y ago
I think Hickey is referring to more of an abstract "level up", while Norvig is talking about a general accrual of specific skills.
Think how all programming languages can be reduced to lambda calculus or Turing machines. And think how design patterns and algorithms can exist across all programming paradigms. If you can master design patterns and algorithms in one general-purpose language, then to pick up other languages you just need to learn the syntax and idioms of that language.
On the other hand, a quick way to expose yourself to different programming concepts is to take a crash course in very different languages, as Norvig suggests. The risk with this method is that you never attain mastery in any one thing ("jack of all trades, master of none", s/trades/programming languages/)
I think Hickey is right in this one, but fundamentally they are talking about two different things. Hickey is talking about mastery, while Norvig is talking about "programming success" ("success" is word with a slippery definition, but to be "successful" definitely does not require one to be a "master")