La "langue moyenne" n'est pas l'anglais, donc il faut deviner ce que vous voulez dire. moyenne . Si vous voulez dire "un langage de niveau intermédiaire d'abstraction", c'est une évaluation juste, bien que vous ayez raison de dire que, par rapport à la plupart des autres langages, il s'étend pour couvrir un domaine inconfortable. grand site une gamme de niveaux d'abstraction.
Les langages qui fournissent (d'abord et avant tout) un ramassage automatique et intrinsèque des déchets travaillent clairement à un niveau d'abstraction plus élevé -- probablement trop éloigné de la machine pour être pleinement utilisable pour les parties de plus bas niveau des noyaux, des pilotes de périphériques, etc., mais beaucoup plus pratique et exempt de bogues de gestion de la mémoire que les langages qui n'offrent pas une telle possibilité (ou qui ne l'offrent qu'à travers des pointeurs "prétendument intelligents" qui font typiquement une GC extrêmement rudimentaire -- souvent aussi rudimentaire que le comptage de références ( !), à mille lieues des architectures GC modernes). Presque tous les langages répandus déployés après C++ ont inclus le garbage collection dans leurs caractéristiques intrinsèques.
À l'autre extrémité du spectre, les langages d'assemblage spécifiques aux machines travaillent clairement à un niveau d'abstraction inférieur à celui du C++ (il est d'ailleurs courant que les compilateurs C++ fournissent, en tant qu'extensions non standard, la possibilité d'intégrer le langage d'assemblage afin de permettre aux programmeurs avancés d'utiliser ses fonctionnalités lorsque cela est justifié).
En ce qui concerne "le système d'exploitation ( ?) le plus répandu dans le monde", la question devient difficile à trancher -- de plus en plus de gadgets de toutes sortes, par exemple, sont basés sur un noyau Linux, des téléphones (pensez à Android) aux téléviseurs &c (j'ai trouvé amusant il y a quelques mois, en déballant et en installant mon téléviseur à écran plat, mon lecteur DVD Blu-Ray et mon enregistreur numérique récemment achetés, de découvrir que chacun d'entre eux était livré avec un DVD contenant certaines des sources de ses logiciels. . il le fallait, voyez-vous, puisque ces logiciels sont basés sur Linux, bien sûr!-). ).
Au moins dans le cas de Linux, il est facile de vérifier que le langage de base n'est pas le C++, mais le C (qui est en réalité un langage très différent, bien sûr - par exemple, il n'offre même pas les "pointeurs intelligents" sur la base desquels certains soutiennent que le C++ ). fait ont GC;-). Essayez simplement de confondre C et C++ à proximité de Pike ou Thompson... et si vous le faites, soyez prêt à vous défiler. rapide juste au cas où ils pourraient trouver quelque chose de lourd à vous jeter dessus !-) ((Je soupçonne que d'autres de leurs ex-collègues des Bell Labs, comme Ritchie, pourraient réagir de la même manière, mais je ne le sais pas de première main, comme je le fais avec ceux qui sont mon collègues aujourd'hui ;-)).
Il en va de même pour les systèmes d'exploitation qui équipent les produits extrêmement populaires d'Apple (Macs, iPhones, iPads, ...) : Objective C pour la programmation des applications, mais C lui-même pour le noyau &c, c'est-à-dire au cœur même du système (si les OS d'Apple, en tant que tels, ne sont pas open-source, les traces de BSD et de Mach y sont encore très claires et visibles). Je crois que la plupart des autres téléphones (les Blackberries, les produits de Nokia, qu'il s'agisse de Symbian ou de Maemo, les offres actuelles de Windows Mobile) reposent également sur le C au cœur du système, et non sur le C++ (on peut facilement le vérifier pour les systèmes à code source ouvert, mais pas aussi facilement pour les systèmes à code source fermé, mais, encore une fois, tous les indices vont dans ce sens).
Si vous pensez à Windows, je suis à peu près sûr (jusqu'à l'époque de Win 2000 inclus, du moins, d'après les tentatives de recrutement que Microsoft m'a adressées à cette époque) que le noyau était également basé sur C, et non sur C++ (je ne sais pas s'il a été entièrement réécrit pour XP, Vista, Windows 7 -- ce serait étonnant, mais, bien sûr, cela n'en fait pas pour autant un système de gestion de la qualité). impossible ;-).
Globalement, il me semble que le langage dominant pour les cœurs de tous les systèmes d'exploitation répandus sera très probablement le C, et non le C++. Aucune raison intrinsèque, du moins une raison raisonnable sous-ensemble de C++ ne pourrait pas être utilisé à la place (je peux programmer en C aussi bien qu'en C++, mais bon sang que cela me manque ! modèles quand je le fais!-), mais il ne semble pas y avoir assez de "demande effective" pour que cela soit possible. se produire !-)