A piece of source code, as the linguistic representation of computational processes, themselves representations of a problem domain, is an ambiguous object. Such an object exists at the overlap of both human and machine comprehension, operates through un-intuitive scales of time and space, and is often hidden away by the executed processes of which it is the source. And yet, source code practitioners, those who write and read code, agree on the existence of a certain sense of beauty in program texts.
The research aims of this thesis were to highlight the specific aesthetic properties exhibited by varieties of source code. How does source code beauty manifest itself? Under which conditions? And to what end? Answering these questions, we showed how other aesthetic fields are used as metaphors in the aesthetic appreciation of source code and we identified the role aesthetics play in the existence and purpose of source code—with a particular focus on its role as a cognitive facilitato, and on its relationship to function. Our methodology started from an empirical approach, looking at specific instances of source code, and from the analysis of the discourses surrounding and commenting these instances. From this initial study, we identified several lexical fields that programmers refer to when they evoke the aesthetic properties of source code—literature, architecture, mathematics and craft.
Along with this first research axis, we also noted how the aesthetic judgement in source code is closely tied to its fuctionality. Indeed, any aesthetic value is dependent on the correct behaviour of the source code; ugly code is often related to its apparent bugginess and difficulty in understanding its function, while beautiful code implies that the actions resulting from the source code are conform to what the programmer had intended, along with being presented in the best possible way.
Such a definition of a best possible way is dependent on the social, cultural and economic spheres within which the code is produced. These include the social environment of the programmer(s), the technical environment in which the code is run and built, and the problem it aims at solving. Similarly, the concept of function within program texts has been shown to also be multifaceted, includin what the code should do, what it actually does, and how it does it.
The aesthetic properties of source code are therefore those of a semantic representation of computational space-time, whose purpose is the effortless communication of the operations of the computer, the intention of the programmer(s) and the representation of the world. In this sense, aesthetics perform a cognitive function.