Re:The camel has two humps. A test for programming aptitude.
by pmjordan on Thursday June 12, 2008 @07:07AM
(#215829)
Yep, I think the step of writing everything out without loops, coming to the realisation that you're duplicating a ton of code, and figuring out loops, is a crucial one. I only vaguely remember taking it when I was about 10, but I'm pretty sure I did exactly the same thing as you.
I had a similar transition of just writing all my code in one big block for a while, versus factoring stuff out into functions. And then putting stuff into data structures rather than primitive variables and arrays. Then, fully understanding the stack. And pointers.
Oddly enough I never had any trouble with recursion, although I have to say I probably encountered it somewhat later than iteration, at which point I was already very comfortable with the basics. (I only had access to very basic programming books and tools early on - internet? forget it) I guess I had the freedom of having no direction whatsoever and learning this stuff really slowly, something you don't have when taking a course at university. The optimal path is somewhere in between, for sure. I've done a fair bit of un-learning.
I wonder if this is harder today - the temptation of copy & paste coding is there. I've never been especially fast at typing, so typing more than a couple of lines from a book was probably harder than figuring out how the code in the book worked and how to adapt it without much trial and error. Cue comment from someone who learned to program with punch cards. (or twiddling switches...in the freezing cold...at the top of a mountain)
I had a similar transition of just writing all my code in one big block for a while, versus factoring stuff out into functions. And then putting stuff into data structures rather than primitive variables and arrays. Then, fully understanding the stack. And pointers.
Oddly enough I never had any trouble with recursion, although I have to say I probably encountered it somewhat later than iteration, at which point I was already very comfortable with the basics. (I only had access to very basic programming books and tools early on - internet? forget it) I guess I had the freedom of having no direction whatsoever and learning this stuff really slowly, something you don't have when taking a course at university. The optimal path is somewhere in between, for sure. I've done a fair bit of un-learning.
I wonder if this is harder today - the temptation of copy & paste coding is there. I've never been especially fast at typing, so typing more than a couple of lines from a book was probably harder than figuring out how the code in the book worked and how to adapt it without much trial and error. Cue comment from someone who learned to program with punch cards. (or twiddling switches...in the freezing cold...at the top of a mountain)