Monday, July 7, 2014

Computer programming and writing

For the past few weeks, I've been mainlining computer programming courses--taking a Coursera class in Python, a Code Academy class in Ruby, and a few (many) other classes. (I also watched a bunch of lectures on programming for iOS for the immediate goal of making a card counting trainer in time for my girlfriend's trip to Las Vegas--and succeeded!)

The downside of this flurry of activity is that many of my older hobbies and interests have suffered. In particular, I haven't had as much time to write. But I've spent so much time listening to writers and thinking about writing that it's hard to get away from some of the ideas on how to write best. And--surprise surprise--I've noticed a lot of overlap between the two types of work.

For instance, there is the distance between the work in your mind--perfect and elegant and powerful--and the work as it actually starts off, which is usually cramped and clumsy and probably ineffective. In both cases, the writer/programmer has to allow for failure in their process: the computer prototyping process (says the teacher of this Human-Computer Interaction course) should be quick and full of failure--and that's probably the same advice I would give to many a beginning writer. Don't be Professor Seagull, constantly writing and rewriting the same small thing over and over, whether it's code or narrative.

On the other hand, whether you're writing code or writing a story, you may not want to be satisfied with your first version. Your story probably needs revising; and your code could probably use some re-factoring. The first time you write something, it probably won't work perfectly; the second time, it might work, but not do the things you want it to do; the third time, you might want to make sure it not only works, but works elegantly. Curiously, in both writing and coding, a lot of revision is thinking about better ways to say the same thing; and what words you can do without.

There are some other overlaps, but those are the salient pieces of advice that are easily transferred between the two fields.

Oh, another lesson: be careful with your punctuation!

No comments:

Post a Comment