Bonsoir à tous
En préparant cette présentation, c'est devenu en fait une arme ultime
pour endormir mes enfants en moins de 5 minutes le soir
Je sais pas ce que ça va donner avec vous ce soir
donc je vous souhaite bon courage.
En fait ça vient plutôt d'un paradoxe que je lisais dans les offres d'emploi pour des web developeurs
où on demande en fait plusieurs années d'expérience sur un langage de programmation.
Parce qu'en fait un langage ça n'est ni plus ni moins qu'une syntaxe et une sémantique
C'est quelque chose qu'on apprend en quelques jours en fait.
Ici vous avez l'exemple en Java où on montre comment déclarer une classe qui étend une autre classe.
J'avais le sentiment en fait que quand on parle d'un langage de programmation
il y a quelque chose en plus que la syntaxe et la sémantique
Quand on dit en fait qu'on a plusieurs années d'expérience en PHP
c'est qu'on connait effectivement la grammaire du langage
On connait aussi les outils pour développer efficacement ou debugger
On connait aussi l'environnement de production pour déployer son application
on connait les fonctions natives du langage pour ne pas réinventer la roue
on connait l'écosystème, les frameworks, les librairies pour développer plus rapidement
et puis on parle aussi en fait de la communauté qui est liée au langage
Donc j'ai vraiment chercher à contextualiser tout ça
et je me suis rendu compte que c'était plus ou moins la définition d'un langue,
parce qu'une langue c'est un langage avec un apsect historique et culturel.
J'ai essayé de mettre des mots là dessus
pour savoir si c'était pertinent de parler d'histoire ou de culture pour un langage de programmation
On peut parler d'histoire comme en éthymologie en langue naturelle
On explique l'éthymologie des mots par l'histoire,
On explique les inconsistences d'un langage de programmation aussi par son histoire.
En PHP on a tout un tas de fonctions qui ont aucun lien
enfin il n'y a aucune structure
parce qu'il y a des fonctions qui arrivent de C
d'autres qui ont été amenées plus tard dans le langage
le langage était pas profesionnalisé à la base
et donc personne n'a vraiment arbitré des usages sur le langage.
Il y a aussi énorméménent de conventions,
d'éléments conventionnels dans l'écriture des langages.
En Python par exemple
on a les même identifier pour définir une classe,
une variable ou une fonction.
Et c'est en fait par les conventions
qu'on sait si on a à faire, dans le contexte hein,
si on va pas regarder la source
mais c'est comme ça qu'on sait
il n'y a pas de mot-clef new
pour instancier une classe en Python
C'est grâce aux conventions de nommage
des objets ou des fonctions
qu'on sait si on a à faire
à un objet ou à une fonction.
Donc en gros, je pense plutôt
qu'un langage de programmation
c'est comme le langage verbal ou gestuel
c'est une modalité de communication
entre l'homme et la machine
Python, PHP, Java sont des langues de programmation
c'est une instanciation de cette modalité
avec une histoire, une culture qui est associée au langage
Pour savoir à quoi ça sert
en fait c'est plutôt un jeu de mots
qui ne fait rire que moi, à la base
et sinon pour être plus sérieux :
ça consiste à dire qu'un développeur web
c'est pas seulement un bidouilleur de langage
c'est plutôt une personne polyglotte
qui met en oeuvre plusieurs langues de programmation
Voilà, merci.