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