Je vais répondre à Skirlet sur l’informatique (et préciser ce que, je pense, Philippakos voulait dire en parlant de l’informatique).
A priori, il ne s’agissait pas de « l’informatique » grand public, mais des langages informatiques. Les langages informatiques sont des langages (et non des langues) artificiels, formels, dotés d’une grammaire et d’une syntaxe tenant en général sur une page A4.
Historiquement, la première « développeuse » en informatique fut Ada Lovelace (Augusta Ada King, comtesse de Lovelace, fille du poète Byron, cf. http://fr.wikipedia.org/wiki/Ada_Lovelace pour sa biographie), qui « programmait » la machine de Charles Babbage, qui est l’ancêtre mécanique de l’ordinateur.
Mais il faut attendre la seconde guerre mondiale pour voir apparaître les premiers « vrais » langages de programmation destinés à être également compris par des humains.
Il se trouve que parmis les premiers langages, on trouve un langage écrit en français, le « PAF » ; cependant l’immense majorité de ces langages ont été développés aux Etats-Unis, qui avaient de vastes laboratoires de recherches, et qui n’avaient pas à se « reconstruire ».
De fait, puisqu’il fallait trouver des mots pour définir les « opérations » qu’on ordonnait à l’ordinateur, dès la phase du langage machine (succession d’instructions codées en hexadécimal, c’est à dire du type 87 A5 FF B6 touché, coulé, oups, excusez moi...) dépassée, c’est vers les langages naturels qu’on s’est tourné. Le PAF était en français, les autres en anglais, ou dans des contractions de l’anglais.
L’immense majorité des créateurs de langages, et des utilisateurs, travaillant en relation avec les laboratoires américains, les instructions étaient en anglais. Si le klingon, le quenya, le volapük avaient été plus pratiques, ils auraient vraisemblablement été adoptés, mais ce n’était pas le cas.
Les mots-clés, mots réservés de la syntaxe des langages, étaient de fait en anglais.
Comparons l’anglais et le français pour les bases même des langages de programmation :
« if/then/else » (avec quelquefois l’omission du then, voire du else) contre si/alors/sinon : gain de 2 caractères, soit 16 bits.
« for » contre « pour » : 1 caractère
« while » contre « tantque » : 2 caractères
« loop » contre « boucle » (boucle non conditionnelle) : 2 caractères
« exit » contre « sortie » : 2 caractères
« goto » contre « allerà » : 2 caractères
L’anglais avait des mots « intuitifs » plus courts, plus concis, que le français, même pour les développeurs français.
Mais ce n’est pas paresse parce que c’était trop long à taper ! En fait, les programmes étaient stockés, et le coût de stockage était assez important, et se faisait à l’octet (8 bits, 8 emplacements mémoire, 8 trous/pleins sur fiche perforée). Avoir des programmes plus compacts permettait donc de gagner de l’espace de stockage, ou, pour le même espace, d’avoir des langages plus performants (à noter que le FORTRAN ne considère même pas l’espace comme un séparateur de texte, ce qui élimine encore du « volume » de code)
Ainsi, deux facteurs ont joué, lors de la création des premiers langages informatique, à une époque ou l’anglais n’était pas forcément aussi prédominant culturellement que maintenant : le nombre d’utilisateurs, et la concision (dans ce cadre technique très précis).
De fait, donc, comme la plupart des langages informatiques actuels dérivent des tous premiers, ou s’en inspirent pour les améliorer, et comme le développeur est quelqu’un d’éminemment conservateurs et sectaires (c’est SON langage le meilleur, et si vous ne pensez pas qu’ADA, mon langage de prédilection, est le meilleur, c’est que vous ne valez rien... Tiens, ça ressemble un peu aux débats linguistiques langue1/langue2 ou on essaie de définir un langage comme meilleur qu’un autre ! En fait, tout dépend de l’utilisation, et du contexte. Dans tel contexte, tel langage est meilleur que celui là, mais devient moins bon dans tel autre...), et bien le formalisme « anglophone » des langages s’est perpétué. Encore que l’anglais « informatique » (c’est à dire les mots-clefs utilisés et le langage spécifique, comme process, thread - rien à voir avec le « thread » des forums -, task, frame, pipe, shell, core, etc...) soit assez réduit et bien loin de l’anglais naturel.
De fait, donc, par « ressemblance » des langages informatiques et du vocabulaire technique spécifique développé initialement pour l’informatique avec l’anglais, et de part la prépondérance des équipes américaines (et maintenant indiennes) en terme de nombre de développeurs l’anglais s’est imposé comme la langue de référence en informatique.
Rien ne nous empêcherait, maintenant, de créer un langage complètement basé sur le français (par exemple, ou le klingon, ou l’adunaîc, ou l’espéranto), puisque les contraintes techniques sont levées. D’ailleurs, lorsqu’on décrit un algorithme en France, on utilise le « langage mathématique », qui a des symboles mondialement utilisés, et dont les mots clefs changent avec le pays (du genre tant que xxx, faire zzz, sortir si yyy en France et while xxx, do zzz, exit if yyy en Angleterre). Rien sauf le conservatisme des développeurs.
Point anecdotique : même les anglais utilisent le français dans le contexte de l’escrime « classique ». Et c’est basé exactement sur la même cause : les grand théoriciens de l’escrime étaient, depuis le 18ème siècle, quasiment tous français, et c’est donc le français qui s’est imposé (et l’escrime dite « française »), et par conservatisme, le vocabulaire est resté.
Le principal obstacle, donc, à toute simplification, ou à toute adoption d’une autre langue comme langue de « communication » reste, à mon avis, le conservatisme. (et la mauvaise foi, et le chauvinisme, etc.)