La Musique des Programmes
Lisp et le Jazz (et l’Aïkido)
Didier Verna
EPITA / LRDE
Vendredi 9 Septembre 2016
lrde/˜didier
@didierverna didier.verna
google+
in/didierverna
Trois Formes d’Esthétique
1. Respect / Conformité
I
Évoluer dans un système rigide des règles imposées
I
S’adapter à son environnement
I
Rassurer son auditoire
2. Liberté / Transgression
I
Contourner lesdites règles (tout en gardant le contrôle !)
I
Adapter l’environnement à soi
I
Surprendre son auditoire
3. Unification / Uniformisation
I
Rassembler des systèmes a priori différents en un seul système
I
Homogénéiser l’environnement (réduction des règles)
I
Perdre son auditoire
La Musique des Programmes Didier Verna
2/16
Liberté / Transgression
Transgression en Lisp
Intercession structurelle et comportementale
;; Sortir de (bla (bla (bla)))
(loop for k being the hash-key
using (hash-value v) of h
do (format t "~a ~a~%" k v))
(define-theme
:background blue
:face { option :foreground white
:face { syntax :underline t }
:face { usage :foreground magenta }})
La Musique des Programmes Didier Verna
3/16
Liberté / Transgression
Transgression dans le Jazz
Improvisation, atonalité, asymétrie etc.
Harpoon (Randy Brecker) I
Out of the Loop
Brecker Brothers
GRP Records, 1994
La Musique des Programmes Didier Verna
4/16
Unification / Uniformisation
Unification en Lisp
I
Un noyau minimaliste:
I
Atomes: 1.5 "hello" foobar etc.
I
S-Expr: (foobar 1.5 (baz “hello"))
I
Homoïconicité
I
Qui donne tous paradigmes qu’on veut:
I
Impératif, procédural, fonctionnel, OO, logique etc.
I
Méta-programmation, réflexivité (introspection, intercession)
La Musique des Programmes Didier Verna
6/16
Unification / Uniformisation
Unification dans le Jazz
I
Un noyau minimaliste:
I
Une thème
I
Une grille harmonique
I
Un esprit général (éventuellement)
I
Qui donne tous les styles qu’on veut:
I
Swing, latin, fusion, rock, brésilien, afro-cubain, caraïbes etc.
Morceaux choisis I
Bobby McFerrin, John Patitucci, Jim Beard, Sakesho,
Steve Coleman, Tribal Tech
La Musique des Programmes Didier Verna
7/16
Paroxysme: le free-jazz
I
Cf. Ornette Coleman
I
Liberté totale
I
Courant musical très mal compris
Hints, Tips, Tricks’n Cheats (Didier Verna) I
Roots and Leaves
Didier Verna @-quartet
DVL Records, 2014
Plaza Mayor Company, 2015
La Musique des Programmes Didier Verna
8/16
Perdre son Auditoire. . .
(let ((cmdline-options (list)))
(do ((cmdline-option
(pop (cmdline-options context))
(pop (cmdline-options context))))
((null cmdline-option))
(cond ((eq (cmdline-option-option cmdline-option) option)
(setf (cmdline-options context)
;; Actually, I *do* have a use for nreconc ;-)
(nreconc cmdline-options (cmdline-options context)))
(return-from getopt
(values (cmdline-option-value cmdline-option)
(list (cmdline-option-source cmdline-option)
(cmdline-option-name cmdline-option)))))
(t
(push cmdline-option cmdline-options))))
(setf (cmdline-options context) (nreverse cmdline-options)))
La Musique des Programmes Didier Verna
9/16
Perdre son Auditoire. . .
Slings and Arrows (Michael Brecker) I
Tales from the Hudson
Michael Brecker
Impulse, 1996
La Musique des Programmes Didier Verna
10/16
Un Dernier Point. . .
Printemptation (Didier Verna) I
@-quartet
Didier Verna @-quartet
DVL Records, 2006
Plaza Mayor Company, 2015
La Musique des Programmes Didier Verna
11/16
Les Bonnes Critiques
I
Facile à retenir, on l’entend une fois et ça y est !
I
Un morceau qui colle aux oreilles
I
On jurerait l’avoir déjà entendu. . .
Pourquoi ?
I
Un motif mélodique simple
I
Une progression harmonique ultra-classique (II V I)
(99.999% de la musique occidentale)
I Première forme esthétique
La Musique des Programmes Didier Verna
12/16
Les Fausses Bonnes Critiques
I
Un peu smooth-jazz
I
Agréable, easy-listening
Pourquoi ?
I
Base mélodique et harmonique
courte (3,5 mesures)
I
Déclinaisons multiples
I Troisième forme esthétique
La Musique des Programmes Didier Verna
13/16
Les Mauvaises Critiques
I
De la musique d’ascenseur
Pourquoi ?
I
Sentiment d’extrême lissage
I
Plus aucune surprise
I Deuxième forme esthétique
(absence de . . . ) ?
C’est faux !
mais il faut un minimum de culture
I
La Musique des Programmes Didier Verna
14/16
Conclusion
Exprimer un “problème” complexe, en des termes simples
Une esthétique fondamentale
Peut-on en dire autant de nos programmes / algorithmes / langages ?
Gardons la musique des programmes à l’esprit !
La Musique des Programmes Didier Verna
15/16
La Musique des Programmes Didier Verna
16/16