Teach Yourself Programming in Ten Years

By Deane Barker on April 11, 2006

Teach Yourself Programming in Ten Years: Apparently I’ve learned nothing in nine years. Next year should be wickedly productive.

Researchers (Hayes, Bloom) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music.

Here’s my recipe for programming success: […]

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).