3 ms·
> Practice was boring, yet learning things like ASCII, how to toggle a PDP-8, Hammurabi, ... Those weren't "practice". I get better at programming as I do it m
by jedsmith 16y ago
> Practice was boring, yet learning things like ASCII, how to toggle a PDP-8, Hammurabi, ... Those weren't "practice".
I get better at programming as I do it more. I think you're correct that individual knowledge points aren't "practice" per se, but practice definitely factors into skill over time. Just like I imagine it does with the guitar.
- jdminhbg 16y agoI think the essential difference is that practicing the guitar involves doing the same thing over and over until you get it right/fast, whereas practicing programming involves doing different things.
- jleyank 16y agoI would think to a guitarist, what we do when programming is "all the same". Just like we think guitar practice is all the same. No, the guitarist would say, there's real differences between flamenco, jazz, prog rock, ... If you support the 10K hours argument, some things are willingly done and others less so. I make coin with programming, yet people pay to see guitarists.
- chopsueyar 16y agoIt is all 1's and 0's.
- Tycho 16y agoGuitarists definitely do engage in some 'mindless' practice where they're essentially just building dexterity/muscle-memory by playing the same thing over and over. I don't think there's anything like that in programming... unless you count trying to get used to emacs key bindings. But obviously some guitar practice is more involved. It's something I think about a lot actually, as when I need a break from programming first thing I do is pick up my guitar. My musical goal is to be able to improvise on the guitar using jazz theory. To do that you need to internalize abstractions like scales/modes and chord progressions. You need to be able to transpose the same abstraction/pattern to different notes (on the most basic level this would just mean sliding further up the neck and using the same shape for fingering), and you need to be able to 'search' your options (some chords can substitute for other chords, which might then allow a whole new path of music) on the fly. In programming you don't need to wrangle all these abstractions in a strictly timed performance, and there's no physical component to the challenge. But still, I often think about the similarities. I guess playing jazz guitar, while complex, can still be kept within a manageable scope of permutations and ultimately 'mastered'. But with programming you can't tame the complexity, you just get good at dodging it.