Bon, d’accord, admettons-le : l’idée qu’il y aurait uniquement quatre concepts clés pour maîtriser la programmation est une idée absurde. Pour tout dire, je voulais juste faire un clin d’oeil à Lacan ;-)

En plus, il ne s’agit pas (au moins philosophiquement parlant) de “ concepts ”, mais plutôt de ce que nous devrions probablement nommer des “ techniques ”. C’est précisement cet abus du terme de “ concept ” que Deleuze et Guattari ont pointé dans leur glorieuse passage de Qu’est-ce que la philosophie :

Le fond de la honte fut atteint quand l’informatique, le marketing, le design, la publicité, toutes les disciplines de la communication, s’emparèrent du mot concept lui-même, et dirent : c’est notre affaire, c’est nous les créatifs, nous sommes les *concepteurs* ! C’est nous les amis du concept, nous le mettons dans nos ordinateurs. (p.15)

Mais comme le domaine de L’atelier hypermédia n’est ni celui de la philosophie, ni celui du marketing ou de l’informatique, mais plutôt celui du champ artistique dans tout ce qu’il offre comme ouverture - nous revendiquons justemment, et en hommage à Deleuze et Guattari, le terme de “ concept ” pour désigner non seulement les aspects techniques de la programmation, mais également les enjeux conceptuels (philosophiquement parlant) que ces techniques engagent. Il est de notre position même ques les “ techniques ” informatiques font partie des transformations epistémologiques dans leur ensemble, et que cet ensemble ne saurait séparer ces différentes regimes. (Rendez-vous sur le site la machine abstraite pour une tentative de brosser un portrait de ces enjeux).

Enfin, un troisième terme pourrait également être employé pour décrire notre sujet: “ formes ”, dans le sens de quatre formes reconaissables dans la répétition, voire quatre configurations identifiables à travers des figures qui reviennent sans cesse dans pratiquement toute forme de programmation.

mais nous voila déjà très éloignés de notre sujet de départ et la raison pour laquelle vous lisez ce cours : comment mettre en pratique ces concepts/techniques/formes pour créer des œuvres?

Les 4 techniques/concepts/formes fondamentales de la programmation

Pour revenir sur l’aspect purement pragmatique de ce cours, parmis toutes les formes de la programmation, il y en a néanmois quatre dont on ne peut absoluement pas se passer, et qu’il faudrait à tout prix apprendre, si on veut sérieusement faire des programmes autonomes. Nous rencontrerons d’autres concepts par la suite, mais pour avancer dans le cours nous sommes obligés de voir ces quatres techniques. Si vous avez peur de la programmation, c’est alors de ce cour qu’il faut avoir peur. mais sachez qu’une fois que vous avez maîtrisé ces concepts, vous saurez lire probablement 90% du code de n’importe quel programme; et pour la plupart des programmes ces quatre techniques représenteront 100% de votre code. Il y a des techniques plus complexes (comme l’orienté-objet, par exemple), mais même dans ces cas, ses concepts sont plutôt des sous-concepts, c’est-à-dire des usages plus complexes de ces quatres formes fondamentales. Puis, si vous ne voulez pas entrer dans toutes ces complexités, ces quatre formes vous permettront au moins de faire de bons programmes, mêmes complexes, avec un minimum de moyens.

Les quatres concepts/formes/techniques fondamentaux de la programmation sont :

Pour ceux qui n’ont jamais programmé ni vu un programme, sachez que c’est le jeu combinatoire des quatre qui consitue l’art de la programmation (attention: nous ne disons pas par là que la programmation est de l’art). Presque sans limite, on peut empiler et emboiter ces quatres techniques les unes après les autres, les unes dans les autres, et construire une infinitude de résultats.

Nous allons maintenant expliquer chacun de ces concepts dans les quatre cours suivants. Patience, il y a beaucoup à voir; mais par la suite nous serons beaucoup plus autonomes.