600hr Update: Learning Programming
As I was preparing the 600 hour update video for my learning to program project, I was looking for ways to contextualized that abstract block of time — what else takes 600hrs. Well, it turns out there’s a rule of thumb for learning a spoken language that says becoming fluent takes roughly 600 hours.
I've not learned a spoken language outside of school but programming feels surprisingly like one. Reading a page of code feels a lot like reading a page of a book of your non-native language. Even more so with the more modern "expressive" languages like Swift, which I’m learning.
As you progress learning programming, you have experiences surprisingly similar to those of human languages. For example, early on you can read a page and get the essence of it but miss the nuance. And as you get better, you can skim across a page for a particular idea you’re looking for, not really reading but still taking in what’s there.
Learning spoken language, I would say, is still harder than a programming one though, or at least takes longer in calendar days. With a programming language you can practice any time because all you need is a computer — the computer is your speaking partner. With a spoken language, you need a real person which is harder to come by if you’re among native speakers.
I wouldn't say I'm fluent in Swift yet. The computer still complains and ignores me a lot, but I can certainly hold my own in many situations. Seems there is some truth to this rule of thumb.