I recently picked up Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (3rd Edition) by Zed Shaw. Shaw’s approach to teaching you Python is to have you set up your computer to program in Python, then have you type in program after program and see what it does with a bit of guidance along the way. Says he:
At first, you will not understand anything. It’ll be weird, just like with learning any human language. You will struggle with words, and not know what symbols are what, and it’ll all be very confusing. Then one day BANG your brain will snap and you will suddenly “get it”.
One of the things he emphasizes is the value of making mistakes, typing in code wrong and having to debug it so that you can get a clear idea what is and isn’t important in making the program run, and making sure you really understand what you’re supposed to be typing. What’s striking though is that phrase, “just like any human language,” and joined up with the idea of “BANG“. It puts me in mind of my first time in France, where for two weeks, I knew all the rules and seemed to make sentences okay but then, one day, I was suddenly speaking French without thought or effort because I’d just done it enough that that was how my brain worked.
I recently did something similar to this with Sumerian, working through each passage in Hayes’ A Manual of Sumerian Grammar and Texts and copying it down. A lot of the passages were like this:
For God So-and-so/His lord/King So-and-So/King of Certain lands/Built this temple/rampart.
Phrases like “nitah kalaga, lugal Urimak, lugal Kiengi Kiurik” (Strongman, King of Ur, King of Sumer and Akkadia) get pretty ingrained in the memory after you’ve been doing this for a while. In a sense, the key may be “varied repetition”. That is, if you repeat or write the same phrase over and over, it becomes a mantra and becomes too automatic. But if you repeat or write a variety of sentences – be they inscriptions or lines of code – that often contain the same elements, then what you get familiar with is mixing and matching those elements.
I should mention why the author says his book teaches “the hard way.” He makes the point that we often look for an easy way, but that what is easily understood doesn’t necessarily stick. So for him, the hard way – exposing yourself, over and over, to what you need to know until it sinks in, is actually the easy way in the long run. Just so, you can learn a language quickly, but only if you are putting everything you learn to use by really speaking and/or reading and writing so that your newly found knowledge has time to become a part of your thinking.