4.29.2004

multi-lingual.

So this writing thing I do, I would probably call it more than just a hobby. It's important to me, and eventually I'd like to pursue it to a more professional level. And that's why I'm majoring in Computer Science.

Okay, not really.

But I'm not a sellout. I know I'm supposed to be living the good life, working all day waiting tables to come home to my mildewed apartment in a poverty-stricken neighborhood and write all night long because I'm just that inspired. I'm not supposed to have a real job, particularly one that would put me anywhere near that awful middle class. I'm supposed to sacrifice the comforts of a decent paycheck for doing what I love.

Here's the thing. I love computer science.

I can't help that what I love can also be pretty lucrative. I can't help it that there are a million computer scientists out there. Let me tell you, there are a million writers out there, too. And just like the writers, not all of those million computer scientists are good at what they do.

This evening I will be submitting the finished product of four months of work, the most dreaded project of the CS program here at ASU: SPECI (pronounced speck-ee). It's a simulator of the PDP-11, a computer from the stone age that reads programs written in base-8 numbers. And for four months, Ashley and I have labored over this project, trying to make something that will read PDP-11 programs and give back the appropriate output. And that is exactly what it does. It's a beautiful thing.

Let me try to explain the appeal of coding to you. Do you like algebra? No, of course not, otherwise you would understand without me having to explain. Do you like jigsaw puzzles? I love them. I love working on something, taking a whole bunch of pieces that mean nothing right now and turning them into something really cool. That's computer science to me. I attack a problem with my coding language and all the little tricks I've learned, my jigsaw pieces, and I put them together in some way to make something that works, something useful.

It's really not all that different from writing. Code can be eloquent and pithy and clever in all the ways writing can. Good writers get their point across in one statement instead of six. Good programmers do too. Good writers know when to use a metaphor and when to go for a simile. Good programmers know when to use a stack and when an array would be better. C++ and Java and Perl and all the rest are called languages for a reason.

I'm probably not convincing anyone that Computer Science is anything like literature or that software constitutes as art. Persuasive writing has never been my strong point. But that's okay.

I write excellent code.

No comments: