F/OSS and Writing III: Coding as Writing
Coding can be seen as a specialized type of writing, with one primary difference. While writing operates under formal rules governing grammar and mechanics, the breaking of any one of these rules in a paper does not necessarily unravel the argument made by a paper. The most eloquent of arguments can contain a spelling error or a split infinitive and still function. However, coding falls under strict rules that must be followed due to the presence of the compiler, the entity that reads the source code and translates it into a program that can be run to fulfill its purpose. If errors occur in the code, the program will not compile and cannot be used. In other words, the worth of source code depends entirely on its accuracy with respect to the rules of the programming language. This idea holds true for most software programming languages, such as C++ and Java; it is worthwhile to note that in many Web languages, such as HTML, incorrect code can still produce what appears to be a correct result. This is not due to the web browser, the program that interprets HTML code, being lenient; rather, it is due to what is called quirks mode
within a browser. If a browser encounters ambiguous or incorrect code, it will render it based on its own standards; this phenomenon often results in a page that is not what the designer intended to display. This, too, has parallels to writing: a writing piece that contains errors in grammar or mechanics can still be parsed, but not as well as a writing piece that displays sound grammar and mechanics.
The idea of programming is often perceived as daunting, whether it's presented as using a programming language to write software or programming a household appliance to perform specific tasks. Learning to program increases both the user’s knowledge of the fundamentals of computer programs as well as knowledge of the fundamentals of computing and of computing systems. In Cory Doctorow's novel Little Brother (2009), Marcus Yallow, the teenage protagonist, says about computer programming that "Most of us will never build a car. Pretty much none of us will ever create an aviation system. Design a building. Lay out a city. Those are complicated machines, those things, and they're off-limits to the likes of you and me. But a computer is like, ten times more complicated, and it will dance to any tune you play" (p.119). In addition to describing the power and potential of computer programming, the statement of Doctorow's character echoes a popular sentiment that source code can be considered art. For some programmers, code is considered more for its aesthetic look and feel than for its functionality; Regardless of aesthetic appeal, the ability to write code for computers is key to understanding how they work, and by extension, how they can work for users.
Previous: F/OSS and Writing II: The Open Source Writing Process Next: F/OSS and Writing IV: Design As Expression