Through iTunes University , I’m following along in the lectures of a Yale course on modern American literature, authors like Hemingway, Faulkner and Fitzgerald. The professor talks about three registers of analysis: the macro, middle, and micro registers. At the micro register, the focus of the analysis is on things like the role of sensory information such as smell or sound. At the middle register, the focus of the analysis is on how authors of the time would experiment with narrative structure, such as the non-linear approach that Faulkner uses in The Sound and the Fury. At the macro register, the focus is on the larger historical context of the books. It’s only at the micro-level that you can do analysis by examining individual sentences. And, yet, the only way an author can write a book is to generate it by indvidual sentences.
We also talk about software at different levels of analysis, such as architecture for the higher levels, design patterns for the middle level, and lines of code at the micro level. There’s long been a yearning to be able to create new software by working at a higher level of abstraction. In today’s jargon, this is known as model-driven-development, where some kind of high-level graphical or textual model is created, and then is ultimately transformed into code. And this approach has found success in certain niches, such as Simulink, LabView, and Yahoo! Pipes.
For most applications, I suspect that the only way to write the software will continue to be the same as the only way to write novels: line by line.