Numérique et sciences informatiques (spécialité) · Première
Diversité des langages de programmation : cours de NSI Première
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
- Il n'existe pas de langage meilleur que les autres : chaque langage est pensé pour des usages précis, par exemple R pour les statistiques et la science des données.2
- Les langages ont une filiation : R est une implémentation de S, avec en plus une portée lexicale et un ramasse-miettes.2
- Pour comparer deux langages, on regarde leur usage, leur filiation, la visibilité des variables, la gestion de la mémoire, les bibliothèques et la communauté.
- Un langage vit par sa communauté et ses bibliothèques : R compte plus de 200 bibliothèques dès 2003.2
- En NSI, le langage de référence est Python ; comprendre la diversité permet de transposer ses compétences d'un langage à l'autre.1
Pourquoi y a-t-il plusieurs langages ?
Quand tu apprends à programmer en NSI, tu travailles surtout avec Python. Les sujets de l'épreuve de spécialité comportent d'ailleurs un exercice de programmation orientée objet en Python et d'algorithmique.1 On pourrait croire qu'un seul langage suffirait pour tout faire. Pourtant, il en existe un très grand nombre, et de nouveaux apparaissent régulièrement.
Ce cours répond à une question simple : pourquoi cette diversité, et comment s'y repérer ? Tu vas voir qu'un langage n'est pas un simple décor. C'est un outil, imaginé par des personnes précises, pour des besoins précis, à un moment donné de l'histoire de l'informatique.
Pour rester concret, nous nous appuierons sur un exemple détaillé : le langage R. Tu ne le rencontreras sans doute pas en cours, mais il illustre très bien ce qui différencie deux langages : son usage, son histoire, ses mécanismes internes et la communauté qui l'entoure.
Tu as déjà vu en classe les constructions élémentaires (variables, tests, boucles, fonctions) et la façon de spécifier et de tester un programme. Ici, on prend du recul : on regarde ces idées depuis l'extérieur, comme quelqu'un qui compare plusieurs outils d'un même atelier.
Un langage pensé pour un usage : l'exemple de R
R est à la fois un langage de programmation et un logiciel libre. Son terrain, ce sont les statistiques et la science des données.2 Les statisticiens, les data miners et les data scientists s'en servent beaucoup pour construire des outils de calcul statistique et pour étudier des jeux de données.2
Cela signifie que les personnes qui l'ont fait évoluer ont fait des choix pour faciliter ce travail précis. Quand tu veux calculer une moyenne ou représenter une série de valeurs, le langage et ses bibliothèques mettent à ta disposition des outils déjà prêts, au lieu de te laisser tout écrire à la main.
On voit ici un principe général : plus un langage est spécialisé, plus il est confortable dans son domaine, et moins il est naturel en dehors. Un langage généraliste, au contraire, sait faire un peu de tout sans être taillé pour une tâche en particulier.
Les langages ont une histoire et une filiation
Un langage ne naît presque jamais de rien. Il reprend des idées d'autres langages, les modifie, les combine. R est une implémentation du langage S, à laquelle s'ajoutent deux éléments : une portée lexicale, inspirée du langage Scheme, et un ramasse-miettes.2 Quant à S, il a été conçu aux laboratoires Bell par John Chambers, avec l'aide de ses collègues.2
La toute première version officielle de R, numérotée 1.0.0, date du 29 février 2000.2 Trois ans plus tard, en 2003, l'équipe qui fait vivre le projet met en place la R Foundation for Statistical Computing, pour soutenir R et servir de point de contact à la communauté.2
Retiens la logique : S existait avant R, R l'a repris et enrichi. On dit que R descend de S. Cette filiation explique pourquoi deux langages peuvent se ressembler beaucoup tout en étant distincts.
Les critères pour comparer deux langages
Pour ne pas se perdre dans la diversité, on compare les langages selon quelques critères stables. Aucun critère n'est « bon » ou « mauvais » en soi : tout dépend du besoin. Cette grille te servira dans tous les cas où tu devras justifier un choix technique, à l'écrit comme à l'oral.
- Définir le besoinQuel problème veux-tu résoudre ?
- Repérer l'écosystèmeBibliothèques, documentation, aide.
- TesterÉcris un petit programme au résultat connu.
- DéciderRetiens le langage le plus adapté.
Écosystème, communauté et popularité
Un langage ne vit pas seul. Ce qui le rend utile, ce sont aussi les bibliothèques écrites par d'autres et la communauté qui l'entretient. En 2003, le langage R comptait déjà plus de 200 bibliothèques développées par la communauté scientifique qui l'utilisait.2 Des rencontres entre utilisateurs sont organisées régulièrement, notamment au sein de groupes comme R-Ladies, qui défendent la diversité des genres chez les utilisateurs du langage.2
La popularité d'un langage se mesure avec des indices comme l'index TIOBE. R y est classé 13e en octobre 2025, puis 9e en septembre 2026.2 Cela montre qu'un langage évolue dans le temps : un rang n'est jamais définitif.
Et en NSI ? Python et la transposition
Au lycée, tu apprends les mêmes idées fondamentales (variables, boucles, fonctions, tests) dans un seul langage, Python. Les exercices de programmation de l'épreuve de spécialité s'appuient d'ailleurs sur lui, avec de la programmation orientée objet et de l'algorithmique.1
La diversité des langages ne remet pas cela en cause : elle te rappelle que ces idées se transposent. Une boucle for en Python a un équivalent dans la plupart des langages, avec une écriture différente.
Erreurs fréquentes et regard critique
Exercices corrigés
Exercice 1 Lire la chronologie de R
La première version officielle de R est publiée en 2000 et la R Foundation for Statistical Computing est créée en 2003. Combien d'années séparent ces deux événements ?
Indice 1
Fais une soustraction entre les deux années.
Voir la correction pas à pas
Repère l'année de la première version officielle : 2000.
Repère l'année de création de la fondation : 2003.
Calcule la différence : .
Il s'écoule 3 ans entre la première version officielle et la création de la fondation.
Exercice 2 Suivre un programme à portée lexicale
On considère le programme Python suivant :
n = 5
def somme_carres():
s = 0
for i in range(1, n + 1):
s = s + i * i
return s
def test():
n = 2
return somme_carres()
print(test())
Quelle valeur est affichée ?
Indice 1
Quel n la fonction somme_carres utilise-t-elle : celui où elle est écrite ou celui de test ?
Indice 2
Calcule ensuite .
Voir la correction pas à pas
somme_carresutilise lendéfini là où elle est écrite, c'est-à-dire lenglobal qui vaut 5.Le
n = 2detestest une variable locale àtest, invisible poursomme_carres.La boucle parcourt de 1 à 5.
Calcule .
Le programme affiche 55. Retenir : avec une portée lexicale, on lit le texte du programme pour savoir quelle variable est utilisée.
Exercice 3 Comparer des rangs de popularité
R est classé 13e à l'index TIOBE en octobre 2025, puis 9e en septembre 2026. De combien de places a-t-il progressé ?
Indice 1
Un rang plus petit signifie un meilleur classement.
Voir la correction pas à pas
Rang de départ : 13.
Rang d'arrivée : 9.
Nombre de places gagnées : .
R a progressé de 4 places.
Quiz
7 questions · correction immédiate · ton score reste sur ton appareil.
-
R est destiné aux statistiques et à la science des données.2 Ce n'est pas un langage de jeux vidéo ni de pages web : la tentation de répondre « web » vient du fait qu'on croise souvent des langages pour le web, mais ce n'est pas la vocation de R.
-
R est une implémentation du langage S.2 Scheme a inspiré la portée lexicale, et C et Fortran servent à écrire R, mais ce ne sont pas ses ancêtres directs ; confondre inspiration et implémentation est l'erreur fréquente.
-
R ajoute la portée lexicale, inspirée de Scheme, et un ramasse-miettes.2 Les deux autres propositions sont inventées : elles ne figurent pas dans les caractéristiques du langage.
-
La fonction
futilise la variable visible à l'endroit où elle est écrite : c'est la portée lexicale. Le ramasse-miettes concerne la mémoire, pas la visibilité des variables, ce qui est la confusion classique. -
R 1.0.0 est publiée le 29 février 2000.2 L'année 2003 est celle de la création de la R Foundation, ce qui prête à confusion.
-
Un meilleur classement correspond à un rang plus petit : passer de la 13e à la 9e place est une progression.2 Dire l'inverse vient d'une lecture trop rapide des nombres.
-
places.2 Additionner 13 et 9 serait faux : on cherche l'écart entre deux rangs, pas leur somme.
Les questions qu'on se pose
Pourquoi apprendre qu'il existe plusieurs langages si on code en Python ?
Parce que les idées de base (variables, boucles, fonctions) se retrouvent partout. Savoir qu'un langage est choisi selon un usage, comme R pour les statistiques,2 t'aide à comprendre pourquoi tu en rencontreras d'autres plus tard.
Quel est le meilleur langage de programmation ?
Il n'y en a pas un seul. On choisit selon l'usage, l'écosystème et la communauté. Un langage très présent dans un domaine, comme R en statistiques,2 peut être peu utilisé ailleurs.
À quoi sert de connaître la filiation d'un langage ?
Elle explique ses choix. Savoir que R descend de S et ajoute une portée lexicale et un ramasse-miettes2 permet de comprendre à la fois ses points communs et ses différences avec d'autres langages.
Est-ce que cette notion tombe à l'épreuve de NSI ?
Les sujets de l'épreuve portent sur des thèmes précis comme les bases de données, les réseaux, la programmation orientée objet en Python et l'algorithmique.1 Cette notion sert surtout à te donner du recul et un vocabulaire pour comparer des outils.
Sources
- Spécialité NSI - Numérique et Sciences Informatiques (formations, ressources, textes de référence), Éduscol STI. Consulté le 6 novembre 2026.
- R (langage), Wikipédia. Consulté le 6 novembre 2026.
- Origine du langage, Wikipédia. Consulté le 6 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.