13

I was told to make a post here to understand why is my question wrong after it was placed on hold: How is it called when you define constants that simply refer to a large namespace?


Context

The question asks, essentially, how is it called when you create constants that refer to large namespaces in an attempt to simplify the writing. Basically, something like:

Sprite = Super::Large:Namespace::Graphics::Sprite

Closing reason

The reason, it seems, is that my question is a guessing game (at least that's the most upvoted reason).


My reasoning

According to the the linked blog post regarding guessing games, such questions involve vague, broad descriptions. However, I don't think that my question is vague at all. I am describing, very accurately, every step involved in the practice (which is to create constantes referring to large namespaces). I know perfectly well every aspect of the practice, but I don't know how is it called, which is what I'm asking.

Examples

I don't have a practical problem to solve here; it's just bugging me that there seems to be a common design element that I can't put a name to.

Would you call this specific construct a [...] or would it better be [...]

What is this called?

I know there was a technical term for this. I'm just can't remember what it was.

It's obviously part of maintainability, but is there a name for this specific, desirable, property?


How are all those open, upvoted questions different from mine? Why was mine closed exactly?

They all accurately describe something, and they all want to know how is it called. I'm fairly certain that I am doing the same.

In fact, my question happened to be answered. The answer was Type Aliasing.

  • 4
    You should start by giving your question a better (~more descriptive) title. "What is the name used for this kind of practice?" could be the title of all the other questions you referenced, that's not good. – yannis Nov 21 '13 at 21:31
  • @YannisRizos: You're right, I will fix that. Thanks. – Omega Nov 21 '13 at 21:31
7

I voted to reopen. Personally, I don't think this particular question qualifies as a "guessing game" question. From the blog post:

  1. Guessing game questions aren't practical. The answer helps you concisely communicate the intent of your module to other programmers, and helps research possibly better ways of doing type aliasing. Those are both highly practical concerns. You're not just asking out of curiosity.
  2. Guessing game questions don’t help others. While admittedly the gist of the question would be difficult to search, someone browsing the site can certainly learn something, and someone searching for "type aliasing" will get a good example of it. Besides, the same people also whine that this site shouldn't allow questions that are too easy to google. I guess they want some inscrutable precise medium level of googleability.
  3. Guessing game questions are unfair. The mere fact of the question being difficult to search means you aren't intentionally off-loading work on answerers. Also, it's usually pretty easy to verify the consensus answer. Even when it goes by multiple names, that's useful information. If it happens to not have an "official name," that's also useful information.
  4. Guessing game questions aren’t educational. Knowing the term opens up a whole world of educational opportunities. It allows you to do further research on best practices, and later when you move to a new language, it allows you to learn how to do the same thing.

The other common objection I see to this type of question is that it will encourage similar questions. Well, duh. That could be said of any topic. We don't close architecture questions because that might make people ask too many architecture questions. And it's not like you can make a series of questions out of this one by changing a couple words.

I understand some people don't personally like this kind of question. That's why we let you hide certain tags.

  • what would you suggest us to do with low quality answers, "I call it this" / "I heard it called that"? Frankly, these are my only problem with naming game questions, particularly when answerers begin spreading this attitude to other kinds of questions. "- Why things are made that way? - Because such is life." – gnat Nov 23 '13 at 8:20
  • 5
    @gnat: You're telling us that your problem isn't the questions, but rather, the vague answers they get. Well then, you should punish the answers themselves, not the questions. Just because an acceptable question gets unacceptable answers doesn't mean we have to close the whole question. I understand the fear of a bad attitude spreading to other questions, but I'm fairly certain that getting rid of this kind of question is not the solution. I'd propose that if you see bad answers, report the bad answers. Why report the questions if they aren't bad by themselves? – Omega Nov 23 '13 at 11:45
  • @Omega can you tell me how exactly you suggest to "punish the answers"? And by the way you are right, questions don't get closed for just occasionally picking bad answers – gnat Nov 23 '13 at 12:17
  • @gnat: Flag them? I'm sure that if you flag them, something happens. I mean, it's like flagging something as "spam" or "low quality". I am not very experienced with SE, and am not sure what kind of penalty is given to spam/low-quality answers, but I guess that there is indeed a penalty? In which case, it seems reasonable to also penalise vague answers. – Omega Nov 23 '13 at 12:21
  • @Omega these flags are typically declined (I tested that) - one can't just stick "spam" or "low quality" and expect it to fly. If you're interested, refer here for more details: Why are the moderators being so strict with quality related flags recently? – gnat Nov 23 '13 at 12:23
  • @gnat: Ah, but then we got a problem that is not related to this topic. Because moderators being strict about flags doesn't seem like a good excuse to be closing acceptable questions. – Omega Nov 23 '13 at 12:24
  • @Omega no, it is directly related. I for one prefer to close questions that attract low quality answers, just as a prevention of polluting site with these - and in my experience, naming games attract a lot of low quality answers. Closing does just that. If you know other way to deal with that, I would be happy to learn – gnat Nov 23 '13 at 12:26
  • 4
    @gnat: Well, in my case I prefer not to close questions if they aren't bad by themselves and instead deal with the bad answers, as they are the actual problem. But unfortunately, I have no influence over the moderating system's opinion regarding flags. It seems like it's settled that this kind of question will remain unaccepted in the community, but I'm afraid that it seems to be for the wrong reasons. – Omega Nov 23 '13 at 12:32
  • 3
    @gnat: Taking a step back, given that flags don't seem to be an option anymore, another possible punishment for the vague answers would be to simply downvote them. I take it that very downvoted answers appear invisible for newcomers, and also, downvotes will influence the answerers to stop doing vague answers. This seems like another reasonable approach for dealing with vague answers ("weakening" this bad attitude). – Omega Nov 23 '13 at 12:33
  • 1
    @Omega downvoted answers remain visible, and anyone can upvote them back. And single answer upvote recovers rep lost from 5 (five) downvotes. And voting ansers down costs voter reputation. And... I find it hard to believe that you aren't aware of how that system works after almost 3 years spent at Programmers and Stack Overflow – gnat Nov 23 '13 at 18:27
  • 4
    @gnat: What does rep have to do with it? If I had an answer with 4 downvotes and 1 upvote, that would bother me a lot, and the 2 rep "profit" wouldn't make up for it. The answer would also be greyed out and sorted to the bottom of the pile. How exactly is that not a punishment? Also, the rep penalty is a measly 1 point. – Michael Shaw Nov 23 '13 at 21:42
  • @gnat: Oh, I interpreted the greyed out answers as invisible for newcomers. Anyway, I would be rather concerned if I had multiple downvotes, and that would likely change my attitude, regardless of how little rep I lose. If it affects my attitude, then it is a good measure to downvote the vague answers, I'd think. – Omega Nov 23 '13 at 23:26
  • 1
    @gnat: On a side note, my lack of meta-knowledge might be because I never had meta-issues before. I spent ~3 years here, but not learning meta stuff, but rather, learning programming stuff. – Omega Nov 23 '13 at 23:29
  • 2
    @gnat: I don't think when the questions were closed had anything to do with it. One of the questions you refer to was asking for the name of a construction with a lot of parts, and it would make sense for it not to have (or need) a name. The other two said "here's a name for something, tell me another name for it". Omega's question, on the other hand, was specific, had a practical point, and was much lengthier than the others (one was only 3 sentences). The problem with your three examples is not that they weren't closed on time. – Michael Shaw Nov 24 '13 at 20:11
  • 1
    @gnat: I don't think it is the job of a question to prevent bad answers. Among other reasons, they can't actually do that. You may think that the reason for the upvote was sympathy, but that is your presumption. Neither the upvoter nor the downvoter left a comment. If you honestly can't see how this question is different from the others (none of which were reopened, BTW) then I don't think this conversation is going to get anywhere. – Michael Shaw Nov 25 '13 at 4:22
1

I didn't have any votes on this question, so this is more just me going "hmm..." with some various thoughts on the matter.

An important thing to realize is that questions have been asked in the past and are currently open is not an indication that something that is asked in the same or similar format will also be covered as "older stuff is open too". There is a lot of old questions that are not good examples of questions to ask.

I would also strongly suggest steering away from the "but it was answered" as an indication to question. From a previous issue ( Closed as not constructive? ) the argument was made:

The only answer given (likely before it was closed) clearly suggests that the question is constructive.

The reason to close such a question is that it has the likelihood of blowing up to everyone adding their own two cents to the question. I would suggest looking at your example of Vocabulary: Should I call this apply or map? which has answers such as:

You could call it an n-dimensional pointwise Cartesian product of functions. However, that doesn't make for a short name, and might require explanation...

.

I'd call it fire_callbacks, call_callbacks, apply_callbacks, or something like that.

I've usually had such a method as part of a signal or observable object.

.

To my mind, the word "map" implies some kind of association (e.g. a 'dictionary'), although there doesn't appear to be any association or pairing of data happening in your algorithm.

Everyone has their own opinion about how things are called, even if there is a real name for it.

This question is strongly related to the post Are "name that thing" questions on-topic? which has a variety of opinions on the topic. A more recent meta post seeking a more updated clarification can be read at Is asking "what is the technical term for this" on-topic?

From this more recent question there are two opinions, one of which can be recapped as:

These kinds of questions essentially boil down to "what terms should I Google for?" They are an indirect proxy for resource requests, which are specifically off-topic.

The key issue with the "find the name" is that we really don't want (and this is a community consensus thing more than a formal policy) to become ELU single-word-requests.

The questions of the 'name that thing' are without end - they are localized to your usage and situation and tend not to be something that generates long term useful content.

A poor metric (I know) of that "long term useful content" might be in part driven from views. If you look at your example questions, no matter how old they are they all have about 300-400 views. This suggests that they got them at the initial date of creation and then no one looked at them again. I know that thats a very poor qualification because some of the more esoteric questions have even fewer views (I mean... who wants to read about haskell monads?) but are likely good long term material.

So...

Thats all about my thoughts on the subject and bringing together some other posts to consider when looking into why it was closed. The "Name that thing" is a touchy area because of the possibility that it brings in lots of people saying "I call it this in my shop" and others saying "I call it that where I work."


As to the "called something else in each language..."

The question asks, essentially, how is it called when you create constants that refer to large namespaces in an attempt to simplify the writing. Basically, something like:

Sprite = Super::Large:Namespace::Graphics::Sprite

Well, in perl, this is a typeglob alias (what are types?) (not to be confused with globs)

#!/usr/bin/perl

package Foo::Bar::Qux::Bletch;

$var = 42;

package main;

print $Foo::Bar::Qux::Bletch::var, "\n";

*A = *Foo::Bar::Qux::Bletch::var;

print $A,"\n";

Or at least... thats what I call it. Though some people may call it symbol table aliasing which wouldn't really be wrong either. And apparently some call it glob aliasing too. Oh well.

  • Although the site has a very different focus, over on SciFi.SE we ask to include links to references and will delete the answers without them. Perhaps something similar is a good idea here. No need to punish the question/type of question if there is a well-known name for it. (I had thought something like that was already in practice here, honestly, but since apparently "I call it that where I work." is a concern, I guess not?) (And don't hold back the downvotes! Downvote those into oblivion anyway, since they are bad answers!) – Izkata Nov 22 '13 at 3:04
  • @Izkata Ask Different allows for "List of X" type questions - Please share your hidden OS X features or tips and tricks that get deleted quickly on P.SE and SO. Math.SE encourages homework questions with no work. Theoretical Computer Science and MathOverflow won't even consider your question unless you are doing graduate level research. NetworkEngineering.SE will only consider questions about enterprise networking (home networking is off topic). SciFi allows "what is that story...?" and Gaming.SE only allows it if there are screen shots. – user40980 Nov 22 '13 at 3:11
  • 2
    @Izkata what I'm trying to get at there is that each SE site is different and the community allows (and doesn't allow) certain things. "Name that thing" has had some difficulties in the past - What is each time through a loop called?, What kind of bug is this?, What do you call this pattern/technique?, What do you call one element in an enumeration? and so on. – user40980 Nov 22 '13 at 3:15
  • 1
    Yes, there are a lot of open questions in the "what do you call" set that people haven't gotten around to closing. People have just gotten to really not liking them. There is a large amount of jargon in programming, and people polling for "what do you call" for every thing they think of (surely, it must have a well recognized term...) became difficult to handle (very small subset - just one phrase of many people use) and rather tedious. Close votes reflect that legacy. – user40980 Nov 22 '13 at 3:19
  • 1
    It might be worth noting that I'm not asking what do you call it. Some of those questions have actual standard answers (Type Aliasing, Maps, Arrays, Extract), whereas others are indeed pure guesswork. My question does have an "actual answer" so to speak, for Type Aliasing perfectly fits my description with no loose ends. Not that this changes your points though. – Omega Nov 22 '13 at 7:52
  • 1
    @Izkata I for one am rather opposed to this criteria at Programmers. Not because it's generally bad mind you, but because it's not uniform and doesn't match well to "conceptual" questions (a more appropriate criteria for which would be to require explanation). To have a type of questions that differs from the rest by an additional criteria "links to references + delete the answers without them" would make site more complicated for users, even though criteria is good per se. As another example, we don't require code (here we differ from SO), even though some (not all) questions need it – gnat Nov 22 '13 at 8:22
  • 3
    A more practical problem is that even things that feel like they should have one name, usually have more than one, and often for good reason. For example, map is called project in Relational Algebra, SELECT in SQL (and consequently Select in .NET), transform in C++, collect: in Smalltalk (and consequently Self, Newspeak and Ruby) and so on. fold is often called reduce (inject:into: in Smalltalk, inject in Ruby, accumulate in C++, AGGREGATE in SQL and consequently Aggregate in .NET), and in some languages fold and reduce actually mean different things. – Jörg W Mittag Nov 22 '13 at 14:08
  • 2
    So, even if you take great care to not ask for a list, you'll probably get one anyway. – Jörg W Mittag Nov 22 '13 at 14:09
  • @JörgWMittag updated the answer to include a specific 'another name' for another language for the example. – user40980 Nov 22 '13 at 16:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .