How long did it take you to reach your "ah-ha" moment when you first learned how to program? And how/what did you get to that point?
P.S. Would love to hear some exercises you did to apply what you were learning.
1–10 of 28 posts
How long did it take you to reach your "ah-ha" moment when you first learned how to program? And how/what did you get to that point?
P.S. Would love to hear some exercises you did to apply what you were learning.
For the next few years, I played around with C+4 basic, didn't do anything serious. But in 1991, we got our first PC, and I tried to port the stuff I wrote on the C+4 to gwbasic, and later QBasic, but didn't succeed. So I dropped basic, and tried Turbo Pascal. That was my second ah-ha moment, when I discovered its help.
By 1998, I was reasonably fluent in Pascal and 386 assembly, but then my harddrive crashed, and I lost everything I wrote and collected since '91. That's when I installed Linux, and started to poke around with Perl (we had internet at school, and it was full of perl scripts. I choose perl because that's what I found the most resources for), and I discovered regular expressions: third ah-ha moment.
The fourth ah-ha moment was when I started to play with esoteric languages, which in turn resulted in learning a couple of other, real and interesting languages aswell. And then I realised that hey, I can program! And I don't care what the language is, once I knew a few, I could very easily learn another!
That moment was when it dawned on me, that programming is something much deeper, and something much more than simply writing code in one's language of choice.
And then I found the "Learn You a Haskell for Great Good" book, and when I finished it, I was enlightened.
You can self teach yourself alot by learning as you go, but until I took the time to specifically study data structures I hadn't made it over the hump, my 'ah-ha' moment so to speak.
Then I learned Pascal, in high school, and learned basic things like procedures and local variables. With that, I learned that you should never have to do anything more than once. Everything I subsequently learned was basically technique for following this rule.
Second one was when I realized that there are a shitton of libraries for doing things. Until then I just didn't realize it, I don't know why. Once this happened I just understood the beauty of abstraction, toolage, and code reuse.
The final one is when I realized that my code is only awesome if my co-worker can take it over 100% and not hit me with a baseball bat. Funny story, good lesson.
I suspect that this is the most important learning moment - what is it in programming that excites you? (probably won't be this article :)