Le "STL" a été écrit par Alexander Stepanov dans les jours qui ont précédé la normalisation de C ++. Le C ++ a existé dans les années 80, mais ce que nous appelons maintenant « C ++ » est le langage normalisé dans ISO / IEC 14882: 2014 (et les versions antérieures, comme ISO / IEC 14882: 2011).
La STL était déjà largement utilisée comme bibliothèque pour C ++, donnant aux programmeurs l'accès aux conteneurs, aux itérateurs et aux algorithmes. Lorsque la normalisation a eu lieu, le comité de langue a conçu des parties de la bibliothèque standard C ++ (qui fait partie de la norme de langage) pour correspondre très étroitement à la STL.
Au fil des ans, de nombreuses personnes - y compris d'éminents auteurs de livres et divers sites Web - ont continué à appeler la bibliothèque standard C ++ "la STL", malgré le fait que les deux entités sont distinctes et qu'il existe des différences. Ces différences sont encore plus prononcées dans la nouvelle norme C ++ à venir, qui comprend diverses fonctionnalités et modifie considérablement certaines classes.
La STL d'origine est maintenant souvent appelée «une implémentation de la bibliothèque de modèles standard C ++» (plutôt en arrière dans l'historique réel!), De la même manière que votre Microsoft Visual Studio ou GCC fournit une implémentation de la bibliothèque standard C ++. Mais la "bibliothèque de modèles standard" et la "bibliothèque standard" ne sont pas la même chose.
La bataille est de savoir si la bibliothèque standard actuelle doit être appelée "la STL" en tout ou en partie, et / ou si elle importe comment elle s'appelle.
Pour "STL"
Il y a une école de pensée qui dit que tout le monde sait maintenant que "STL" signifie la bibliothèque standard, tout comme tout le monde sait maintenant que "C ++" est le langage normalisé ISO.
Cela inclut également ceux qui pensent que cela n'a pas vraiment d'importance tant que toutes les parties comprennent ce dont on parle.
C'est un terme rendu encore plus répandu par la nature de la bête, dont une grande partie fait un usage intensif de la fonctionnalité C ++ connue sous le nom de "modèles".
Pour "Bibliothèque standard C ++" (ou stdlib)
Cependant, il existe une autre école de pensée - à laquelle je souscris - qui dit que cela prête à confusion. Les personnes qui apprennent le C ++ pour la première fois ne connaissent pas cette distinction et peuvent ne pas remarquer de petites différences de langage.
L'auteur de cet article a rencontré à plusieurs reprises des gens qui pensent que la bibliothèque standard C ++ entière est la STL, y compris des fonctionnalités qui n'ont jamais fait partie de la STL elle-même. La plupart des partisans vocaux de "la STL", en revanche, savent exactement ce qu'ils entendent par là et refusent de croire que tout le monde "ne comprend pas". De toute évidence, l'utilisation du terme n'est pas uniforme.
De plus, il existe des bibliothèques de type STL qui sont en fait des implémentations de la STL d'origine, pas la bibliothèque standard C ++. Jusqu'à récemment, STLPort était l'un d'entre eux (et même là, la confusion abonde!).
En outre, la norme C ++ ne contient le texte «STL» nulle part, et certaines personnes utilisent habituellement des expressions comme «la STL est incluse dans la bibliothèque standard C ++», ce qui est tout à fait incorrect.
Je suis convaincu que continuer à propager l'utilisation du terme de cette manière ne fera que conduire à l'incompréhension pour toujours. Hélas, il peut être totalement contre-productif d'essayer de changer les choses, même si c'est censé être pour le mieux. Nous pouvons juste être coincés avec des significations doubles pour toujours.
Conclusion
J'apprécie que ce post ait été un peu biaisé: j'ai écrit l'article auquel vous avez lié. :) Quoi qu'il en soit, j'espère que cela aidera à expliquer un peu mieux la bataille.
Mise à jour 13/04/2011
Voici trois exemples parfaits de quelqu'un qui utilise "la STL" pour faire référence à l'ensemble de la bibliothèque standard C ++. Cela continue de me dérouter que tant de gens jurent aveugles que personne ne le fasse jamais, alors qu'il est évident de le voir presque quotidiennement.