0:00:07.040,0:00:08.963 Bonsoir à tous 0:00:08.963,0:00:12.562 En préparant cette présentation, c'est devenu en fait une arme ultime 0:00:12.562,0:00:15.080 pour endormir mes enfants en moins de 5 minutes le soir 0:00:15.080,0:00:17.920 Je sais pas ce que ça va donner avec vous ce soir 0:00:17.920,0:00:19.160 donc je vous souhaite bon courage. 0:00:19.160,0:00:28.096 En fait ça vient plutôt d'un paradoxe que je lisais dans les offres d'emploi pour des web developeurs 0:00:28.096,0:00:32.720 où on demande en fait plusieurs années d'expérience sur un langage de programmation. 0:00:32.720,0:00:36.360 Parce qu'en fait un langage ça n'est ni plus ni moins qu'une syntaxe et une sémantique 0:00:36.360,0:00:39.440 C'est quelque chose qu'on apprend en quelques jours en fait. 0:00:39.440,0:00:46.360 Ici vous avez l'exemple en Java où on montre comment déclarer une classe qui étend une autre classe. 0:00:46.360,0:00:50.248 J'avais le sentiment en fait que quand on parle d'un langage de programmation 0:00:50.248,0:00:55.080 il y a quelque chose en plus que la syntaxe et la sémantique 0:00:55.080,0:00:59.360 Quand on dit en fait qu'on a plusieurs années d'expérience en PHP 0:00:59.360,0:01:02.760 c'est qu'on connait effectivement la grammaire du langage 0:01:02.760,0:01:07.160 On connait aussi les outils pour développer efficacement ou debugger 0:01:07.160,0:01:11.440 On connait aussi l'environnement de production pour déployer son application 0:01:11.440,0:01:16.560 on connait les fonctions natives du langage pour ne pas réinventer la roue 0:01:16.560,0:01:23.040 on connait l'écosystème, les frameworks, les librairies pour développer plus rapidement 0:01:23.040,0:01:27.080 et puis on parle aussi en fait de la communauté qui est liée au langage 0:01:27.080,0:01:30.480 Donc j'ai vraiment chercher à contextualiser tout ça 0:01:30.480,0:01:34.600 et je me suis rendu compte que c'était plus ou moins la définition d'un langue, 0:01:34.600,0:01:39.680 parce qu'une langue c'est un langage avec un apsect historique et culturel. 0:01:39.680,0:01:41.309 J'ai essayé de mettre des mots là dessus 0:01:41.309,0:01:46.360 pour savoir si c'était pertinent de parler d'histoire ou de culture pour un langage de programmation 0:01:46.360,0:01:52.222 On peut parler d'histoire comme en éthymologie en langue naturelle 0:01:52.222,0:01:56.216 On explique l'éthymologie des mots par l'histoire, 0:01:56.216,0:02:01.520 On explique les inconsistences d'un langage de programmation aussi par son histoire. 0:02:01.520,0:02:05.600 En PHP on a tout un tas de fonctions qui ont aucun lien 0:02:05.600,0:02:07.280 enfin il n'y a aucune structure 0:02:07.280,0:02:09.680 parce qu'il y a des fonctions qui arrivent de C 0:02:09.680,0:02:12.120 d'autres qui ont été amenées plus tard dans le langage 0:02:12.120,0:02:14.142 le langage était pas profesionnalisé à la base 0:02:14.142,0:02:21.080 et donc personne n'a vraiment arbitré des usages sur le langage. 0:02:21.080,0:02:23.440 Il y a aussi énorméménent de conventions, 0:02:23.440,0:02:26.913 d'éléments conventionnels dans l'écriture des langages. 0:02:26.913,0:02:27.800 En Python par exemple 0:02:27.800,0:02:31.000 on a les même identifier pour définir une classe, 0:02:31.000,0:02:33.680 une variable ou une fonction. 0:02:33.680,0:02:35.320 Et c'est en fait par les conventions 0:02:35.320,0:02:37.520 qu'on sait si on a à faire, dans le contexte hein, 0:02:37.520,0:02:39.440 si on va pas regarder la source 0:02:39.440,0:02:40.480 mais c'est comme ça qu'on sait 0:02:40.480,0:02:42.040 il n'y a pas de mot-clef new 0:02:42.040,0:02:43.600 pour instancier une classe en Python 0:02:43.600,0:02:45.640 C'est grâce aux conventions de nommage 0:02:45.640,0:02:47.718 des objets ou des fonctions 0:02:47.718,0:02:48.960 qu'on sait si on a à faire 0:02:48.960,0:02:51.642 à un objet ou à une fonction. 0:02:51.642,0:02:54.520 Donc en gros, je pense plutôt 0:02:54.520,0:02:56.309 qu'un langage de programmation 0:02:56.309,0:02:58.400 c'est comme le langage verbal ou gestuel 0:02:58.400,0:03:00.440 c'est une modalité de communication 0:03:00.440,0:03:02.393 entre l'homme et la machine 0:03:02.393,0:03:07.440 Python, PHP, Java sont des langues de programmation 0:03:07.440,0:03:11.480 c'est une instanciation de cette modalité 0:03:11.480,0:03:16.400 avec une histoire, une culture qui est associée au langage 0:03:16.400,0:03:18.136 Pour savoir à quoi ça sert 0:03:18.136,0:03:19.160 en fait c'est plutôt un jeu de mots 0:03:19.160,0:03:21.480 qui ne fait rire que moi, à la base 0:03:21.480,0:03:24.640 et sinon pour être plus sérieux : 0:03:24.640,0:03:27.480 ça consiste à dire qu'un développeur web 0:03:27.480,0:03:29.640 c'est pas seulement un bidouilleur de langage 0:03:29.640,0:03:31.440 c'est plutôt une personne polyglotte 0:03:31.440,0:03:33.800 qui met en oeuvre plusieurs langues de programmation 0:03:33.800,0:03:36.320 Voilà, merci.