Distant Reading

Like many of you, I, too, am excited for today’s workshop and I’m interested to see how we can make use of the data we’ve gathered–well, we’ve asked JSTOR to gather for us, I guess. I’ve been interested in distant reading for a while now, and I’m excited to see how we can make use of it.

I suppose I should start by mentioning that I decided to do a query on something somewhat unrelated to this class. Perhaps I might have found more interesting patterns if I’d run a search for “social media” and “computation” and “literacy,” or something to that effect which would more closely relate to my final project. However, I’m working independently on the way the conventions of the novel construct the subject and how queer literature resists or complicates that construction. Anyway, I thought it would be interesting to see how “queer” and “subjectivity” related to each other, so those are the primary key terms in my search. In retrospect, I probably should have chosen some different key words to complicate the search and get some more interesting data, but really I just wanted a sample that I could use in today’s workshop and play around some more with later. Besides, I don’t know how to make heads or tails of what I just got back from that query anyway–but I’m sure this workshop will help!

Downloading my query data was fairly easy, though the first time I downloaded “citations only” and got a big list of citations which seems pretty useless. It didn’t take me very long to realize my mistake, though, and now I have a much more useful and seemingly informative file. I, too, found that my second query with the n-grams etc. took much longer than my first query, but I suppose that’s to be expected.

Here’s my theory on distant reading: I think it can be really useful and cool as a tool for further research inquiry–you use google’s distant reading tool to analyze searches/occurrences in Google Books of the word “marriage,” for example, and notice peaks and valleys. You try a second term, like “heterosexual,” and see correlation. Eureka! There’s something to investigate there! But sometimes, I think distant reading just leaves you at a dead end. Maybe you were hoping to find some cool pattern in keyword use, but it turns out that no such pattern exists. Maybe you were hoping to find a correlation between the rise in popularity of two terms in classical literature, but actually they don’t relate to each other at all. While finding patterns can lead to interesting questions for further research, I don’t know how useful distant reading is when it doesn’t reveal any pattern at all. Maybe that’s obvious but it’s what I tend to think about when I consider distant reading.

The Contributions of Weird Languages and DF to Conversations about Computational Literacy

I’m really glad that we read the Mataes and Montfort article, “A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics,” this week. Having played some Dwarf Fortress (well, watched the game play itself while hitting some buttons might be a better description…), I think I was able to approach this article with a different perspective than I would have if we’d read it earlier–or, perhaps, much later, after the pain of DF had receded in my memory.

Since I started this class–heck, since I read the course description for this class!–I’ve been thinking about and trying to inquire into the ideologies that may/may not be embedded in computer programming languages. The easiest place to look seemed to me to be in the syntax, vocabulary, and general conventions of computer code. Programming languages seem to be concerned with vocabulary this is function-oriented (in most cases). In other words, common functions seem to be labeled according to their function, with an eye toward both the human and computer audiences. They seem to be structured around hierarchical logical structures, nesting subordinate operations under higher-order ones. Documentation/commenting is necessary in (from what I can tell) all languages, because even those that are most intuitive and human-friendly still aren’t clear enough to be immediately readable without clarification. It’s these generalizations that I suspect could give me a glimpse of the ideologies inherent in the languages.

Weird languages were appealing to me for this reason. Their function names are misleading. Their logics are structured differently, it seems. For example, Mataes and Montfort write, “INTERCAL has no simple if construction for doing conditional branching, no loop constructions, and no basic math operations–not even addition. Effects such as these must be achieved through composition of non-standard and counterintuitive constructs” (147-8). In other words, a composer of a program in INTERCAL has to think differently about what the code needs to do and how to get it to do that in a new way. This–I think–means a disruption of any ideology that might be implicit in traditional nested logic structures. Now, I’ve never seen INTERCAL and have no idea how these tasks are accomplished, so I can’t say for sure that they represent a different way of structuring thought or approaching tasks.

In the case of Malbolge, though, it’s quite clear that since the code self-modifies and a composer of Malbolge programs must “think about Malboge […] as a cryptographer” (151), approaching this language does require the composer of the code to think differently. In this case, she must not only think of the task to be accomplished and go backward from there, she must be totally aware of the medium she’s using, and of the eccentricities of the language. This is because the code is based on trinity (which I didn’t fully understand, to be honest), self-modifies, and only contains a few operations that are valid. Basically, to write the “Hello, world!” (or, HEllO WORld, in this case) program, Cooke had to think not just about what he was trying to do; he had to remember which operations were valid in Malbolge, what they would be converted into after going through their self-modification phase, and what the result of those operations would be. Clearly, this language creates no illusion of immediacy–it is written in order to draw attention to the obstacles presented by mediation.

This is all very cool and interesting. These “art languages,” as the article’s authors are tempted to call them, “are intended to test boundaries of programming languages and design” and “comment on features of existing, traditional languages” (138). They show us what is possible, like the creation of a programming language that only accepts 7 commands, but still possesses the universality that is so desired in programming languages (149). They draw attention to the silliness that might go unnoticed in some languages, like when INTERCAL highlights the absurdity of “DO” in FORTRAN. They’re critical and creative and ask programmers to think critically about programming languages and their peculiarities. I’m about to recommend that every programmer be required to play around with BRAINFUCK in order to understand the potential for minimalism, and then I remember…

All this talk of the possibilities weird languages create, especially the play that languages like Shakespeare afford the programmer, is great, but what about the free play that’s available in Dwarf Fortress? I’m told that I can create a civilization of happy little dwarves with their own jobs and their own desires to go out and scavenge from corpses. There’s limitless creative possibilities there. It sounds amazing. But here I am, not able to figure out which menu lets me change my Dwarves’ jobs. I’m relying on Wikis and videos and sometimes I’m just hitting buttons to see what happens. I’m not doing anything creative. I’m not even doing anything comprehensible. DF’s low-level graphics, difficult menus, and open-ended orientation are all great as far as the way they critique video games and their users–we rely on simplistic models for controls; we actually want to be “on the rails” with conceivable goals, trackable progress, etc. When you take away the intuitive, pretty graphics, we’re no longer able to interpret what we see because we’re not smart enough (I’m not smart enough, at least) to memorize the dozens (hundreds? thousands? MILLIONS!?) of symbols that DF uses. We want pretty things that are easy and provide us with regular positive feedback. We like and crave the rules, the conventions that limit the possibilities that exist for us.

Of course, there are people who enjoy DF, just like there exists a person who was willing to crack Malbolge or create BRAINFUCK. Those people are impressively dedicated to thinking differently and understand the value in exercises in experimental thought. I think it was Boluk and LeMieux  who referred to DF as an “ontological experiment,” and now I think I understand what they meant. What happens when you ask a group of people to think differently–in fact, counterintuitively–about what it means to “play” a “game”? You can’t win. You are rarely rewarded for your actions in any traditional kind of way (well, at least I wasn’t). But you can watch things unfold. And by “watch,” I really mean something more like “read,” I think.

I think that those people are awesome and deserve to be praised. I mean, there is something important about challenging assumptions about what games are, what it means to play, to win, what a programming language is, why it is the way it is, etc. I do these kinds of thought experiments in the context of the English language and composition theory all the time–as English graduate students, I think we all do. So why am I viscerally opposed to DF?

From my title, you can probably gather that it’s because the barrier to entry for me is just way too high. I can’t bring myself to read pages and pages of information in order to figure out how to successfully (interestingly might be a better word) interact with Dwarf Fortress. Writing successful programs in Python is a daunting enough task for me without trying to think critically about the ideological or conventional implications of using white space to subordinate commands instead of brackets. You have to be a good writer and a well-versed reader before you start thinking critically about stories. For example, my seventh-graders are really just starting to learn how to form interpretive, critical claims about texts, and what they’re producing is very low-level and simplistic. They don’t know how to think about characters as representations instead of as people yet, for example; they don’t know how to separate a text from its author and they still have trouble distinguishing between author, narrator, and character. They’ve been reading for about seven years now. So I know the barrier to entry to the type of criticism I can do is pretty high, too. But do you need to read and write code for seven years before you become well-versed enough in it to make critical claims about programming languages, weird or otherwise? Do I need to play DF  for seven years to be able to even start to tell interesting stories in/with it? Or maybe fluency in video games would transfer?

I’m interested in investigating these barriers to entry for a lot of reasons. One reason is that I tell myself and my students that English is an important discipline because understanding how to think critically about a text is a transferrable skill that can help you to think critically about all sorts of texts/artifacts, including advertisements, political speeches, documentary films, institutions, etc. There are, apparently, limits, though. For example, no matter how much I’d like to say something interesting about the ideological implications of computer programming as a practice, all I’m really able to do at this point is talk about reading procedures (and, when I do this, I’m just hoping I’m getting Bogost right, not really adding much to the discussion). I can say that I think there must be problematic claims about the world, about theories of composition, etc. embedded in programming languages, but that’s only because I can demonstrate that human languages (well, one human language–English) has such embedded claims and so, by analogy, coding languages probably do, too.

What do we need to do, as educators and academics, to engage and to help students and would-be critics to engage with these kinds of texts more effectively than I’m able to do now? Will learning to code help us to say interesting things through/about the programming languages we’re using? Will asking students to play video games help them to talk critically not just about the representations in the games–a type of analysis that they can already do because of the priviliged place of text- and film-based artifacts in our culture–but also on the level of procedures, including the procedures the game asks them to go through as players/users, the procedures that are at work in the game itself (the NPCs’ AI, for example), and the procedures that (a) human author(s) went through in order to produce the game?

I’m intrigued though baffled by both code languages and Dwarf Fortress. I really liked what Mateas and Montfort said when they were debating what to call “weird languages.” In the footnote on page 148, they wrote “‘Esoteric’ is a more common term for these languages, but it is a term that could apply to programming languages overall (most people do not know how to program in any language) or to languages such as ML and Prolog, which are common in academia but infrequently used in history. A better designation might be art languages, though they go on to say that they’re reluctant to use that term. But they’re right. Code itself is esoteric to me, even after it’s been somewhat demystified through my Code Academy lessons and our TwitterBot workshop.

What I want to know is how to solve the problem of these barriers to entry, how to make code less esoteric so that students (of which I’m one, too) can see esoteric languages as something different from run-of-the-mill languages, and how to make students aware of the procedural rhetoric of the texts with which they interact. In short, how can I increase their computational literacy–and my own–without a CS degree, a portfolio of work on Git Hub, a level 70 character in World of Warcraft, a successful Dwarf Fortress (whatever that means), or some other time-intensive achievement? Is there a way for “outsiders” to analyze games, software, code, etc., and to say something useful about these texts? How important is it to be an author of procedural texts in order to read them effectively, and what qualifies someone as such an author?

I’m probably repeating myself a lot, but the central problems I’ve been grappling with in this class are 1. What is procedural literacy, how can one attain it, and to what degree(s) is it possible/necessary for the average person? 2. What are the implications of code to which we’re submitting ourselves without knowing it when we interact with or compose a computational text? 3. How do I make students (and myself!) aware of or able to discover the arguments that computational texts are making, procedurally or otherwise? Is that the same as computational literacy? Or some component of it?

Playing Dwarf Fortress and then reading about weird languages really forced me to think about these questions again, and from a different perspective. Maybe procedural literacy is harder to attain than I’d previously thought. It will take some time for me to come up with a firm position one way or the other.

Trapped in a Mountain of Plus Signs

My first encounter with Dwarf Fortress was not a very positive one. After downloading and installing the Mac version of the game, I soon found that I couldn’t quit the game. I looked online and found that many users had the same problem. Posts with headings like “I can’t quit Dwarf Fortress, even if I try” detailed the same glitch, but they also gave me a bad feeling about what I was getting myself into. I finally fixed that issue and tried to download a graphics pack. It didn’t work. I tried another one. It didn’t work. Then, I found that DF wouldn’t work any longer. I’m not sure if it has something to do with my computer’s age (it’s an iMac from 2010) or what, but I was frustrated before I began playing. I uninstalled DF and reinstalled it and finally got to work (added bonus–on the second instal, the “abort game” option worked–yay!), and then I dug in. It only got worse from there. I came to class Thursday more frustrated thank I knew how to explain and feeling completely incompetent.

I have to say, though some of the successes discussed in class reinforced those feelings of incompetence, others’ frustrations and creative alternative game play strategies made me feel better. Today, I approached Dwarf Fortress again and I tried very hard to have an open mind. I tried downloading a few more graphics packs without luck, but I figured I could make this ASCII stuff work, and I decided to try “adventure mode.” I have to say, it did at least go better–at first. The beginning was probably the most fun–I got to name my Dwarf, HannahBadger, and level up her abilities, choose her weapons, etc. She’s tough, a good reader, a swimmer and climber, and she carries an axe. Then, I started the game play.

I spent about fifteen minutes trying to talk to a pair of coffins before I realized they weren’t people. I also shouted to the Dwarf Deity, but my calls must have fallen on deaf ears, because I heard nothing back. But eventually, I re-checked the guide and realized my mistake. I decided to try to find someone to talk to so that I could start an adventure. Eventually, I did. He had a strange name that I can’t remember, but he told me about some monster that killed his daughter, and I asked him to join up with me. So we walked along, came across a fish cleaner with some more tales of woe, but he didn’t know where to find the monster (or the human vampire) that we were looking for. He suggested that some human fellow did, but when I asked him more about this fellow, he said he didn’t know anything about him. Then he declined to join up with us.

We were wandering around for a while, and then I decided to descend some stairs because, hey, after about an hour of walking around, we were no closer to finding any monster or any human fellow who might know about the monster. I spent about ten minutes trying to figure out how to get down the stairs and when I finally got down there, I was pretty excited. Oh, if only I’d known what a bad move that had been!

Once down there, I immediately found a room full of leather goods. Awesome! I picked up almost everything–apparently my back pack can hold a LOT of stuff! I was excited, so I tried another door. Another room of free leather swag! And then another. And then another. And then my travel companion started to get cross. The yellow exclamation point popped up a lot. Tantrum. Was I moving too fast for him? Maybe he was hungry? I gave him some Dingo brains–another mistake–and some water. Then, yet again, more and more narrow passages with rooms of leather goods in them. No monsters. No human fellow. More yellow exclamation points from my partner, but every time I asked how he was doing, he said he was just peachy, so how was I to know what was going on? Then, the exclamation point turned teal, which I think means he was going crazy, and eventually, I lost him. I spent about an hour wandering around, opening doors. Dead ends, more rooms of crap (none of which was food–and I tried to eat a leather boot and licked it and it didn’t help matters). When HannahBadger was too tired to do anything else, I let her sleep–but then, the map disappeared! I couldn’t see which rooms I’d opened any more! I tried strategies, keeping to the outer edge, etc., but eventually, HannahBadger ate her last Dingo brain alone (yeah, I never did really run into my former travel companion again…) and I stopped the game so I wouldn’t have to see her starve.

 

I’m really not sure what I’m supposed to get out of this sad story, but I can give fellow DF players some advice, I guess. Hoard your Dingo brains and water. And, for goodness sake, if you climb down some stairs (which you do with this button: >), do NOT let them out of your sight.

 

There were no monsters, few people, and really not much of an adventure. But hey, at least this run, I basically understood most of what was going on. Progress?

I, TwitBot

I have to say, the Twitter Bot workshop has been my favorite class thus far. Although working through CodeAcademy has been, at times, frustrating and overwhelming, I really felt it paid off when I basically understood what it meant to import a library, reference a list, etc. I used some code someone else had written in a dev environment that somehow existed in a web browser and slightly modified it in order to make a tweets appear without actually typing them. Okay, when I put it that way, it sounds pretty lame. That said, it felt pretty cool to see it work.

I have a lot of cool ideas that I want to play with moving forward. I do really want to create the cast of bots I talked about in class, though, that tweet the lines of a play at each other. I really want to see what happens when something like Hamlet is broken down into lines, tweeted over time, broken up by other people’s tweets about their eggs Benedict and the scores of Penguins’ games, and tweeted using @Ophelia etc. I’m interested in how a text changes when it’s translated from one medium to another, and also investigating what my role (as a “programmer”–and, as you all know, I’m using that term very generously) in the creative process is when I do something like that.

As a middle-school teacher, I encounter texts–literary texts among others–in a few different ways. Trying to introduce ninth-graders to Romeo and Juliet or middle school students to Naomi Shihab Nye means trying to connect those texts to something in the students’ world. Consequently, there are ZILLIONS of resources out there for high school and middle school teachers to help students to access challenging texts “on their level.” Some of you may have seen texts like Srsly Hamlet and  YOLO Juliet on the end caps at local book stores. As English grad students, many of you have probably thought, “Oh my god, they’re ruining great texts.” But these books are widely popular and used in lots of classrooms across the country, because students find them more engaging/accessible. Of course they do. In a way, it reminds me of those activities I used to do when  was a high school student where you have to translate a difficult passage (usually from Shakespeare. You’ll notice I reference him a lot. And Poe. They’re the staples of the “English Cannon” as it’s presented to the youth of America, whether I like it or not…) into “modern English.” The idea is, supposedly, that the act of translating shows that you understand the content. What we have in the cases I mention above is different because the students are presented with a “translation” already done for them. But it sounds like I’m bashing these texts–in fact, I think that I probably am. But I’m not sure if I’m right to do so.

When I teach a play, and particularly when I teach Shakespeare, I talk a lot with students about the unique quality of drama to be re-imagined. I’ve seen steampunk productions of King Lear, contemporary versions of Othello complete with waterboarding, and I’ve shown students the competing interpretations of Romeo and Juliet that cinema of the last 50 years has given us. If Drama can be reinvented with creative casting choices, setting, costume design, etc., why can’t it be adapted for social media? Well, the answer, obviously, is that it can, but what happens to a text when it is adapted for social media? What if people retweet it? When I was making my bot with you all, and it was just spitting out lines from “The Tell-Tale Heart,” I got a follower. Who? Why?

I’m not sure what to make of pretty much ANY of this. I know that I still think Srsly Hamlet is an abomination. No meter. The wit is basically lost. And it seems trivializing. I don’t think that I’m saying that because I’m an old fuddy-duddy. I think I’m right to cringe. Would a tweeting Bard be equally cringeworthy? That’s what I’m curious to find out!

This was a little bit of a random post–I hope it was meaningful in some way to some of you! Cheers! :)

The Fault in The Code

Well, I’ll admit before getting too far into this post that I’m perhaps not as far into the reading as many of you, but in a way I’m glad for that because I think if I’d read too much further it would be difficult for me to respond to so much of what Bogost is saying. What I want to do here is provide my understanding of what Bogost means when he says “procedural rhetoric,” and dwell on some of the questions I have at this point in the reading–having just finished the introductory quarter of the book. So here goes:

I think I understand plainly enough what Bogost means by “rhetoric.” He’s using the term broadly to mean intentional expression that is geared at persuasion, which he opposes to “compulsion.” In other words, a rhetorical text should win over the reader, convincing her of the validity of its claims, as opposed to simply compelling her to buy a product or drop more coins into a machine. Significantly, Bogost links rhetoric to dialectical relations. The type of rhetoric he describes engages the reader in an exchange, to which the text is able to respond in a meaningful way. I think I’m clear on that.

It’s the “procedural” portion that I’m either fuzzy about or perhaps unconvinced of. Bogost says that many people mistakenly think of “procedures” as strict, external rules that are inflexible, as opposed to human interaction. He points out that humans operate based upon procedures themselves, but that computers texts (I lack a better word right now–procedural texts seems not-quite-right, too general) “represent process with process,” and that “The inscription of procedural representations on the computer takes place in code,” which is procedural (14). So far, I’m on board. He’s saying (I think) that texts designed for computers–we’ll use the example of video games, since that’s the focus of his book, though he is careful to point out that numerous pieces of software fit into this category as well–require the reader to go through procedures in order to “read” the text, and that the form of which the text is composed, computer code, is also procedural in nature. I’m intrigued by this parallel and curious to get at what it means to play a game, to follow a set of procedures in the interest of an end goal, when the text is dictated by its own underlying, invisible set of rules and procedures that express representations of movement, gravity, etc. I’m even interested in the types of games Bogost proposes in which the player is invited into dialogue with the text and asked to respond to the procedures that compose the game–the choices that are allowed vs. those that are excluded, the consequences of those choices, etc.

Over the summer I read John Greene’s The Fault in Our Stars, a young adult novel about a young woman and young man with cancer. In it, Agustus and his friend play a first-person shooter, and Agustus is very bad at it because instead of maximizing his kill-to-death ratio, he instead makes it his goal to save as many civilians and comrades as possible. In Greene’s novel, this tendency is meant to exemplify Agustus’s refusal to adhere to the rules that govern reality–rules that tell him that he cannot save anyone, including his ex-girlfriend or himself. I’m oversimplifying, but the novel isn’t my focus here. Greene’s argument would be, arguably, that Agustus’s refusal to adhere to the rules/procedures of the game represents not a direct dialogue with the game in which he constructs his own competing argument about war, life and death, etc., but instead that Agustus simply is railing against the inflexible rules of the game the same way he rails against the unfair and equally unyielding rules of his own abilities within the world. For Bogost, though, perhaps Agustus’s alternative gameplay might represent a counterargument, and Agustus should respond by creating an alternative text, his own game with more flexible rules, or perhaps rules that reward different behaviors. Bogost has already explained that “[d]ialectics…function in a broader media ecology…they merely require the interlocutor to construct a new claim in another context–for example, in a responding TV spot or software program” (38).

All of this was very intriguing, especially since I’m trying to connect my Python experience (sad and limited though it is) to Bogost’s argument. I can make procedural arguments about the world and compel readers to follow my logic through following their own set of procedures (in theory)!? Exciting! How does the product reflect the code? Tell me, please, how can I create procedures in code that are reflected in the play of the text I design?

And then I read this: “The player can see how the simulation runs: this is, in no trivial way, what it means to play the game.” and “Understanding the simulation at the level of code does not necessarily solve this problem…does not guarantee an understanding of making and interacting with arguments as processes rather than words. Rather than addressing this problem from the bottom up through code literacy, we need to address it from the top down through procedural literacy” (63-64). So he seems to be downplaying the significance of code–now the text seems to be what the reader/viewer/player sees/experiences and not the underlying code, of which he says “demanding access to a computer program’s code might be akin to asking for direct access to an author’s or filmmaker’s expressive intentions” (64). I’m not a game designer, and I’ll admit I was skeptical that code would be procedural in the same way that a video game’s gameplay is. But it seemed to me that the linchpin of Bogost’s argument was that what made video games a special kind of text was that they were procedures built from procedure, that the code was part of, if not the essential part of, the text. Now, he seems to be stepping back from that, and in a way that seems kind of bogus to me. He’s already complained of other theorists doing the same thing (27). Code is equated with intention? I’m skeptical of such a claim. After reading Turing talk about how he is surprised by machines every day, it’s hard to believe that code is closer to/identical with intention as opposed to the text. Still, it’s hard for me to think of where the code would fall if mapped on to writing–an outline, maybe? Something more like that–the logical frame onto which the actual text is built? Definitely a part of the text, but deducible rather than obvious, visible.

One last remark, though I know this post is getting SUPER long–I’m interested in the arguments that computer code as a genre makes about the world. I mentioned this briefly in my last post, and I don’t have a whole lot more to add, since I don’t know jack about coding. But I do know–at least I think I know–that the fundamental argument that computer programing makes about the world seems to be that a task is the sum of parts–mini-tasks into which it can be broken down. When all of the mini-tasks are carried out, the overarching goal is achieved. Except it isn’t, I don’t think. The goal is something human, the goal that the code achieves is something different–a reflection of that goal in the red-blue-yellow-green that the computer can produce. Round edges become pixelated, however subtly, on a screen. I don’t know that this isn’t a valid way of reading the world–as replaceable, representable. After all, texts, paintings, films all do the same thing. But I do want to investigate how computer programs go about representing the world via procedures, logical structures, etc. What is to be said of that?

That last remark isn’t really fully formed or super well thought out. Again, I don’t know enough about code, software, and hardware for that matter, to really make an argument abbot the way computer programs (re)structure reality in their representations, but I’m very curious to see what you all think and to investigate this problem further. Bogost seems uninterested, but perhaps I haven’t read far enough. I’ll remedy that soon!

See you all in class Thursday. Please comment if you have insights for me!

I’m SO Not a Python Charmer

I suspect I may have the least coding experience of anyone here, which is not what I expected, I don’t think. This two hours of Python tutorials makes up the most significant encounter with code I’ve had basically ever. At my boyfriend’s encouragement (he’s a programmer) and out of boredom I once played with CodeAcademy’s Ruby tutorials, but I didn’t get very far and it wasn’t very meaningful so I remember litter other than the conditional construction which I just re-learned in Python. I found the tutorials for Python fairly easy, though I had my bouts of frustration, too. Still, they don’t seem very meaningful just yet, and I doubt that they will until I’ve completed more of them–indeed, I hope that they eventually do.

I think of the process of learning code more like the process of learning to read, I think. At first, you learn all of these letters, and then you learn the sometimes too-numerous different sounds that each letter can potentially make, and then you learn some rules to help you figure out that the t in “the,” “hat,” and “catch” are all different, but you by then you’re overwhelmed and frustrated and sick of reading stories filled with monosyllabic rhyming words when you know, on whatever level, that there’s Shakespeare out there to be read. That’s where I am. My boyfriend and his peers (and many of my classmates! Kudos!) are reading Shakespeare while I’m still trying to figure out why “bet” and “beet” are two different words. This is all to be expected, and I’m eager to learn–eager and maybe a little nervous!

The way I’ve been relating all of this to English as a discipline is a bit easier for me to talk about (English! I can do English!). I’m thinking about coding as a language that alters the way we think. Think about it. Imagine you’re a coder–well, I guess a project architect or what have you–and someone asks you to make an application for them. They want it to recognize the cadence in a person’s voice and tell you what region of what country of what planet she’s from. You have to take that task and break it down into all of these little mini-tasks that can somehow be converted into data in a database and a bunch of functions that (I’m guessing) look something like the if/elif/else conditionals I was just writing. You’re no longer recognizing someone’s regional accent. You’re now identifying frequencies and pitches of sound waves and putting that data through a series of processes to produce an output. The task changes. In my humanities-oriented mind, I’m tempted to say that it loses something–its soul or something like that.

Of course, there are conventions that we force/encourage young and inexperienced writers to follow, too. There’s MLA style guides and whatever our particular grammar/style pet peeves are that we transmit to our students, intentionally or not. So that’s what I’m wondering. If we’re writing code, whose values are being transmitted to us, shaping us as composers of code? And is there some sort of way that we can shape back, leave our “style” on computer coding as a whole, or even just our own? I have far too primitive an understanding of code to have an answer, but I’m intrigued by the question.

 

I’m excited to learn more Python and maybe be able to USE it to MAKE something soon, and even more excited to hear more from all of you!