5 ms·
It’s what we’ve been calling our code for a long time (in VCBlog articles, etc.) and it’s a perfectly valid use of metonymy: https://en.wikipedia.org/wiki/Meton
by StephanTLavavej 7y ago
It’s what we’ve been calling our code for a long time (in VCBlog articles, etc.) and it’s a perfectly valid use of metonymy: https://en.wikipedia.org/wiki/Metonymy https://en.wikipedia.org/wiki/Metonymy
Scott Meyers wrote a book called “Effective STL”, and there’s a somewhat-similar-interface library named https://github.com/electronicarts/EASTL https://github.com/electronicarts/EASTL - neither of these lead to confusion.
- garmaine 7y agoI know I'm replying to the "STL" with vastly more domain experience here than me, but isn't it true that Scott Meyers' book covers just the STL, as originally defined? The only thing outside of the STL as shown in the table of contents is some lessons on std::string, but even that is in context / comparison with vector, an STL container type. I'm sorry, but effective communication is valuable and it is annoying that your employer continues to conflate the C++ standard library and the STL. Are we going to start referring to the standard library as "boost" a few years hence? That's basically the situation we've ended up in here.
- StephanTLavavej 7y agoI used to use “the STL” to refer to “the part of the C++ Standard Library strongly influenced by the design of the historical library”, excluding iostreams etc. Later, I decided this didn’t really achieve anything. It’s a Standard Library that’s full of Templates! There are other design philosophies in there, but they are increasingly unimportant. Having to say “C++ Standard Library” all the time, or trying to popularize a new acronym, are worse alternatives. Yes, effective communication is valuable. I have been working on this library for over a decade and I find that the short, memorable acronym ultimately makes it easier to talk about the thing. That said, we are primarily using the acronym for the repo URL and the directory structure; the readme makes it clear that this is “also known as” the STL.
- YayamiOmate 7y agoWhile I admire your work and feel sympathy towards your wish. This naming got me confused. I wondered whether it's just the templated part of the standard lib or whole. It's anecdotal but there certainly is a strong spirit of getting it right. I guess it's a characteristic of people working with it. In cpp details like that matter a lot. I personally would feel more sympathy towards naming msvc implementation after your initials, then it could be even called STL library =D. Same effect with better motivation imho. Cheers.
- SloopJon 7y agoThe very first line of the readme had me searching through this thread to figure out what exactly this repo contains. Is it the standard library, or just the STL? Very cool release, but confusing naming. I'm sure it's longstanding practice at Microsoft, but maybe instead of saying "also known as the STL," it would be more clear to say, "which we also call the STL." Anyway, I'm looking forward to poking around this code.
- garmaine 7y agoThat's a fair reason. I do echo the sibling comment though that naming the repo "stl" was/is very confusing. I would have called it "stdlib" or something.
- will4274 7y agoThis is a bit of a pointless question, but you use this phrase a lot: > it’s a perfectly valid use of metonymy and I'm not really sure what it means. I appreciate the wikipedia link and understand what metonymy is, but at the end of the day, metonymy is a figure of speech and formal technical writing discourages the use of extraneous figures of speech that don't serve any purpose, preferring clear technical language. If not this, then what does an invalid use of metonymy look like?
- StephanTLavavej 7y agoMetonymy has a purpose when it replaces a long, exactingly precise description with a short term that is equally recognizable. For example, “Wall Street” versus “US financial institutions, which may not necessarily be located in New York”. An invalid use would be one that is not widely recognized. For example, referring to our library as MSVCP. That’s the name (minus version) of our DLL, but very few people recognize it as such.
- will4274 7y ago> Metonymy has a purpose when it replaces a long, exactingly precise description with a short term that is equally recognizable So... not here? ("Standard library" and "STL" are about the same number of syllables). I still think metonymy is a bit besides the point. The explanation "Using STL in place of the standard library is a perfectly valid use of metonymy, which is a type of rhetorical device, which is typically avoided in formal writing - therefore you should not do this" seems coherent to me. That is - being a "perfectly valid use of metonymy" is neither clearly an argument for not clearly an argument against the use of term.
- bigcheesegs 7y agoIt still causes confusion, even on the committee. stdlib is non ambiguous, short, and easy to say.