On 1/11/2016 1:37 AM, Stefan Ram wrote:
> Maybe you have made this experience:
>
> You: STL
> Other person: There is no STL.
> You: What?
> Other person: Nowhere does ISO 14882 use »STL«!
>
> Now, what's the correct name?
>
> Bjarne Stroustrup wrote in around 2007:
>
> »As adopted as the containers and algorithms framework
> of the ISO C++ standard library, the STL consists of a
> ...«.
>
> But I can tell you this: Checked it out,
> ISO 14882 does not contain the words
> »containers and algorithms framework« either!
>
> But it contains, »Containers library«, »Iterators library«,
> and »Algorithms library«.
>
> So we might say, »the container library and the iterators
> library and the algorithms library«.
Depending on the context the “STL” might refer to the Standard Template
Library developed by Stepanov and largely incorporated into the C++
standard library (but it's only a part of the standard C++ library), or
it might refer to Stephan T. Lavavej, who maintains the STL
implementation at Microsoft, and who also maintains a MinGW g++ distro
at <url:
http://nuwen.net/stl.html>.
So, this “other person” who apparently denies the existence of the STL
would, if that were the case, be badly uninformed.
But there is a chance that he or she just reacted to an inappropriate
use of the term “STL” to refer to the whole of the C++ standard library.
• • •
Regarding Bjarne, he was clearly referring to the STL subset of the
standard library.
It's worth knowing that it was Bjarne and Stepanov, working together,
who made the STL proposal for the 1998 C++ standardization.
So there's zero chance that he didn't know what he was talking about.
• • •
On a more general note, regarding terminology, I think one should just
be flexible and understanding in what one accepts from others, and more
precise, if possible, in one's own speech and writings.
Those who focus too much on “correct” terminology fail to understand
that there's usually many meanings of a term, some archaic and some more
current, and conversely, that a single concept can be referred to by
many different terms. Even descriptive ones made up at the moment. For
example, at one time the Politically Correct Terminologists™ were
focused on “character code”, which they denied could mean what it means
in e.g. “American Standard Code for Information Interchange”. To any
reasonable intelligent person that's an absurd position, and I guess my
point here is that the Politically Correct Terminologists™ are seldom
reasonably intelligent, or at least they don't act like it.
Thus, if it's clear from context that someone uses “STL” to refer to the
whole C++ standard library, then one should in my opinion accept that.
But also, if there's room for it, one should try to educate the person a
little. E.g., responding “You mean, the C++ standard library, not just
the STL part of it?”
Cheers & hth.,
- Alf