How Creative Writing Helped Me Fall In Love With Computer Science
There are two places where punctuation can be earth-shattering: in poetry and in code. When I mention that I majored in English and minored in Computer Science, people are either surprised or relieved. "That was smart of you," they say. But my decision to minor in Computer Science wasn't a fallback plan. I simply fell in love with coding.
There is a widespread misconception that in order to program, you've got to be great at math. But, on day one of your programming class, you'll realize that coding is much more about learning a language. After all, we call Python, HTML, Java, C++, Ruby, etc. languages, and you learn the rules of each the same way you learn the rules of grammar. Many programming languages are actually rooted in English.
Take this classic piece of Python code:
print ("Hello World")
First of all, notice the lack of numbers? This program, when enacted, displays the words "Hello World." We can break down this line like we would an English sentence. The word "print" is a function, which acts like a command, meaning "display." The parentheses mean that everything within them is what should be displayed. The quotation marks indicate that the computer should be looking for text. Or, another way of putting that — for you English grammar nerds — is that "print" is the verb and "Hello World" is the direct object upon which "print" is acting.
As with grammar, all of these pieces have to be used in just the right way in order to work. Just like how the sentence "Rachel Ray finds inspiration in cooking her family and her dog." requires the addition of commas to be effective (i.e. "Rachel Ray finds inspiration in cooking, her family, and her dog."), the ability for code to work often comes right down to the punctuation. I spent my college days scouring my code for missing parentheses and colons, before moving on to edit my writing assignments in exactly the same way. For both editing and debugging code, you need the same attention to detail, the same appreciation for how pieces of language ought to fit together.
The similarities reach even further when you look at poetry. Just like in poetry, the placement of punctuation, line breaks, capitalization, and indentation make an enormous impact. You're using the same tools to craft a poem as you are to write a program.
But the draw to computer science, for me, was much more than a love for grammar. (Though, I do love grammar.) When I finish a program, I feel the same wave of accomplishment as when I've written a poem or a short story. They're both created in the same way. You start out with an idea or maybe an outline. You work tirelessly to put down the right words and use the right structure to achieve your effect. You try things out, you have bursts of inspiration along the way. And once you get the piece or the program to the point that you like, you've got that feeling of ultimate satisfaction. You've created something out of nothing. You can do anything.
Right now, arts programs are fighting for their lives. While I firmly believe that the arts are necessary and important in their own right, you also cannot deny that they have an enormous impact on the other areas of education. I loved learning how to code, but had I not had a firm liberal and fine arts education under my feet, I would have been floundering.
And the flip-side is this: all of you creative writers and liberal arts scholars who don't think you have what it takes to learn how to program, think again. Try a Codecademy course and see for yourself. The gap between tech and the arts is not as wide as you would think. In fact, they're entirely intertwined. Once we embrace this fact, the creative possibilities are endless.