4 ms·
I know this is not quite on topic, but: Giving some particular construct in your language the official name "Concepts" is just unbelievably fucking atrociously
by ilugaslifk 8y ago
I know this is not quite on topic, but:
Giving some particular construct in your language the official name "Concepts" is just unbelievably fucking atrociously stupid. Inexplicably greedy and needlessly destructive.
Say what you will about Haskell's user-hostile jargon, but even they had the sense to rename a concept that was originally called "Idiom". (now "Applicative")
- phendrenad2 8y agoAs a teen, I was introduced to C++ by a friend (who was trying to get me to stop programming in BASIC). We had a serious bit of confusion for a moment when I couldn't understand where he was watching/attending/accessing these "classes". Imagine how much more fun we could have had if they had "concepts" in the language back then!
- AstralStorm 8y agoApplicative is actually a lying name as it has little to do with Applicative category in maths. (an Arrow does, is a subkind of mathematical applicatives) It is in the same category of lies like C++ calling its thing a class. (except C++ does not try to have math background) I prefer a common name to a wrong and confusing name.
- stochastic_monk 8y agoHow is a C++ not a class? It’s a class of objects satisfying certain operations and possessing certain attributes.
- jholman 8y agoIs it worse than calling your auto-resizing-sequence type "vector", even though a vector is properly a tuple of (arbitrary) fixed size, and is incomparable with another thing of any other size? (okay, I guess it might be worse than that)
- stochastic_monk 8y agoYes, because vector is a library, not part of the core language itself.
- Koshkin 8y agoWell, not just some library. (The 'standard library' should be seen as part of the language.)
- stochastic_monk 8y agoTrue, but there is a huge difference between a standard library feature and a keyword.
- Koshkin 8y agoNot really... Not in the case of the standard library anyway.
- stochastic_monk 8y agoA keyword is a more core part of the language than the standard library. I could re-implement my own vector. I cannot add my own keyword.
- Koshkin 8y agoNo, you cannot/wouldn't reimplement std::vector (not in the sense you are implying). Compiler writers often extend the language with new keywords.
- stochastic_monk 8y agoCan you elaborate on the last point? Do you mean things like macros they use, e.g., concepts lite, or __builtin* functions? I still feel like a standard container is less fundamental than keywords, but I value your perspective.