Code is Not Literature

Code is not literature and we are not readers. Rather, interesting pieces of code are specimens and we are naturalists. So instead of trying to pick out a piece of code and reading it and then discussing it like a bunch of Comp Lit. grad students, I think a better model is for one of us to play the role of a 19th century naturalist returning from a trip to some exotic island to present to the local scientific society a discussion of the crazy beetles they found: “Look at the antenna on this monster! They look incredibly ungainly but the male of the species can use these to kill small frogs in whose carcass the females lay their eggs.”


Seibel's observation that reading code is less like literature and more like science is dead on. No matter how readable the code is, when I'm confronted with 10,000 lines of it spread across numerous encapsulated functions, I must tackle it very differently from how I read prose. With a complex literary text, I can just read it in linear fashion with occasional segueing to look up words and concepts, with well-engineered code I must follow numerous cases into different flows of logic. These aren't the same at all.

I appreciate that he's trying to dispel the idea that we "read" code as we read for pleasure, I learn from code by experimenting with it. I open up the debugger and step through it, watch the variables change and see where it goes when I execute it. Most of all, I learn by changing that code and trying to build on it. I have enhanced my javascript skills immensely in recent years by cloning various projects on github and trying to expand on them or adopt them to my own purposes. I don't recommend opening up a code base and just reading it, actively engage it, break it, and enhance it.

Folksonomies: programming coding hacking

/hobbies and interests/reading (0.599212)
/art and entertainment/books and literature (0.582817)
/shopping/resources/coupons (0.251365)

code (0.928106 (positive:0.104943)), numerous encapsulated functions (0.831450 (negative:-0.498127)), complex literary text (0.783272 (neutral:0.000000)), Comp Lit. grad (0.763120 (negative:-0.489777)), 19th century naturalist (0.738605 (neutral:0.000000)), local scientific society (0.727876 (neutral:0.000000)), Literature Seibel (0.565257 (neutral:0.000000)), well-engineered code (0.530865 (neutral:0.000000)), different flows (0.525780 (neutral:0.000000)), occasional segueing (0.521680 (neutral:0.000000)), linear fashion (0.515019 (neutral:0.000000)), code base (0.512813 (negative:-0.360796)), variables change (0.512741 (neutral:0.000000)), numerous cases (0.505772 (neutral:0.000000)), javascript skills (0.496431 (neutral:0.000000)), various projects (0.495697 (neutral:0.000000)), better model (0.492168 (neutral:0.000000)), crazy beetles (0.491722 (neutral:0.000000)), small frogs (0.488364 (neutral:0.000000)), exotic island (0.484919 (neutral:0.000000)), interesting pieces (0.478295 (neutral:0.000000)), github (0.289227 (neutral:0.000000)), carcass (0.267050 (neutral:0.000000)), naturalists (0.261749 (neutral:0.000000)), science (0.261271 (neutral:0.000000)), debugger (0.261011 (neutral:0.000000)), lines (0.260460 (negative:-0.498127)), bunch (0.259994 (negative:-0.489777)), prose (0.259347 (neutral:0.000000)), matter (0.257877 (neutral:0.000000))

Seibel:Person (0.824156 (neutral:0.000000))

Literature (0.969728): dbpedia | freebase
Science (0.609823): dbpedia | freebase | opencyc
Fiction (0.546886): dbpedia | freebase
Experiment (0.529906): dbpedia | freebase | opencyc
Prose (0.527031): dbpedia | freebase

 Code is Not Literature
Electronic/World Wide Web>Internet Article:  Seibel , Peter (20 January 2014), Code is Not Literature, Retrieved on 2017-04-21
  • Source Material []
  • Folksonomies: programming