(This is a little late, and I apologize. I’m going to try to have a weekly post on Tuesdays.)
I was supposed to meet with a few professors to interview them on their work, which would transform into a series of blog posts that were supposed to start this week; that’s going to be delayed until next week (hopefully), since there were a few scheduling mishaps on my end. Next week: quadcopters!
Anyway, this week I wanted to talk about something near and dear to my heart: documentation. Every introductory language course (everything from the 105s to 312) stress the importance of the most basic level of documentation, code commenting. (Printing “hello world” was the first thing I learned in my first CS class; commenting my hello-world program was the second.) Sometimes, it becomes necessary to take another step forward and write meta-documentation. In 314H, we had to write fairly lengthy (7-10 pages was my average) reports for each assignment we turned in. A lot of the crunch time in the days and hours before assignments were due started becoming more and more devoted to commenting my code and finishing my report as opposed to tidying my code.
It was in that vein of documentation that I decided to start writing for this blog. I wanted an opportunity to practice writing, partly because I needed some external force telling me to practice writing every week and partly because it became clear to me that writing started functioning as something of a stress release. Every blog post I’ve written so far was written during a break from a particularly difficult homework, or a long stretch of studying. (In fact, I’m writing this as a break from learning about floating points for my 429H test tomorrow…)
My point is this: I think everyone could benefit from writing. I tried the once-a-day writing challenge (250-500 words a day for a month) and got four days in before I forgot or was too busy, but every day I actually took the time to write those 500 words I invariably felt just slightly more at peace with the rest of the world than I did on the days when I forgot. I think the time it took away from more stressful activities like studying or coding was a huge factor in making me feel more calm, but I also think it helped to be a little bit introspective each day—to take the time to sit and write a little bit about something that happened that day, or something I thought about, or something I was bothered by.
It’s good practice to comment your code for two reasons. The most important reason is so that other people can understand your code. The second reason, which is slightly more subtle, is so that you force yourself to derive some meaning from what you’ve written. (It’s one thing to see that a solution to a bit puzzle works; it’s another thing to understand fully what each line did to get closer to the goal.) While introspective writing can often have the more ostentatious purpose of providing some commentary on your life for other people to read and gain some understanding from, I think it’s far more important that it achieves the goal of providing some justification for everything that’s happened to you—especially the stuff you don’t understand.