On Code Literacy

The following is the transcript of a short speech I contributed to the panel “Programming Humanists – What is the role of coding literacy in DH and why does it matter?” at the DH Benelux 2019 Conference, held at ULiège in Luik, Belgium. The organizers asked me to try to be provocative. That is, provocative to non coding humanists. However, the title of the panel – as I was afraid – caused a rather self-selecting crowd of code savvy scholars and engineers to turn up. So the statement itself was about as provocative as a tea to an Englishman. The panel in all was highly enjoyable and the panelists iterated their thoughts on how code literacy could be raised among humanists. I’ll leave the post here, and who knows, maybe some scholars will still be provoked by it…

Mea Culpa

To start I quote Stephen Ramsay from when he was faced with a similar challenge: “[The organisers have] asked that we spend exactly [five] minutes giving our thoughts on this subject, and I like that a lot. With only [five] minutes, there’s no way you can get your point across while at the same time defining your terms, allowing for alternative viewpoints, or making obsequious noises about the prior work of your esteemed colleagues. Really, you can’t do much of anything except piss off half the people in the room.” End of quote. This is from his 2011 MLA contribution to the panel “History and Future of Digital Humanities”. He said the following quite controversial – as it turns out – thing: “Do you have to know how to code? I’m a tenured professor of digital humanities and I say «yes».” End of quote. So if I have pissed you off with this already, I have done my job. Otherwise sit tight and see if I can do better.

Why it matters

Code literacy matters because in the near future, but even now already, veritably all information, cultural artefacts, and scholarly objects of study will be digital or will have digital aspects. This is tied to what science fiction writer Bill Gibson (2009) called the Eversion of Cyber Space, which happens if digital environment, human society, and even physical world become inextricably intertwined. This already happened according to Steven E. Jones. I agree, I even know the exact data: 29 June 2007. Anyone? It was the date of the introduction of the iPhone. The ubiquitous use of smartphones, Internet, the Web, digital tracking and surveillance techniques, digital streams, etc. etc. has made what once was a virtual world and different, a very normal part of reality indeed.

As a scholar in the humanities this impacts you, you cannot work with this digital information and these digital objects if you do not know how they work and how they get produced, which always involves code. To give but one example: how will you ever adequately describe, edit, and/or analyze J.R. Carpenter’s CityFish if you cannot read code? CityFish is a webbased literary creation that produces different text through JavaScript code.

It also matters because code is a tool of power to control and discipline. Annette Vee (2013) draws a parallel with the increased control government exercised in history by using administration and law rules, which require script, and thus writing and reading. Governments and industries are using code increasingly to enforce their power and further their interest. It is one of the roles of critical academics to study and interrogate these processes of power in society. But you cannot do this if you do not know how code works.

What do we mean by “coding literacy”?

And this is what we – or at least what I – mean by code literacy: the ability to know how code works. I follow Vee’s thinking and defining in this. Vee: “But, unfortunately, when «literacy» is connected to programming, it is often in unsophisticated ways: literacy as limited to reading and writing text; literacy divorced from social or historical context; literacy as an unmitigated form of progress.” Vee argues that almost every skill nowadays is called literacy in service of “urgency” (e.g. “quantitative literacy”). But we should be more careful when define what we mean… Vee defines “literacy” “as a human facility with a symbolic and infrastructural technology—such as a textual writing system—that can be used for creative, communicative and rhetorical purposes.” This is different than “material intelligence”, which is technology dependent communicative skill, or for short: being able to send an email. Material intelligence is a nice to have, literacy is a must have. Literacy is essential and required to navigate your world, which implies that the connected technology must be pervasive and central (or infrastructural) to a society. And yes, we just established that code is on its way there.

Literacy, according to me, and according to Alan Kay (1984), the inventor of SmallTalk, also implies fluency. That is the ability to work comfortably with a coding technology, and to be able to think, argue, and express yourself comfortably with larger, more meaningful chunks of expressions in such a literacy. But we all have to start somewhere, so copy paste coding is really fine, and it is okay for scholarly software to suck (Baldridge 2015).

Do you need to know how to code?

So if you ask me, as the organizers of this panel did, if “understanding code [is] an essential part of thorough DH scholarship?” The answer is: yes!

Fig. 1: A conventional metaphor used to deny the need for code literacy

We need to get rid of the pernicious metaphor of the car. That is: you will often hear people say something like “I don’t need to know how a car works to be able to drive in it; so I do not need to know code to understand a computer.” At the scholarly level this metaphor is wrong and it should be forbidden to be used.

It is nonsense that you do not need to know how a car works to be able to drive it. You do have tacit knowledge of how a car works, what is the front end, what is the back end. You do know how to operate the rather intricate set of levers, buttons, and wheels that make it go, and you know which lever causes what light to blink. And you know where the petrol goes, and that it doesn’t like gasoline. There is actually a lot more technical knowledge to driving than the car-computer metaphor suggests. And you get actual training for that.

Fig. 2: But it is a faulty and pernicious metaphor

You would crash and burn without that training. If you are going to use code for your research you are going to crash and burn if you cannot understand at an adequate level what that code does. Partly because it is tied to methods and techniques of which you need to know what impact they have on your data, your analysis. And partly because the code and the techniques are made by other persons who built in assumptions that may be both benign and correct, but may also be malicious and faulty, given your context.

The better metaphor for trying to apply code objects without knowing code is trying to analyze German literature purely on the basis of English translations. You can, but you won’t be adequate, only vaguely right, and mostly producing cargo cult analyses.

So yes, you need code literacy

Thus I am happy to now play on a provocative statement made by Peter Robinson during the 2013 ADHO Digital Humanities Conference in Lincoln, Nebraska. He said: “Digital humanists should get out of textual scholarship: and if they will not, textual scholars should throw them out.” I never liked that statement much. I will rephrase it more appropriately now: “Scholars that cannot code should get with the program, and if they will not, code literate scholars should throw them out.”

–JZ_20190910_1447

References

Baldridge, J. (2015) ‘It’s okay for academic software to suck’, Java Code Geeks, 12 May. Available at: https://www.javacodegeeks.com/2015/05/its-okay-for-academic-software-to-suck.html (Accessed: 25 April 2016).

Carpenter, J. R. (2010) CityFish, J. R. Carpenter || Luckysoap & Co. Available at: http://luckysoap.com/cityfish/ (Accessed: 7 June 2017).

Estrada, M., Liliana, Wigham, M. and Koolen, M. (2019) ‘Programming humanists – What is the role of coding literacy in DH and why does it matter?’, in DH Benelux 2019. DH Benelux 2019, Liège: Université de Liège, p. 25. Available at: http://2019.dhbenelux.org/wp-content/uploads/sites/13/2019/08/DH_Benelux_2019_paper_25.pdf (Accessed: 15 September 2019).

Gibson, W. (2009) Spook Country. Reprint edition. New York: The Berkley Publishing Group (Blue Ant, Book 2).

Jones, S. E. (2014) The Emergence of the Digital Humanities. New York, London: Routledge.

Kay, A. (1984) ‘Computer Software’, Scientific American, September, pp. 53–59. Available at: https://www.nature.com/scientificamerican/journal/v251/n3/pdf/scientificamerican0984-52.pdf (Accessed: 14 March 2018).

Ramsay, S. (2011) ‘Who’s In and Who’s Out’, Stephen Ramsay — Blog, 8 January. Available at: https://web.archive.org/web/20170721063833/http://stephenramsay.us/text/2011/01/08/whos-in-and-whos-out/ (Accessed: 21 July 2017).

Robinson, P. (2013) ‘Why digital humanists should get out of textual scholarship. And if they don’t, why we textual scholars should throw them out.’, Scholarly Digital Editions, 29 July. Available at: http://scholarlydigitaleditions.blogspot.nl/2013/07/why-digital-humanists-should-get-out-of.html (Accessed: 10 January 2018).

Vee, A. (2013) ‘Understanding Computer Programming as a Literacy’, LiCS, 1(2), pp. 42–64. Available at: http://licsjournal.org/OJS/index.php/LiCS/article/view/24/26 (Accessed: 24 February 2014).