book defining coding literacy (ability to read, write and understand programmed processes and expressions). a lot has to do with the social implications of literacies, and the chapter summed up here is the one about the history of programming languages.
a material intelligence (diSess) combines a material component with the ability to interpret that material -> external forms of remembering, thinking and communicating. any material intelligence is supported by three pillars (technological, social, cognitive)
“we use Leibniz’s notatio rather than Newton’s because it is more transparent and easier to understand”
what tools do we need to have to understand the cognitive component of literacy? literary studies? psychology?
programming provides affordances:
programming and writing are always bound to interpretation, and are both descriptive and performative to different degrees. the difference with writing is that context shapes what it means to perform within a rule-system. to what extent is that true within a programming environment?
The computer will not interpret procedure as one means them (locutionary) but as one writes them (illocutonary)
The essence of this [computer revolution] is the emergence of what we may call procedural epistemology—the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provide a framework for “what is” and computation provides a framework for “how to”.
source code is the locus of communication of procedural concepts
over the past 60 years, the attempt has been to make more writer-friendly languages to enhance semantic value and diminish the need for hardware knowledge”
approaching the computer’s understanding of code could be done through the perspective of creative coding: tension between textual form and mechanical interpretation.
There is a delight in working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff… Few media creation are so flexible, so easy to polish and rework, so readily capable, so readily capable of realizing grand conceptual structures. - Fred Brooks
All coding involves ‘double-coding’. Good code simultaneously specifies a mechanical process and talks about this mechanical process to the programmer -montfort and mateas
the above quote evokes paloque berges in her “double-meaning”
other kind of double coding: esolangs. they are easy for the computer and incredibly hard for the human
software is history embodied (history of the writer, and of the context in which the writer wrote) - Nathan Ensmenger
james paul gee -> programmers exist within existing discourses, that they enter and must learn (no one is the first programmer, just as no one is the first writer)
also a section on OSS, showing that code literacy is as technical as it is social
“the joy of doing work in a challenging and supportive community justifies many programmers’ participation in F/OSS”