Friday, February 21, 2025

Theory and Practice

Implementing code that works but that you don't completely understand is like finding a new chord that you don't know the name of yet. You have an intuition that it's a pleasant chord -- it works, for sure -- but you lack the ability to fully articulate or describe why it works. In a moment such as that, it's good to pause and consult the literature until you can fully articulate it.

There's a subtle, incredible abyss between implementing a thing and understanding a thing. If you find a way to do something but you move forward without fully understanding why it works, the only thing you can carry forward is a misunderstanding about it. It's usefulness remains only a happy accident.

Happy accidents are ok. They're sometimes useful if they're stepping stones on the way to greater learning.

Practicing music is a lot like that. But I think repetition can be a double edged sword. For example, if you make a mistake while rehearsing -- yet you don't stop and correct it -- and instead just continue playing, you won't actually improve your understanding or ability to play the piece. Instead, you'll just get very good at making the mistake.

No comments:

Post a Comment