Lisp, Jazz, Aikido

From LRDE

Abstract

The relation between Science (what we can explain) and Art (what we can't) has long been acknowledged and while every science contains an artistic part, every art form also needs a bit of science. Among all scientific disciplinesprogramming holds a special place for two reasons. Firstthe artistic part is not only undeniable but also essential. Second, and much like in a purely artistic discipline, the act of programming is driven partly by the notion of aesthetics: the pleasure we have in creating beautiful things.par Even though the importance of aesthetics in the act of programming is now unquestionedmore could still be written on the subject. The field called “psychology of programming” focuses on the cognitive aspects of the activity, with the goal of improving the productivity of programmers. While many scientists have emphasized their concern for aesthetics and the impact it has on their activity, few computer scientists have actually written about their thought process while programming.par What makes us like or dislike such and such language or paradigm? Why do we shape our programs the way we do? By answering these questions from the angle of aesthetics, we may be able to shed some new light on the art of programming. Starting from the assumption that aesthetics is an inherently transversal dimension, it should be possible for every programmer to find the same aesthetic driving force in every creative activity they undertake, not just programming, and in doing so, get deeper insight on why and how they do things the way they do.par On the other hand, because our aesthetic sensitivities are so personal, all we can really do is relate our own experiences and share it with others, in the hope that it will inspire them to do the same. My personal life has been revolving around three major creative activities, of equal importance: programming in Lispplaying Jazz music, and practicing Aikido. But why so many of them, why so different ones, and why these specifically?par By introspecting my personal aesthetic sensitivities, I eventually realized that my tastes in the scientific, artistic, and physical domains are all motivated by the same driving forces, hence unifying LispJazz, and Aikido as three expressions of a single essencenot so different after all. Lisp, Jazz, and Aikido are governed by a limited set of rules which remain simple and unobtrusive. Conforming to them is a pleasure. Because Lisp, Jazz, and Aikido are inherently introspective disciplines, they also invite you to transgress the rules in order to find your own. Breaking the rules is fun. Finally, if Lisp, Jazz, and Aikido unify so many paradigmsstyles, or techniques, it is not by mere accumulation but because they live at the meta-level and let you reinvent them. Working at the meta-level is an enlightening experience.par Understand your aesthetic sensitivities and you may gain considerable insight on your own psychology of programming. Mine is perhaps common to most lispers. Perhaps also common to other programming communities, but that, is for the reader to decideldots

Documents

Bibtex (lrde.bib)

@Article{	  verna.18.programming,
  author	= {Didier Verna},
  title		= {Lisp, Jazz, Aikido},
  journal	= {The Art, Science and Engineering of Programming Journal},
  year		= 2018,
  volume	= 2,
  number	= 3,
  month		= mar,
  doi		= {10.22152/programming-journal.org/2018/2/10},
  abstract	= {The relation between Science (what we can explain) and Art
		  (what we can't) has long been acknowledged and while every
		  science contains an artistic part, every art form also
		  needs a bit of science. Among all scientific disciplines,
		  programming holds a special place for two reasons. First,
		  the artistic part is not only undeniable but also
		  essential. Second, and much like in a purely artistic
		  discipline, the act of programming is driven partly by the
		  notion of aesthetics: the pleasure we have in creating
		  beautiful things.\par Even though the importance of
		  aesthetics in the act of programming is now unquestioned,
		  more could still be written on the subject. The field
		  called ``psychology of programming'' focuses on the
		  cognitive aspects of the activity, with the goal of
		  improving the productivity of programmers. While many
		  scientists have emphasized their concern for aesthetics and
		  the impact it has on their activity, few computer
		  scientists have actually written about their thought
		  process while programming.\par What makes us like or
		  dislike such and such language or paradigm? Why do we shape
		  our programs the way we do? By answering these questions
		  from the angle of aesthetics, we may be able to shed some
		  new light on the art of programming. Starting from the
		  assumption that aesthetics is an inherently transversal
		  dimension, it should be possible for every programmer to
		  find the same aesthetic driving force in every creative
		  activity they undertake, not just programming, and in doing
		  so, get deeper insight on why and how they do things the
		  way they do.\par On the other hand, because our aesthetic
		  sensitivities are so personal, all we can really do is
		  relate our own experiences and share it with others, in the
		  hope that it will inspire them to do the same. My personal
		  life has been revolving around three major creative
		  activities, of equal importance: programming in Lisp,
		  playing Jazz music, and practicing Aikido. But why so many
		  of them, why so different ones, and why these
		  specifically?\par By introspecting my personal aesthetic
		  sensitivities, I eventually realized that my tastes in the
		  scientific, artistic, and physical domains are all
		  motivated by the same driving forces, hence unifying Lisp,
		  Jazz, and Aikido as three expressions of a single essence,
		  not so different after all. Lisp, Jazz, and Aikido are
		  governed by a limited set of rules which remain simple and
		  unobtrusive. Conforming to them is a pleasure. Because
		  Lisp, Jazz, and Aikido are inherently introspective
		  disciplines, they also invite you to transgress the rules
		  in order to find your own. Breaking the rules is fun.
		  Finally, if Lisp, Jazz, and Aikido unify so many paradigms,
		  styles, or techniques, it is not by mere accumulation but
		  because they live at the meta-level and let you reinvent
		  them. Working at the meta-level is an enlightening
		  experience.\par Understand your aesthetic sensitivities and
		  you may gain considerable insight on your own psychology of
		  programming. Mine is perhaps common to most lispers.
		  Perhaps also common to other programming communities, but
		  that, is for the reader to decide\ldots}
}