1 00:00:07,040 --> 00:00:08,963 Bonsoir à tous 2 00:00:08,963 --> 00:00:12,562 En préparant cette présentation, c'est devenu en fait une arme ultime 3 00:00:12,562 --> 00:00:15,080 pour endormir mes enfants en moins de 5 minutes le soir 4 00:00:15,080 --> 00:00:17,920 Je sais pas ce que ça va donner avec vous ce soir 5 00:00:17,920 --> 00:00:19,160 donc je vous souhaite bon courage. 6 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 7 00:00:28,096 --> 00:00:32,720 où on demande en fait plusieurs années d'expérience sur un langage de programmation. 8 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 9 00:00:36,360 --> 00:00:39,440 C'est quelque chose qu'on apprend en quelques jours en fait. 10 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. 11 00:00:46,360 --> 00:00:50,248 J'avais le sentiment en fait que quand on parle d'un langage de programmation 12 00:00:50,248 --> 00:00:55,080 il y a quelque chose en plus que la syntaxe et la sémantique 13 00:00:55,080 --> 00:00:59,360 Quand on dit en fait qu'on a plusieurs années d'expérience en PHP 14 00:00:59,360 --> 00:01:02,760 c'est qu'on connait effectivement la grammaire du langage 15 00:01:02,760 --> 00:01:07,160 On connait aussi les outils pour développer efficacement ou debugger 16 00:01:07,160 --> 00:01:11,440 On connait aussi l'environnement de production pour déployer son application 17 00:01:11,440 --> 00:01:16,560 on connait les fonctions natives du langage pour ne pas réinventer la roue 18 00:01:16,560 --> 00:01:23,040 on connait l'écosystème, les frameworks, les librairies pour développer plus rapidement 19 00:01:23,040 --> 00:01:27,080 et puis on parle aussi en fait de la communauté qui est liée au langage 20 00:01:27,080 --> 00:01:30,480 Donc j'ai vraiment chercher à contextualiser tout ça 21 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, 22 00:01:34,600 --> 00:01:39,680 parce qu'une langue c'est un langage avec un apsect historique et culturel. 23 00:01:39,680 --> 00:01:41,309 J'ai essayé de mettre des mots là dessus 24 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 25 00:01:46,360 --> 00:01:52,222 On peut parler d'histoire comme en éthymologie en langue naturelle 26 00:01:52,222 --> 00:01:56,216 On explique l'éthymologie des mots par l'histoire, 27 00:01:56,216 --> 00:02:01,520 On explique les inconsistences d'un langage de programmation aussi par son histoire. 28 00:02:01,520 --> 00:02:05,600 En PHP on a tout un tas de fonctions qui ont aucun lien 29 00:02:05,600 --> 00:02:07,280 enfin il n'y a aucune structure 30 00:02:07,280 --> 00:02:09,680 parce qu'il y a des fonctions qui arrivent de C 31 00:02:09,680 --> 00:02:12,120 d'autres qui ont été amenées plus tard dans le langage 32 00:02:12,120 --> 00:02:14,142 le langage était pas profesionnalisé à la base 33 00:02:14,142 --> 00:02:21,080 et donc personne n'a vraiment arbitré des usages sur le langage. 34 00:02:21,080 --> 00:02:23,440 Il y a aussi énorméménent de conventions, 35 00:02:23,440 --> 00:02:26,913 d'éléments conventionnels dans l'écriture des langages. 36 00:02:26,913 --> 00:02:27,800 En Python par exemple 37 00:02:27,800 --> 00:02:31,000 on a les même identifier pour définir une classe, 38 00:02:31,000 --> 00:02:33,680 une variable ou une fonction. 39 00:02:33,680 --> 00:02:35,320 Et c'est en fait par les conventions 40 00:02:35,320 --> 00:02:37,520 qu'on sait si on a à faire, dans le contexte hein, 41 00:02:37,520 --> 00:02:39,440 si on va pas regarder la source 42 00:02:39,440 --> 00:02:40,480 mais c'est comme ça qu'on sait 43 00:02:40,480 --> 00:02:42,040 il n'y a pas de mot-clef new 44 00:02:42,040 --> 00:02:43,600 pour instancier une classe en Python 45 00:02:43,600 --> 00:02:45,640 C'est grâce aux conventions de nommage 46 00:02:45,640 --> 00:02:47,718 des objets ou des fonctions 47 00:02:47,718 --> 00:02:48,960 qu'on sait si on a à faire 48 00:02:48,960 --> 00:02:51,642 à un objet ou à une fonction. 49 00:02:51,642 --> 00:02:54,520 Donc en gros, je pense plutôt 50 00:02:54,520 --> 00:02:56,309 qu'un langage de programmation 51 00:02:56,309 --> 00:02:58,400 c'est comme le langage verbal ou gestuel 52 00:02:58,400 --> 00:03:00,440 c'est une modalité de communication 53 00:03:00,440 --> 00:03:02,393 entre l'homme et la machine 54 00:03:02,393 --> 00:03:07,440 Python, PHP, Java sont des langues de programmation 55 00:03:07,440 --> 00:03:11,480 c'est une instanciation de cette modalité 56 00:03:11,480 --> 00:03:16,400 avec une histoire, une culture qui est associée au langage 57 00:03:16,400 --> 00:03:18,136 Pour savoir à quoi ça sert 58 00:03:18,136 --> 00:03:19,160 en fait c'est plutôt un jeu de mots 59 00:03:19,160 --> 00:03:21,480 qui ne fait rire que moi, à la base 60 00:03:21,480 --> 00:03:24,640 et sinon pour être plus sérieux : 61 00:03:24,640 --> 00:03:27,480 ça consiste à dire qu'un développeur web 62 00:03:27,480 --> 00:03:29,640 c'est pas seulement un bidouilleur de langage 63 00:03:29,640 --> 00:03:31,440 c'est plutôt une personne polyglotte 64 00:03:31,440 --> 00:03:33,800 qui met en oeuvre plusieurs langues de programmation 65 00:03:33,800 --> 00:03:36,320 Voilà, merci.