Le Code Source Est Pour Tout Le Monde. Si Seulement Vous Parlez Anglais - Vue Alternative

Le Code Source Est Pour Tout Le Monde. Si Seulement Vous Parlez Anglais - Vue Alternative
Le Code Source Est Pour Tout Le Monde. Si Seulement Vous Parlez Anglais - Vue Alternative

Vidéo: Le Code Source Est Pour Tout Le Monde. Si Seulement Vous Parlez Anglais - Vue Alternative

Vidéo: Le Code Source Est Pour Tout Le Monde. Si Seulement Vous Parlez Anglais - Vue Alternative
Vidéo: Éducation au développement durable & l'urgence climatique:fléchir la courbe du changement climatique 2024, Mai
Anonim

À l'occasion du 30e anniversaire du World Wide Web cette année, un linguiste expert du magazine Wired réfléchit sur le présent et le futur des langages de programmation, notant que même les très grands langages avec une longue tradition littéraire ne sont pas devenus la base d'un code source répandu. Vous devez connaître l'anglais. Néanmoins, la situation peut changer - dans les 30 prochaines années.

Le World Wide Web célèbre son 30e anniversaire cette année, donc pas mal de pixels ont été dépensés pour discuter des "promesses initiales du Web" - y compris l'idée que vous pouvez cliquer sur le bouton "Afficher la source" sur n'importe quelle page et comprendre facilement pourquoi il affiche exactement ce que vous voyez. Voici la toute première page Web que le site Web autodidacte Glitch a reproduit à l'occasion de l'anniversaire, pour vous montrer comment passer au code source et voir que certaines parties sont balisées et

(vous avez peut-être deviné ce que cela signifie "paragraphe"). Cela semble assez simple - mais vous lisez ceci sur un site Web en anglais du point de vue d'un anglophone.

Maintenant, imaginez que c'est la première page Web que vous avez vue dans votre vie et que vous avez hâte de jeter un coup d'œil dans les coulisses et de découvrir comment cela fonctionne. Mais au lieu des étiquettes verbales que vous connaissez, vous êtes confronté à la version que j'ai créée - elle n'est pas différente de l'original, à l'exception du fait que le code source est basé sur le russe plutôt que sur l'anglais. Je ne parle pas russe, et si vous, par exemple, faites de même, est-ce que les deux, et, et vous susciterez-vous tous le même désir d'essayer de faire quelque chose par vous-même?

En théorie, un langage de programmation peut être créé à partir de n'importe quel symbole. L'ordinateur s'en fiche. Il exécute déjà un programme de traduction invisible qui traduit tous ces IF du vôtre ou en zéros et ceux avec lesquels il fonctionne, et nous obtiendrions les mêmes résultats si nous prenions l'emoji de pomme de terre au lieu de IF ou le mystérieux glyphe cyrillique médiéval du 15ème siècle, le multioculaire «Oh Au lieu de. Le fait que les langages de programmation ressemblent souvent à l'anglais suggère seulement que notre pauvre cerveau humain mortel peut plus facilement se souvenir de mots que nous connaissons déjà.

Mais seuls quelques-uns d'entre nous connaissent déjà les mots qui désignent ces commandes - ceux qui parlent anglais. Ainsi, les «promesses initiales du Web» n'étaient que des promesses pour les utilisateurs anglophones, qu'ils soient de langue maternelle ou de personnes ayant accès à une éducation généralement élitiste, dont le produit est l'anglais courant, langue seconde, dans des zones non anglophones. …

Certes, les programmes informatiques et les plates-formes de réseaux sociaux sont disponibles aujourd'hui dans 30 à 100 langues, mais qu'en est-il des outils eux-mêmes qui peuvent nous aider à devenir des créateurs, pas seulement des utilisateurs d'outils informatiques? Je ne préconise même pas d'écrire des langages de programmation dans des langages petits et rarement utilisés (même si ce serait génial). Même les très grandes langues qui ont une tradition littéraire étendue et sont des langues de commerce régional, telles que le chinois, l'espagnol, l'hindi et l'arabe, ne sont toujours pas devenues la base d'un code source répandu.

Autant que je sache, il n'y a que quatre langages de programmation qui sont disponibles partout dans un format multilingue. Pas 400. Quatre (4).

Deux d'entre eux sont spécialement conçus pour l'enseignement de la programmation aux enfants: Scratch et Blockly. Les développeurs de Scratch ont même mené des recherches qui ont montré que les enfants apprennent à programmer plus facilement si le code source est basé sur leur propre langue que ceux qui sont bloqués en essayant d'apprendre une autre langue. Que se passera-t-il lorsque ces enfants grandiront? Les adultes qui ne maîtrisent pas les langues étrangères devront choisir parmi deux autres produits disponibles dans différentes langues: les formules Excel et le code wiki.

Vidéo promotionelle:

Oui, vous pouvez programmer des feuilles de calcul en utilisant n'importe quelle langue fournie pour l'interface du programme. Dans Excel et Google Sheets, vous pouvez écrire, par exemple, = IF (condition, value_if_true, value_if_false), ou vous pouvez entrer l'équivalent espagnol = SI (prueba_lógica, valor_si_es_verdadero, valor_si_es_falso) ou utiliser des dizaines d'autres langues. [Y compris le russe: IF (value, value_if_true, value_if_false - ed.)] Ce n'est peut-être pas la première chose qui vient à l'esprit lorsque l'on pense au code de programme, mais les programmes tabulaires peuvent en principe être utilisés comme une machine de Turing, et une telle utilisation de versions locales peut être économiquement justifiée.

De même, vous pouvez éditer Wikipédia et d'autres sites wiki, en tirant parti du fait que le code wiki existe dans de nombreuses langues différentes. Les commandes wiki de base ne sont spécifiques à aucune langue (par exemple, lorsqueest placé entre crochets), mais les commandes plus complexes utilisent des mots dans la langue locale. Par exemple, lorsque vous concevez un tableau de données sur une personne, dans Wikipédia en anglais, il y aura les paramètres "name =" et "birth_place =", qui dans la version bulgare de Wikipedia ressemblent à "name =" et "rodin-mesto =".

En plus de ces quatre codes de programmation multilingues largement disponibles, il existe plusieurs dizaines, voire une centaine de langages de programmation disponibles dans une ou deux langues autres que l'anglais, comme le Qalb (arabe), la version chinoise de Python, le Farsinet (persan), Le système de programmation Hindawi (bengali, gujarati et hindi) et même une version latine de Perl. Certains langages de programmation non anglais remontent à l'ère des ordinateurs de la taille d'une pièce construits par le gouvernement - par exemple, plusieurs langages de programmation de l'ère soviétique basés sur le russe, ainsi que le multilingue ALGOL 68 (années 1960) et 4e dimension (années 1980) … Mais de nombreux langages plus récents tels que Python, Ruby et Lua sont développés dans des pays non anglophones (Pays-Bas, Japon et Brésil),mais tout de même les commandes clés de ces langues sont l'anglais. La promesse initiale d'Internet ressemble donc plus à une menace pour de nombreuses personnes: parler anglais ou quitter le Web.

Ces langages coexistent car il est facile de traduire d'un langage de programmation à un autre. Il existe de nombreux convertisseurs de langage de programmation disponibles - vous pouvez ajouter un extrait de code JavaScript et obtenir une version Python, ou ajouter un extrait de code Markdown et obtenir une version HTML. Ils ne sont pas particulièrement difficiles à créer. Les langages de programmation ont des vocabulaires limités et bien définis qui ne présentent ni l'ambiguïté ni les nuances culturelles qui rendent difficile la traduction automatique automatique des langues naturelles. Connaissant les équivalents d'une centaine de commandes, vous pouvez automatiquement les remplacer l'une par l'autre pour n'importe quel morceau de code.

Il est si facile de traduire des langages de programmation que certains nerds le font de temps en temps par amour pour l'art ou pour rire, créant des langages de programmation dits ésotériques. Par exemple, LOLCODE est calqué sur les mèmes de chat lolcats, donc le programme est ouvert avec la commande HAI (PREVIOUS - ed.) Et fermé avec KTHXBAI (abréviation de «okay, thanks, bye»: «bye bye» - ed..) et Whitespace (Space) est complètement invisible à l'œil humain et se compose de caractères non imprimables: espace, tabulation et saut de ligne. Il y a même Pikachu, un langage de programmation entièrement composé de pi, pika et andpikachu, donc Pikachu lui-même pourrait - en théorie - se libérer de ces foutus entraîneurs Pokémon et prendre à la place un travail de programmeur bien rémunéré.

Lorsque vous créez une traduction Pokemon de votre code, cela semble absurde. Lorsque vous traduisez du code pour les milliards de personnes dans le monde qui ne parlent pas anglais, l'accès à des emplois bien rémunérés et la possibilité de modifier manuellement votre propre appareil ne sont plus un avantage. Le fait que le code source dépende de l'anglais prive les gens de cet avantage, et du point de vue de la technologie de codage, cela est complètement inutile.

Mais un langage de programmation ne concerne pas seulement ses caractéristiques techniques, c'est une communauté de personnes. Les quatre codes multilingues répandus ont eu plus de chance avec une telle communauté que les langages de programmation individuels non anglais - mais ils sont encore très peu nombreux. Il existe d'autres ressources utiles que vous devrez consulter lorsque vous rapporterez des bogues sur Google. Quoi qu'il en soit, bon sang, vous devez d'abord comprendre comment utiliser cette langue sur votre ordinateur. C'est pourquoi il était si important que le premier navigateur Web autorise l'édition, pas seulement la navigation, c'est pourquoi Glitch a tellement insisté pour que l'utilisateur puisse modifier le code source directement depuis la fenêtre du navigateur, et dans ce cas, il était facile d'obtenir de l'aide. Mais où est le Glitch pour le reste du mondene parle pas anglais? Comment rendre Internet encore plus pratique pour les personnes qui apprennent à le connaître maintenant (ou qui l'ont utilisé en tant que consommateurs au cours de la dernière décennie) que pour ses premiers visiteurs?

C’est pourquoi je ne perds pas espoir: dans l’Europe médiévale, si vous vouliez maîtriser l’art de l’écriture, vous deviez en parallèle apprendre une nouvelle langue. L'écriture signifie le latin. L'écriture dans le dialecte local - la langue maternelle que les gens avaient déjà parlée - se tenait quelque part en marge et n'était pas développée. Pourquoi apprendre à écrire en anglais ou en français? Il n'y a rien à lire là-dessus, tandis que le latin vous a donné accès à la tradition intellectuelle de la langue de communication internationale.

Parfois, en regardant en arrière à cette époque historique, nous nous demandons pourquoi les gens s'embarrassent de tout ce latin, alors qu'ils pouvaient simplement écrire dans la langue qu'ils parlaient. À cette époque, apprendre le latin pour apprendre à écrire était aussi logique qu'apprendre l'anglais aujourd'hui pour écrire du code, même si nous savons maintenant que les enfants apprennent à lire beaucoup plus rapidement s'ils apprennent d'abord dans leur langue maternelle. … Les arguments pour le code anglais que je vois sur des sites comme Stack Overflow font écho à cette idée: pourquoi ne pas simplement apprendre l'anglais? Cela vous donne accès à toute la tradition technologique.

On sait que la domination de l’écriture en latin a pris fin. L'art d'écrire s'est répandu dans d'autres langues. La capacité de créer du code source ne dépend pas plus de la connaissance de la langue anglaise que la technologie d'écriture elle-même n'était associée au latin. Je suggère de commencer par ajuster la façon dont nous parlons des langages de programmation qui ont des mots provenant de langages communs. Le premier site n'a pas été écrit en HTML, mais en HTML anglais. L'extrait de code qui apparaît en bas du premier site rendu par Glitch n'est pas écrit en Javascript, mais en anglais «Javascript». Quand on les appelle principalement anglais, cela devient de plus en plus évident que nous pouvons changer la situation - nous pouvons imaginer un monde dans lequel il y a aussi du HTML russe ou du «Javascript» swahili,où vous n'avez pas un avantage inhérent à l'apprentissage du code s'il arrive que votre langue maternelle soit l'anglais.

Ce monde n'existe pas encore. Peut-être que dans les 30 prochaines années, nous le créerons.

Gretchen McCulloch est linguiste résidente chez Wired, co-auteur du podcast linguistique Lingthusiasm, et auteur de Parce que Internet: Comprendre les nouvelles règles de la langue, prévu le 23 juillet 2019 de Riverhead (pingouin).

Recommandé: