…you write programs to do things that would have been quicker to do by hand. For my digital engineering lab, I decided it would be easier for me to reformat the test strings for my circuit using UNIX command-line programs instead of just monotonously reformatting by hand (there were 21 lines to change).
At one point in this exercise, I realized that I wanted to add two hexadecimal (base 16) numbers, and I decided that I was making mistakes doing it by hand. So I wrote a program that takes in two hex numbers, and outputs their sum (in hex). We’re talking about adding 2+8 to get 10 (which is “A” in hex), nothing fancy. Anyway, so I write this, and then I have to write a second program to concatenate the now-separated lines that need to be together for the program.
Total time spent writing and debugging all my commands, probably 20 minutes. Time to do it by hand, maybe 2 minutes. But, if you give me a 10,000 line test vector, I’m already done. Go do that one by hand, is what I say. Of course, since you’re not expected to have this kind of programming expertise, that wouldn’t happen in this class. But you get my point. And I had fun.


October 2, 2006
Well, not following completely, but I get the impression that doing it the computer-nerd way offered two benefits: (1)Being sure that you caught everything that needed changing, and (2)getting useful practice in programming (can’t get enough practice, even if you’re good).
Anyway, my new perspective is: When one does something and enjoys it, it’s because a benefit has been provided in some way. Because if there weren’t, then one wouldn’t have been engaged, and wouldn’t have enjoyed it; rather one would have been bored. Therefore, enjoyment is the proof of a worthwhile endeavor. (As though pleasure alone isn’t enough of a reason)