by Scott Smith
I have been struggling with programming languages. I really don’t want to program — yeah, that could be a problem. The outcome is what I want, to see the end-product make it from my brain to the screen.
For reasons I can’t talk about, I am forced to learn a programming language. Not just hack at some code, but really learn it so I can create something. This brings me today’s lesson: How do you learn?
Memorization is an issue for me. I can recite Joe Rudi’s stat’s from his playing days with the Angels, but can’t recall definitions of methods and arguments, not to mention when to use who and whom. This has always been an issue for me. One of the reasons this English major tried to ingest the language’s rules.
Do you know what I mean?
You read the best writers and you start to see the difference between sentiment and sentimentality. And the difference between descriptive writing and purple prose. I would struggle to explain to Madel why throwing a half-dozen modifiers in front of noun is a bad idea, I just know it is. Good teachers like McNally and Russo know this stuff, live this stuff and can teach this stuff. I can not.
Let me bring it back to geek things: How is it that I could pass every Microsoft SysAdmin exam on the first shot? Towards the end of my certification process, I studied a tenth as much as I did in the beginning. Microsoft server software made sense to me at some point — that was NT4 and Windows 2000 Server days.
I know it wasn’t the exam I mastered because Microsoft at that time was constantly changing the format. There was little similar between the Windows XP exam and IIS exam in terms of format or process — IIS exam used an adaptive algorithm, meaning the next question depended on getting the current question right and how difficult the question was.
At the time, I think I understood Microsoft server software on a different level. I never could tell you some upper-limit of AD objects or the like. Didn’t matter to me in my former position. It also required some sort of memorization. To my brain, Joe Rudi’s batting average and Frank Tanana’s ERA are important facts to memorize.
To fight my forgetfulness, I have turned to flashcard software (I’m using Mnemosyne). After a week, I can honestly say Ruby’s programming terms have not permeated my brain. Part of this is not doing what I have learned. The terms as applied to Ruby get jumbled and a class becomes a method and an argument… well, you get the idea.
Context is important. Doing is important. Only, when you’re first starting out, how do you make things coalesce in your brain? With the Microsoft stuff, I was taking the exams and working as a system’s administrator. For 40+ hours a week, I lived inside of server and workstation software.
Of course it isn’t programming that’s the problem, it is the learning method, understanding how you learn. I’d love to hear how y’all handle the new.