Welcome Loop Writers

My favorite Einstein quote is as follows, “insanity is making the same mistakes and expecting different results”. This always makes me laugh because I think about all the loops (and other repetitive logic bits) I have incorrectly written during my programming journey (let’s not even think about the recursive errors), where I was basically making a mistake once and then running it approximately 100 times (depending on the size of the loop, let’s call it n). Does that count as insanity x 100? And then I’ll make the mistake another n times because I’ll execute the program again (without changing anything) and hope that it will magically work. Sadly this has never changed anything.

But perhaps my favorite part about the quote is that it makes me think about the learning process. How many times do we need to repetitively do something (and get undesirable results from that repetitive action), before we can hammer it in to our thick skulls not to do that thing? 5 times? 10 times? And, often when we get an undesirable result (which we assume is from a mistake), how do we know what is causing it? We might change hundreds of small things in our process, but if we do not change that one action that is causing the undesirable result, well then we’re still making the mistake 100 times. I really think that the journey from the illiterate programmer to the, well, journeyman, might make some question their sanity, or at least their appetite for repetition.

This blog – written during the final course of my undergraduate journey toward a CS degree – will be a series of observations about the experience of becoming a programmer, navigating the convoluted and possibly repetitive journey to become competent in our craft. I intend this for other journeyman programmers, other writers of loops, as we learn from our mistakes and venture toward the next step in our careers. Thanks for reading!

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *