bk99.de entertain the web since 1997

You cannot learn programming in 21 days

Summary

Peter Norvig explains why good programmers develop over years through practice, feedback, reading and different paradigms. Norvig recommends about ten years of serious practice. The essay refers to research on long-term skill acquisition.

Ideas

  • Mastering complex skills requires long-term deliberate practice.
  • Your own projects connect abstract concepts with real bugs and decisions.
  • Other people's source code shows solutions outside your own habits.
  • Several programming languages convey different models of data and control.
  • Collaboration provides feedback that isolated practice does not produce.
  • Fundamentals of algorithms, systems and mathematics remain useful across technologies.

Insights

  • Quick tutorials provide an entry point but no reliable judgement.
  • A variety of failure cases shapes experience more than repeated success patterns.
  • Languages are tools for thinking, not merely interchangeable syntax.
  • Good education combines theory, practice, observation and explanation.

Facts

  • Norvig recommends at least one language with class abstraction.
  • Functional, logic and concurrent models are also explicitly recommended.

Recommendations

  • Regularly build small systems outside your familiar technology.
  • Read high-quality source code and explain the decisions you find in writing.
  • Work with more experienced developers on verifiable results.

References

Read the original article

Search the Web Archive