**This post is a continuation of my blogging through Vikram Chandra's Geek Sublime: The Beauty of Code, the Code of Beauty. My next and final post on the book will provide a full review of the book. You can see my previous post on Chandra's book here.**
In few other places is our fetishization of the "new" more acutely felt than in contemporary discourse surrounding technology. From "new media" to "obsolescence," the way we talk about technology reaffirms modernity's understanding of itself as a process of continual rupture with the past.
By placing computer languages within the larger context of attempts to understand and produce languages algorithmically, Chandra pushes against this understanding of technology. He introduces his discussion of the topic through a potent critique of the role of the "cult of modernity" in the propagation of colonialism: "The cult of modernity, in order to demonstrate the newness of modernity, needs always to insist on the chasms that separate modernity from the past. The modernity of colonialism insisted on a corresponding un-modernity in the regions it conquered. It had to, in order to justify its own presence in these areas of darkness" (87).
To demonstrate a fundamental continuity between ancient and modern concepts of languages (natural and artificial) Chandra turns to a key text in the study of sanskrit— Pāṇini's Ashtadhyayi—composed in 500 BCE. Many of the early Sanskrit grammars were born of a desire to preserve classical Sanskrit against "linguistic deterioration and slippage" because of its status as a sacred language, "the language of the gods" (88). And, indeed, the development of strict rules for the preservation not only of the syntactic structure but even "the pitch, the tonality" and "the meter" preserved classical Sanskrit essentially unchanged even as the everyday use of the language continued to develop. Classical Sanskrit functioned, then, like Classical Arabic and Ecclesiastical Latin as a sort of artificially preserved, sacred language employed by the elite. But the existence of a premodern equivalent of something like an "artificial language" is not the most striking way in which the development of the study of sanskrit resembles contemporary computer science, rather it is the Ashtadyayi's attempt to develop a "complete, maximally concise, and theoretically consistent analysis of Sanskrit grammatical structures" for both classical Sanskrit and the Sanskrit of Pāṇini's own time.
While inaugurating "descriptive and generative linguistics" avant la lettre, the Ashtadyayi proposes an effectively algorithmic approach to the study of Sanskrit through the development and expansion of four types of rules that could account for the whole of the language. Chandra's description of these types of rules makes the relationship of Panini's endeavour to contemporary coding abundantly clear:
The rules are of four types: (1) rules that function as definitions; (2) metarules--that is, rules that apply to other rules; (3) headings--rules that form the bases for other rules; and (4) operational rules. Some rules are universal while others are context sensitive; the sequence of rule application is clearly defined. Some rules can override others. Rules can call other rules, recursively. The application of one rule to a linguistic form can cause the application of other rules, which may in turn trigger other rules, until no more rules are applicable. The operational rules "carry out four basic types of operations on strings: replacement, affixation, augmentation, and compounding." (89)
Chandra's account of the Ashtadyayi serves as an important example of the power and importance of constructing alternative histories of the development of information technology. What separates the contemporary development of computer languages from earlier accounts of human languages is less some intrinsic novelty in the former but rather its understanding of itself as novel.