the aesthetics of code: on excellence in instrumental action

erik pineiro

field of flow, 2002

the aesthetics exist from a software development point of view. that beauty has a reason to be considered in programming. he doesn’t dive in technicalities, though, rather on how programmers experience programming, and does so through the lens of aesthetics. my contribution would be to add this technicality, and broaden it to other groups.

interesting pages are: pp.159-201 - pp.201-237

the assumption is that programming is about personal expression and belonging (programming as a religious practice)

a deeper aspect is “the fertility of fantasy and its role in the processes of technological innovation”, or “the impossibility of curbing the abundance of life” (feyerabend)

our current understanding of software engineering is one of efficiency (and there are other values at play in other types of programming, artistic, academic, hacking).

he argues that the complexity of programming is not so much an absolute one (“oh, it belongs to computation”), but also a personal one, brought it by programmers themselves.

the program being written “how it should be done” is reminiscent of Pye’s aesthetics of worksmanship and moral commitment to quality.

the inherent properties of software:

5 - coding styles

Paul W. Oman’s and Curtis R. Cook’s paper Typographic Style is More than Cosmetic (Oman and Cook 1990) argue for typographic importance in source code.

In programming, as in the majority of disciplines of human activity, there are different, sometimes opposed, notions of what it is that makes something beautiful. A complete classification of all these ideals for the case of programming coding styles would be a nice thing to present, but I cannot do that. The main problem is not that there are so many programmers scattered all over the world, not even that they lack a formal organising body; the real problem is that beauty, in programming, is a private affair, something kept among programmers and absent from the official discourse: programmers are not supposed to spend their time creating beauty, they are supposed to create programs that work. p.117

section on readability as choice, and highlights:

the concept of vanity in programmers.

6 - aesthetic ideals

most popular aesthetic attributes of software (all non-aesthetic terms used in an aesthetic sense)

kant says that beauty is separate from both theory and practice. i agree.

however, he says that one possesses all the necessary knowledge to appreciate something as beautiful or not. I would argue that there are different levels of knowledge which imply different levels of beauty in the same object. so it’s about the subjectivity of beauty*. not sure if I agree with this either, since there could be some structural, beautiful forms (by the way, are patterns beautiful, from alexander’s perspective?).

are there canons of beauty in programming? probably, to a certain extent, but they are highly context-dependent.

elegance is irreducible but correlated with manifestations.

metaphor of the colorful painting: colorful is not inherently beautiful or not, but when applied to something beautiful, it is correlated by the manifestation of a lot of colors, say in particularly rich or vivid palettes.

apparently, sibley says that is impossible to define what is “beautifully combined”. well if you take a goal-oriented approach, it becomes actually easy: does it do the job? (not completely explanatory but partially). because, yes, we don’t use rules, but we use heuristics.

coming back to the “what it does”, there can be a parallel seen between the aesthetic aspect of software and its public aspect? re-use -> zusammenleben -> habitability

private aesthetics vs. public aesthetics?


7 - instrumental goodness

types of goodness:

he also assumes that code is a sort of self-expression. i’m not so sure.

is instrumental goodness computer beauty, and intrinsic goodness human beauty?

unquantifiable does not mean un-manifested!

aesthetic discussions in slashdot seem to be related to moral statements