‹Programming› 2018
Mon 9 - Thu 12 April 2018 Nice, France
Wed 11 Apr 2018 13:45 - 14:30 at Baie des Anges A + B - Session 2

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.

Eventhough the importance of aesthetics in the act of programming is now unquestioned, not much has been 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 the programmers. Very few programmers have written about their thought process while programming either, and even fewer on their concern for aesthetics, and the impact it has on their activity.

I can see three reasons for this. First, it may be frightening to do so. Reflecting on our aesthetic sensitivities involves thinking about our own emotions, and not everyone is ready or willing to perform that kind of introspection. Second, this introspection needs to be very deep, as our aesthetic sensitivities are extremely personal. Third, this introspection also needs to be very broad, as our aesthetic sensitivities affect every part of our lives.

The purpose of this essay is to shed some new light on the art of programming by answering questions such as what makes us like or dislike such or such language or paradigm, or why do we shape our programs the way we do, all of this from the angle of aesthetics. Starting from the assumption that aesthetics is an inherently transversal concern, 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.

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. It is certainly an important purpose of this essay. 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?

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. In doing so, I gained considerable insight on my own psychology of programming, perhaps common to most lispers, perhaps also common to other programming communities. But that is for the reader to decide…

Dr. Didier Verna has a Ph.D. in Computer Science and is currently working as an assistant professor for EPITA, a private Computer Science university located in Paris. He gives lectures on Operating Systems, Computer Graphics, Functional Programming and Typesetting. His main research topic is on the use of Lisp, a multi-paradigm dynamic language, to reconcile genericity and performance.

Didier Verna is also quite involved in free software: he has been one of the core maintainers of XEmacs for more than 15 years. He is also a committer to Gnus and BBDB, the author of several LaTeX packages and an occasional contributor to other Free Software projects (the GNU Autotools most notably; he was one of the technical reviewers for the “Goat Book”).

Didier Verna is a member of the European Lisp Symposium steering committee and serves as a program committee member in various conferences (International Lisp Conference, European Lisp Symposium, Dynamic Languages Symposium, Context-Oriented Programming workshop, ACM Symposium on Applied Computing).

All of this is in fact half-true: two days a week, Didier Verna drops his scientific hat and wears the Jazz musician one instead. But that is another story…

Wed 11 Apr

programming-2018-papers
13:45 - 15:00: Research Papers - Session 2 at Baie des Anges A + B
programming-2018-papers13:45 - 14:30
Talk
Didier VernaEPITA / LRDE
Link to publication DOI
programming-2018-papers14:30 - 15:00
Talk
Fabio NiephausHasso Plattner Institute, University of Potsdam, Tim FelgentreffOracle Labs, Potsdam, Tobias PapeHPI, Germany, Robert HirschfeldHPI, University of Potsdam, Marcel TaeumelHasso Plattner Institute
Link to publication DOI