The first is to learn for the reason that Tim Berners-Lee exhorts journalists to learn-you need to know how to use tools to manipulate data because knowledge is increasingly produced as data, that is, in more or less structured forms all over the web. This is because the future of the humanities "lies withjournalistshumanists who know their CSV from their RDF, can throw together some quick MySQL queries for a PHP or Python output ... and discover the story lurking in datasets released bygovernments, local authorities, agencies, digital archives, online libraries, academic centers, or any combination of them - even across national borders." [...]
The second reason to learn to code is philosophical. You should be able to write code-not necessarilyprogram or, God forbid, "develop"-so that you can understand how machines think. Play with simple algorithms, parse texts and create word lists, generate silly patterns a la 10 PRINT. Get a feel for what these so-called computer languages do. Get a feel for the proposition, to which I mostly assent, that text is a kind of code and code a kind of text (but with really important differences that you won't discover or understand until you play around with code). This level of knowledge does not require any great mastery of a language in my view. It only requires a willingness to get one's hand dirty, make mistakes, and accept the limitations of beginner's knowledge. I personally believe that this second reason is as or more important than the first.
To get to this place with code, to be able write simple scripts that are useful or interesting or both, you don't need to do many of the things your coding brethren think you should do. First and foremost, you don't need to learn a specific language unless there is a compelling local reason to do so, such as being in a class or on a project that uses the language. [...]
Second, you don't need to be involved in writing a full-blown application to do DH-worthy coding. Applications are fine, and being on a collaborative project has huge benefits of its own, but know that application development is a huge time-suck and that applications are like restaurants-fun to set up but most likely to fail in the real world. Lots of DH coding projects in my experience are journeys, not destinations. [...]
Third, there is no reason ever to be forced into using a specific editor or coding environment, especially if it is a difficult one that "real" coders use. [...]
Beyond these specific problems, though, there is a more fundamental issue about the culture of code that contributes to the condition that Miriam [Posner] and others confront: in spite of the well-meaning desire by many coders to bring everyone into the coding fold, there is a countervailing force the prevents this from happening and which emanates from these same coders. This is the force of mystification. Mystification appears in many forms, including some of the things I just described-insisting on a difficult editor, dissing certain languages-but it more generally comes from treating code competence as a source of identity, whether it be personal or disciplinary. As long as digital humanists regard coding as a marker of prestige-and software as a token in the academic economy-and not as a means to other forms of prestige (such making discoveries or writing books), then knowledge of coding will always be hedged in by taboos and rites of passage that will have the effect of pushing away newcomers.
