everyone's a coder now: reading and writing technical code

14
EVERYONE'S A CODER NOW READING AND WRITING TECHNICAL CODE JULIE MELONI UNIVERSITY OF VIRGINIA LIBRARY CCCC 2011 // 8 APRIL 2011 // ATLANTA [email protected] // @JCMELONI

Upload: julie-meloni

Post on 12-Nov-2014

1.802 views

Category:

Education


1 download

Tags:

DESCRIPTION

These slides were part of my presentation in session H.18 "Writing text, writing code, writing connections" at the Conference on College Composition & Communication (4Cs) in Atlanta, GA (April 2011). More information at http://bit.ly/gQpszQ

TRANSCRIPT

Page 1: Everyone's a Coder Now: Reading and Writing Technical Code

EVERYONE'S A CODER NOWREADING AND WRITING TECHNICAL CODE

JULIE MELONI

UNIVERSITY OF VIRGINIA LIBRARY

CCCC 2011 // 8 APRIL 2011 // ATLANTA

[email protected] // @JCMELONI

Page 2: Everyone's a Coder Now: Reading and Writing Technical Code

ABOUT CRITICAL CODE STUDIES

CONTEXT

N. Katherine Hayles on Media Specific Analysis:

“all texts are instantiated and that the nature of the medium in which they are instantiated matters”

From “Print Is Flat, Code Is Deep: The Importance of Media-Specific Analysis”

Page 3: Everyone's a Coder Now: Reading and Writing Technical Code

ABOUT CRITICAL CODE STUDIES

CONTEXT

Lev Manovich, Matthew Fuller, et al

• We investigate and interrogate cyberculture, digtal culture, new media – the effects of software – but not the cause of those effects.

• Look at the programs that produce those outputs, through “software studies.”

Page 4: Everyone's a Coder Now: Reading and Writing Technical Code

ABOUT CRITICAL CODE STUDIES

STILL A PROBLEM

No one was looking at the code.

• Binary or Machine code

• Assembly languages

• Procedural languages

• Object-oriented languages

• Declarative programming

• Literate programming

It’s like living in the Roman Empire

without knowing Latin.

Page 5: Everyone's a Coder Now: Reading and Writing Technical Code

CRITICAL CODE STUDIES WORKING GROUPSix weeks in Spring 2010 • Critiquing viruses• Annotating code• Live reading live code• Investigating “who reads code”• Interrogating “what is code?”

Page 6: Everyone's a Coder Now: Reading and Writing Technical Code

CRITICAL CODE STUDIES WORKING GROUPCritical Methodologies• Context of the software

• Coders, development history, funders, research questions, language, paratexts, social and economic effects

• Software itself• Procedures, structures, programming paradigm

• Individual lines• “elegance”, whitespace, clarity, variable names,

methods and functions, efficiency, recursion

Page 7: Everyone's a Coder Now: Reading and Writing Technical Code

CRITICAL CODE STUDIES WORKING GROUPCritical Methodologies• Issues for Consideration

• Social implications, world representations, aesthetics, impact on race, gender, ethnicity, sexuality, socio-economic status

• Tactics• Reading form vs content, considering

implementations in multiple languages, reading code against output, reading instructions against data, reading code against real world processes

Page 8: Everyone's a Coder Now: Reading and Writing Technical Code

THE PROGRAMMER’S OBJECTION

“those who have more experience or even make a living programming

or teaching programming worry about making ‘too much’ of

particular lines of code”

A call for a more rigorous examination of the code itself: the context, clarity, efficiency – what non-programmers

aren’t wired to examine.

Page 9: Everyone's a Coder Now: Reading and Writing Technical Code

WHO READS CODE?

mathematicians reading for beauty

craftsman reading for elegance

customers reading to make a purchase decision

managers reading for quarterly job evaluations

hackers reading for exploits

amateurs and hobbyists and students

...making their first web page

...copying some other script kiddy

...or just trying to learn to think differently

lawyers and expert witnesses

...looking for a DUI acquittal in a breathalyzer

...impugning the code or security of a voting machine in a recount

...trying to define an IP violation in an open source OS

easter-egg hunters

...collecting trivia from code

...harvesting data and media assets from code

...indexing business contacts from code

...participating in ARGs and viral marketing campaigns in code

Page 10: Everyone's a Coder Now: Reading and Writing Technical Code

WHO READS CODE?

Everyone reads code because code is all around us.

source code written and read by humans ->

compiled code executed by machines ->

"technical code" or “the unexamined cultural assumptions literally designed into the technology

itself“

From Andrew Feenburg’s Alternate Modernity

Page 11: Everyone's a Coder Now: Reading and Writing Technical Code

WHO CARES ABOUT CODE?

Is the (technical) code• functional

• virtuous or deceitful

• conscientious or negligent

• egalitarian or discriminatory

Community Practices:Sharing code / Performing code / Forking code

Page 12: Everyone's a Coder Now: Reading and Writing Technical Code

WHO WRITES CODE?

Everyone writes code, knowingly or not.

Page 13: Everyone's a Coder Now: Reading and Writing Technical Code

REMEMBER, WE BUILT THE MACHINESHuman-Computer Interaction• an attempt to discover specific methods for the efficient and productive use

of machines based on the ways in which humans interact both with machines and with each other

Achieving Symbiosis as a Goal• "men will set the goals, formulate the hypothesis, determine the criteria,

and perform the evaluations" while the machines "will do the routinizable work that must be done to prepare the way for insights“ (Licklider in 1960)

Man must architect the system before the system can function.

To "architect" is to plan, organize, and (finally) build a machine, system, or process.

We all do this, knowingly or not.

Page 14: Everyone's a Coder Now: Reading and Writing Technical Code

CONTINUING ARGUMENTS

• Despite different audiences, intent, and perlocutionary effects, writing and code both represent and construct the world.

• Composition and rhetoric (as a field) has much to offer the world of programming.