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

1,942 views

Published on

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

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,942
On SlideShare
0
From Embeds
0
Number of Embeds
500
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Everyone's a Coder NowReading and Writing Technical Code<br />Julie Meloni<br />University of Virginia Library<br />CCCC 2011 // 8 April 2011 // Atlanta<br />jcmeloni@virginia.edu // @jcmeloni<br />
  2. 2. about Critical code studies<br />CONTEXT<br />N. Katherine Hayleson Media Specific Analysis:<br />“all texts are instantiated and that the nature of the medium in which they are instantiated matters”<br />From “Print Is Flat, Code Is Deep: The Importance of Media-Specific Analysis”<br />
  3. 3. about Critical code studies<br />CONTEXT<br />Lev Manovich, Matthew Fuller, et al <br /><ul><li>We investigate and interrogate cyberculture, digtal culture, new media – the effects of software – but not the cause of those effects.
  4. 4. Look at the programs that produce those outputs, through “software studies.”</li></li></ul><li>about Critical code studies<br />STILL A PROBLEM<br />No one was looking at the code.<br /><ul><li>Binary or Machine code
  5. 5. Assembly languages
  6. 6. Procedural languages
  7. 7. Object-oriented languages
  8. 8. Declarative programming
  9. 9. Literate programming</li></ul>It’s like living in the Roman Empire without knowing Latin.<br />
  10. 10. CRITICAL CODE STUDIES WORKING GROUP<br />Six weeks in Spring 2010 <br /><ul><li>Critiquing viruses
  11. 11. Annotating code
  12. 12. Live reading live code
  13. 13. Investigating “who reads code”
  14. 14. Interrogating “what is code?”</li></li></ul><li>CRITICAL CODE STUDIES WORKING GROUP<br />Critical Methodologies<br /><ul><li>Context of the software
  15. 15. Coders, development history, funders, research questions, language, paratexts, social and economic effects
  16. 16. Software itself
  17. 17. Procedures, structures, programming paradigm
  18. 18. Individual lines
  19. 19. “elegance”, whitespace, clarity, variable names, methods and functions, efficiency, recursion</li></li></ul><li>CRITICAL CODE STUDIES WORKING GROUP<br />Critical Methodologies<br /><ul><li>Issues for Consideration
  20. 20. Social implications, world representations, aesthetics, impact on race, gender, ethnicity, sexuality, socio-economic status
  21. 21. Tactics
  22. 22. Reading form vs content, considering implementations in multiple languages, reading code against output, reading instructions against data, reading code against real world processes</li></li></ul><li>THE PROGRAMMER’S OBJECTION<br />“those who have more experience or even make a living programming or teaching programming worry about making ‘too much’ of particular lines of code”<br />A call for a more rigorous examination of the code itself:the context, clarity, efficiency – what non-programmers aren’t wired to examine.<br />
  23. 23. WHO READS CODE?<br />mathematicians reading for beauty<br />craftsman reading for elegance<br />customers reading to make a purchase decision<br />managers reading for quarterly job evaluations<br />hackers reading for exploits<br />amateurs and hobbyists and students<br />...making their first web page<br />...copying some other script kiddy<br />...or just trying to learn to think differently<br />lawyers and expert witnesses<br />...looking for a DUI acquittal in a breathalyzer<br />...impugning the code or security of a voting machine in a recount<br />...trying to define an IP violation in an open source OS<br />easter-egg hunters<br />...collecting trivia from code<br />...harvesting data and media assets from code<br />...indexing business contacts from code<br />...participating in ARGs and viral marketing campaigns in code<br />
  24. 24. WHO READS CODE?<br />Everyone reads code because code is all around us.<br />source code written and read by humans -> <br />compiled code executed by machines -> <br />"technical code" or “the unexamined cultural assumptions literally designed into the technology itself“<br />From Andrew Feenburg’sAlternate Modernity<br />
  25. 25. WHO CARES ABOUT CODE?<br />Is the (technical) code<br /><ul><li>functional
  26. 26. virtuous or deceitful
  27. 27. conscientious or negligent
  28. 28. egalitarian or discriminatory</li></ul>Community Practices:<br />Sharing code / Performing code / Forking code<br />
  29. 29. WHO WRITES CODE?<br />Everyone writes code, knowingly or not.<br />
  30. 30. Remember, we built the machines<br />Human-Computer Interaction<br /><ul><li>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</li></ul>Achieving Symbiosis as a Goal<br /><ul><li>"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)</li></ul>Man must architect the system before the system can function.<br />To "architect" is to plan, organize, and (finally) build a machine, system, or process. <br />We all do this, knowingly or not.<br />
  31. 31. CONTINUING ARGUMENTS<br /><ul><li>Despite different audiences, intent, and perlocutionary effects, writing and code both represent and construct the world.
  32. 32. Composition and rhetoric (as a field) has much to offer the world of programming.</li>

×