One of the fascinating things about the software and its related professions is the kind of conceptual clustering that happens. I have argued that software, the profession of it, is the art of codifying innovations. Brooks famously wrote in the Mythical Man Month:
"The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination."
In this very real sense Brooks put forward this idea of programming and creation as an Art, that while part of a tractable medium, was infused with the metaphysical. The programmer as a creator of worlds, is, of course, no secret to the makers. It is in fact, a strange kind of addiction, and I would argue, the purest type of motivation of many who undertake the task. It is both a source of wonderful self expression, filled with whimsy, at times approaching the technologically sublime, and also, the source of a type of elitist affectation were the other, the non hacker and non painter, is equated with the brute and simpleton. But does software have a purpose beyond its creation if it is like poetry?
"Poetry [...] expands the mind by giving freedom to the imagination and by offering, from among the boundless multiplicity of possible forms accordant with a given concept, to whose bounds it is restricted, that one which couples with the presentation of the concept a wealth of thought to which no verbal expression is completely adequate, and by thus rising aesthetically to ideas. It invigorates the mind by letting it feel its faculty — free, spontaneous, and independent of determination by nature — of regarding and estimating nature as phenomenon in the light of aspects which nature of itself does not afford us in experience, either for sense or understanding, and of employing it accordingly in behalf of, and as a sort of schema for, the supersensuous. It plays with semblance, which it produces at will, but not as an instrument of deception; for its avowed pursuit is merely one of play, which, however, understanding may turn to good account and employ for its own purpose" - Immanuel Kant
Unlike Kant's perception of poetry, it would seem that software does the opposite for many. It limits and constrains the conceptual. Software as we know it now, in most of our communications, seems to deter the very generative nature of the freedom to imagine the "boundless multiplicity of possible forms". In this sense perhaps its purpose is to mediate conversations by establishing protocol, language, models and constraints. But if this kind of anti-poetry, anti-freedom (as in social contract) is truly part of the utility of software, I would think that the examination of these models would or ought become more akin to a type of cultural criticism, or perhaps even a new type of political philosophy.
So is code Art? Is code, like Lessig says, Law? Is it both?
