Kindred Code

From Maze

Revision as of 02:13, 8 June 2011 by MarkMarino (Talk | contribs) (repasting new version of the text)
Jump to: navigation, search
   * Algorithms and Action (Mark S.)
   * Screensavers and Computer Dreams (Nick)
   * Dancing Programs (Patsy w/ Nick)
   * Generative Design (Casey)

Kindred Code

Introduction:

10 PRINT is not a game. It does not present itself as a game. It has no playable character. And aside from stopping the endless progression of the drawing loop, the person at the screen has no opportunity for interaction. Though the person try to solve the maze, find various paths through it, these attempts are frustrated by the continuous progression of the maze at it scrolls up the screen. By this criteria, 10 PRINT seems an unlikely object of study in the pursuit of digital culture where "interactivity" is king.

Since the earliest studies of digital culture, writing about literary hypertext and game studies, much has been made of the potential, possibility, and power of interactivity. Hypertexts [cite some Landow here] afford the reader the opportunity to engage in navigating the text beyond mere page turning. The interactivity [cite some Crawford or Aarseth or Juul] of video games immerses the player in the gameworld. Virtual worlds, Moos, Augmented Realities immerse, envelope, and ensnare the player through the lure of interaction. Certainly the early 21st century discourse on web 2.0 [cite Tim O’Reilly] clarions a similar engagement through user actions and contributions, writing blogs, correcting and expanding wikis, tweeting.

However, this last example makes clear an oversights of the basic assumption, namely that interactivity is framed as an activity that occurs between the user and the system at the level of the interface. Nick Montfort (2004) and Matthew Kirschenbaum (2008) have identified this tendency among scholars as a sign of “screen essentialism,” in which, as Kirschenbaum puts it, the “digital event on the screen” becomes the sole object of study, at the expense of the underlying code, the hardware, the storage devices, and even the non-digital inputs and outputs that make the digital object possible in the first place.

As the BASIC and Commodore 64 chapters make clear, 10 PRINT circulated in a cultural moment that instead privileged interaction at the level of the program, the lines of code.  10 PRINT epitomizes a relationship between human and computer where the software is not the application that is executed but the means by which the human will come to better understand the operations of the computer.  Nor is a program a completed system loaded from stored memory, but a fragment, an always-partial set of processes subject to change, expansion, revision, and reimagining.  To type in that code is to commence an adventure, to put the bike on the road, the surf board in the water, and much like the "Hello, World" moment to begin to move in and with the language of the system.  All of the cultural theories about being initiated into the laws of a system through language resonate with this moment, albeit only hypothetical.

The Code as Text

A program is a process, a part of a process, a sign of a process, an excerpt from a process. Programs are in process, and their lines of code mark potential. Software is typically conceived in commercial terms as a discrete, quantifiable object that can be contained and exchanged, owned and licensed, borrowed and pirated. However, endless versioning, patches, fixes, expansions make clear, even on the commercial end, that software is always in the stream of its own realization, or as the development paradigms of github and subversion would have it, a fork of a previous system. Development systems use “versioning” as a central metaphor for development. Software in this context emerges as a Text, in Barthes’ terms, and the program, a Work:

The one [Workl] is displayed, the other [Text] demonstrated; likewise, the work can be seen (in bookshops, in catalogues, in exam syllabuses), the text is a process of demonstration, speaks according to certain rules (or against certain rules); the work can be held in the hand, the text is held in language, only exists in the movement of a discourse (or rather, it is Text for the very reason that it knows itself as text); the Text is not the decomposition of the work, it is the work that is the imaginary tail of the Text; or again, the Text is experienced only in an activity of production.

[Get some Lexicon here] It is part of a larger engagement. It is a stub for programs to come. 10 PRINT is a means by which the programmer enters the larger engagement with the processes of the computer, initiates them into the language of the computer and opens their sense of the potential through the program.

As mentioned in the introduction, 10 PRINT begins with a line a number following the convention of BASIC programs. In fact, for this version of BASIC, since the program is written in PROGRAM mode, it must have a line number between 0 and 63,999. However, the line number is not a necessary element of the program even on these early Commodore computers.

The program could be written in DIRECT mode as: for a=1 to 2 step 0:print chr$(205.5+rnd(1));:next a

As this program remains perpetually at 1, the program continues to print the randomly chosen characters from the original program. Arguably, having learners type this code into the command line would serve the demonstration even better than 10 PRINT, since it allows the beginner to focus on the single line and its output.

The 10 [note 1] of 10 PRINT is a potent signfier of potential, of code to come, of the partiality of the program and indeed all programs, of the need for editing and correcting. The c64 user's guide recommends using increments of 10 to more easily insert lines afterward (33) following a conventional numbering principle in BASIC. Choosing 10, therefore, rather than 1 suggests that lines may be added to the beginning of the program or after it. So while 10 PRINT can function as a stand-alone program, it serves as an early step in a learnign process, one that can be easily adapted. The C64 Users Guide even begins its last paragraph of its version of 10 PRINT, "If you'd like to experiment with this program" (53), and procedes to explain how to adjust the code to increase the likelihood of one or another character appearing more frequently. The User's Guide did state it's goals, to give you a simple, fun start at learning to make your own programs" (vii).


10 PRINT, thus, represents a class of simple Basic programs designed to be entered by beginners to be later modified.

Hello, World

The iconic program for being initiated into a programming language is "Hello, World," in which the programmer learns to use the language to get the computer to display those words. Although not all programming languages use "Hello, World," basic, with its PRINT statement is prime for it. The Commodore 64 User's Manual replaces this greeting with the name of the computer and a looping statement, turning the computer screen into an advertisement for the computer repeated endlessly.

10 ?"COMMODORE 64" 20 GOTO 10

Though this program does not dazzle or surprise the way 10 PRINT can, it does offer the basic framework for a beginning programer to display any message. It also contains a number of the basic components of 10 PRINT, namely, the line number, the PRINT statement and the GOTO loop. That section of the Users Guide is followed by "editing tips," instructing the programmer how to easily modify the contents.

Learning a program by typing it in may seem more closely to resemble learning to appreciate a language by memorizing lines of poetry. However, the use of imitation to learn a creative skill has a long tradition in the arts, be they primarily written, visual, kinetic, or dramatic. Painters learn to imitate the masters before they create their own works. Dancers learn to dance established steps before they can choreograph. However, rather than drawing an analogy from high art practice, this mode of learning is closer to the practical arts of cooking and the handcraft of needlework.

Personal tools