A Neophyte’s Musings about Code

From Maze

Jump to: navigation, search

A Neophyte’s Musings About Code – a section I may end up writing more as an invitation to prospective readers who don't read or write code either.

The word code can mean several things. According to one Wikipedia entry, “machine code” refers to a sequence of instructions to a processor unit, and “source code” to a “sequence of statements and/or declarations written in some human-readable (usually as text) computer programming language.” There are a variety of linguistic/semiotic meanings of the word code as well. And then there is the cryptographic meaning of code as in “code breaker” and even “secret code.”

Based on these definitions, it appears that “10 PRINT CHR$(109+RND(1)*2); : GOTO 10” is source code—or maybe it’s a “sequence” of instructions, albeit a small one, to a processor unit. I am a beginner. Run this single line of BASIC (= Beginner’s All-purpose Symbolic Instruction Code) on a Commodore 64, and it yields, as the manual says, a maze, an unidentifiable (random?) pattern of what looks like front and back slashes against a background of another color. It does, indeed, look “human-readable” – sort of: it’s not a string of ones and zeros, not Morse code, not the sort of gibberish cryptographic algorithms might yield.

Trying to read the statement, all I seem to be able conclude with any confidence is that this line of code begins and ends with the same number, 10; but I don’t know the meaning of 10 or its role without expert intervention. I, who have never read nor written code, can read “10,” “print,” “CHAR” (I imagine: character; though the possibility of “BURN” will compel me to read this line later as a line of poetry—a single-line, hermetic poem in English), “go to”, “10,” but the numbers are sufficiently abstract as to be meaningless to me and the punctuation and the spacing outright surprising and foreign. Indeed, the parentheses don’t seem to offer the limiting gesture I am accustomed to; the “+” doesn’t look like any of the math I was once very familiar with: it looks here as though we’re adding apples and oranges; the “*” does not refer me to any sort of footnote; and the punctuation would need copy-editing were this in fact an English sentence.

I am quite in the dark: the feeling is akin to trying to read legal code or, sometimes, the IRS code. I feel like I ought to get it, but I don’t, and I won’t. Mastery of the English language is woefully insufficient to make sense of this line unless I read it as poetry. It may look like English, but it’s not, so reading it as poetry is, well, practically unfair to the tradition of English poetry.

So why bother trying to understand this line of code? I am a part of this project because I believe that, while code runs so many of our machines and, by extension, so many of our activities, directly and indirectly – we don’t know enough about code. I believe that there are ways (albeit imperfect ways) to understand the French without speaking French – all the while acknowledging that your interpretation on francophone life would be all the richer if you did speak French.

I want to propose that reading code and understanding code are, perhaps, distinguishable. Although I can’t read code – i.e. I can’t articulate what this 10-print instruction is meant to convey or do --, I can begin to ask how it works, who works it, how it survives or dies, what aesthetics it draws upon or rejects. I can also interpret its output, which the manual describes as a “maze.”

Indeed, I must begin to ask these questions, I must begin to look under the hood of the computers that drive our appliances, gadgets, diagnostic tools, and entire industries; our transportation and our communications; and, increasingly, our creative acts and processes. Those who write code inevitably and understandably make decisions for the rest of us all the time: they create conventions and set standards for us all. I am not arguing that we should all become writers of code, but we should be aware of the dynamics that writing code engenders, whether you are among those who can read code or not. To become aware of those dynamics, to grasp the stakes of the world today, approaching code from non-technical perspectives proves valuable. Especially valuable is the dialog among those who can and those who can’t write, read, and change code.

[I will want to write into this section the many ways one can “read” this line without understanding it. I need each of you to send me an audio “reading” of the line – please – I only got one response when I emailed this request. Etc…]

Personal tools