Appart from a couple of inaccuracies, this is a good translation of Teach Yourself Programming in Ten Years by Peter Norvig. That a document which starts with the question Why is everyone in such a rush? was translated into Korean – and the link to that translation is at the top of the list… – is definitely amusing, since we know the maladive penchant our [ex-]hosts have for speed over accuracy. If you’re learning Korean, it’s a good sample to work from.
Learn at least a half dozen programming languages. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal).
Hmmph. I guess that list could use some upgrading, since the hype languages of the 21st Century are mostly not in there, and at least one language quoted here [Icon] is not developed any longer – which is a shame, I like Icon… As for Prolog, was it ever alive?
Python will match a few categories here, my favorite, RB, too, Erlang will cover a lot of ground for you here – not that I am conversant [yet!] in Erlang, but I’m learning! – and while C may come up short, most of these languages were/are written in C. Of course, if you aim to achieve stable and well-performing concurrent programming in C, you’ll end up with Erlang, as they say…
I don’t think I’ll ever wrap my head around Lisp/Scheme – not that I didn’t try… – and I find Java and C++ repulsive and offending, but it’s probably just a matter of taste and education [or lack thereof…?].
But in the end, be it computer languages or human ones, 10 years is a minimum. Practice makes good, and education alone won’t take you very far [case in point: the profs I had at the Uni. You could tell those who had practiced their language skills and those who had kept their knowledge at the academic level…].
Anyway, this is an attempt at tagging…