I still remember it. That "s", that little "s". In the basement of my
childhood home, on an old vanilla computer with one of those monstrous CRT
screens, I stared at that C code for hours, but nothing I did would make it
compile. I barely ate supper that evening, running the code through my head.
The error message made no sense to me. And later that night, when I finally
figured it out; it was so simple. I had capitalized the keyword switch
.
It wasn't the first bug I wrote when I learned to program, but it's the one I remember. Oh how glad I am, fifteen years on, that I didn't give up then.
See, programs never work the first time. Never. Well, there was that one time— no, never. Good programmers are not the ones that get it right the first time—those programmers don't exist—good programmers are the ones that stick with it, and get it right, period.
Two things reminded me of that little bug in my teens. The first is this wonderfully honest article, "Things I Wish Someone Had Told Me When I Was Learning How to Code".
The second is the iPhone app I'm building right now. And for me, that means I'm also learning Objective-C right now. And it can be down right frustrating trying to learn how to do things in Objective-C that would be natural to me in any of a handful of other languages. But what's important is not how many times my Objective-C code fails to compile, or how many times it compiles but doesn't work right. What matters is the one time that it does work, because that's when it's done.
What matters is that I didn't give up fifteen years ago, and I don't give up now.
What matters in programming is just sticking with it.