Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In my experience, those rote mental muscles mean that the basics are never slowing you down when tackling a harder problem. It's comparable to having a perfectly organized toolbox vs a mess of tools in your shed - you can do the same things, but you're free to focus on the core of the current task instead of distractions in the trivial parts.


This is precisely it. I have a math-heavy job and play/write music, and the same phenomenon plays out in both situations: when reading sheet music or thinking in music theory is in your muscle memory, your entire conscious mind can focus on the actual, creative task at hand.

This should be obvious from any number of examples, from driving a car to typing as a programmer. Reducing the friction between your brain and your tools simply makes you more effective.


It's very interesting because in the examples you described (music and programming at least), I sometimes feel limited by the tools I know.

I studied music theory for about 5 years more than 10 years ago and remember some of it. I like to compose music and sometimes like you said I'm really losing a lot of time/energy because I don't master the basics. Yet some other times, I don't even think about music theory and let my inspiration go - and it's often better quality.

I find this effect to be true in programming as well. I find myself restricted by the frameworks I know and sometimes my mind can't think outside of it.


Yes, we can easily experience this by writing code in an unfamiliar programming language, or playing tennis left-handed. The theory is all there, but the muscle memory is missing.


This might be controversial but this is why I like Python a lot. It just allows me to think about the problem without wrangling with syntax.


I really dislike dealing with large engineering systems in Python, but I fully agree when I just need to solve a self-contained problem and don't need to worry as much about it being maintainable or readable (or more accurately, don't need to worry about interacting with Python code that other people have written). I currently work a lot with both Python and C++, and I find myself occasionally trying to write C++ Pythonically and it's a huge headache (eg map/filter or list comprehensions are infinitely more readable than stuff like std::transform).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: