We have had the question What are local networks's ip? and it has been closed (as offtopic). It has an accepted answer, though.

Abstracting from the fact that the specific question at hand is not a very good one, too, what should we do with questions of this kind?


Even disregarding that the given question is bad for a number of reasons (it asks for easily obtainable factual knowledge) I think the question is firmly offtopic. It does not ask for help with any concept but for lexical knowledge on an arbitrary convention defined by a technical standard. If a professor were to ask this exact question of a student, he would ask the student to remember numbers, not understand a concept.

There may be good questions that ask for principles behind standards, for instance "Why is it ok that IP does not include congestion control?" or "How to detect conflicts in wireless networking?".

  • $\begingroup$ It is arbitrary in the sense that no matter which address spaces are reserved for which purpose, all protocols work in the same way; there is no reason why personal networks should not have 13.37/16. A particular choice is not essential for the principles of computer networks. I maintain that an examiner who asks something like this is missing the point and teaches his students to pay attention to the wrong things. I would not ask "Why does everybody use small letters for terminals and capital for non-terminals?" in TCS, either. $\endgroup$ – Raphael Apr 10 '12 at 6:08
  • $\begingroup$ I disagree. Please see my answer for the reason. $\endgroup$ – Kaveh Apr 10 '12 at 6:10
  • $\begingroup$ The difference is that if you don't know the answer for this question you cannot do computer networks. A better comparison may be "what does small letters represent in grammars?". Do you think that is also off-topic? I don't think so. It is a simple question in CS that can be answered. We should not close questions because we personally think their answers don't worth knowing. If you don't like a question don't upvote it (or down vote it), but it is a valid question in computer science and as such should be in the scope. $\endgroup$ – Kaveh Apr 10 '12 at 6:14
  • $\begingroup$ If the OP asked "why people use these ips for local networks?" that would be similar to the question you stated. But even in that case I think it is in the scope. One can reply that it is just a convention, another person can explain the reasons behind IETF's decision to reserve these ips for local networks and not something else (which you may not know). $\endgroup$ – Kaveh Apr 10 '12 at 6:21
  • $\begingroup$ @Kaveh: I think you overstress the personal preference point. All our policy is a compromise between personal opinions (see programming discussion). We have been very clear that a good question on this site should be conceptual and not implementation specific; why treat this kind of question differently? $\endgroup$ – Raphael Apr 10 '12 at 6:36
  • $\begingroup$ @Kaveh: I bet I can study properties and computer networks with any convention I desire; I might even address nodes with seven or thirtysix bits! I can not implement a computer network without knowing real-world conventions, but I maintain this is offtopic. It is like asking "Which variable names are legal in C?". $\endgroup$ – Raphael Apr 10 '12 at 6:38
  • $\begingroup$ There is personal and personal. I don't remember anyone judging a question as not worth knowing before and asking to close it for that reason. I also don't remember "We have been very clear that a good question on this site should be conceptual and not implementation specific". If you mean programming question then that is not the reason (at least for me). $\endgroup$ – Kaveh Apr 10 '12 at 6:45
  • $\begingroup$ Your new analogy is neither good (I fell that you are trying to relate it to the programming questions issue and use it for your argument and I think we should avoid that). Do you think "what does small letters represent in grammars?" is off-topic? What about "why people use these ips for local networks?" $\endgroup$ – Kaveh Apr 10 '12 at 6:49
  • $\begingroup$ @Kaveh: I think you put too much weight on my phrasing, so I changed it. I think allowed variable names in a concrete programming language is a very good analogy for allowed addresses in a concrete protocol. Your first example is of a different quality (it does not ask for an implementation, but a general observation; it is still not a very good question) and your second one is clearly offtopic and should be on Super User. $\endgroup$ – Raphael Apr 10 '12 at 6:54
  • $\begingroup$ @Kaveh: A better example would by "Why do CLRS use V as name for a graph's set of nodes?". This admits only a trivial answer (in snarky: "For vertices but it does not matter, don't waste your time.") and can therefore savely be closed (imho). $\endgroup$ – Raphael Apr 10 '12 at 6:57
  • $\begingroup$ CLRS analogy is even worse. It is just a book, not a global standard that people need to know. The question at hand also does not ask for implementation (which AFAIR by itself doesn't make a question off-topic either as I said above). I neither see "why people use these ips for local networks?" is off-topic. (if the problem is people I can change it to "why IETF reserved these ip addressed for local network in IPv4?".) $\endgroup$ – Kaveh Apr 10 '12 at 7:03
  • $\begingroup$ @Kaveh: "people need to know" -- why does a computer scientist need to know that? The standard is an implementation! $\endgroup$ – Raphael Apr 10 '12 at 7:18
  • $\begingroup$ Maybe not a theorist, but a computer scientist working in computer networks needs to know this standard. (People working in systems and computer networks are also computer scientists.) It would not be part of typical undergrad computer science curriculum if computer scientist didn't need to know it. $\endgroup$ – Kaveh Apr 10 '12 at 7:20
  • 1
    $\begingroup$ @Kaveh: I will ask some networking guys at my department wether they consider knowing those concrete numbers a) necessary and b) more than an implementation detail. Until then, we do not seem to agree and should wait for others' opinions. $\endgroup$ – Raphael Apr 10 '12 at 7:23
  • $\begingroup$ I came up with another analogy: Would a question of the form "What does [x86 command] do and what can it be used for?" ontopic? I don't think so, because it concerns this one implementation which, however ubiquitous, makes the question not one of science. $\endgroup$ – Raphael Apr 10 '12 at 14:25

I don't think “questions about CS-related standards” is a useful classification. Some questions involving standards are on-topic, others are off-topic. The question you cite is a bad question for other reasons (the answer is found in the obvious Wikipedia article); even then it wouldn't be a science question, because it's a pure matter of convention. There can be scientific questions about standards; asking why a standard did things the way it did is often on-topic, in that it calls for an analysis of what the possible choices were and what trade-offs mattered. Asking about the behavior of specific implementations of a standard is generally a technological question and not a scientific question; this can venture into science as well, if you're studying compliance or the robustness of the standard, but factual questions about standards are generally best answered by the practitioners who implement them rather than the scientists who make the underlying theoretical designs and experimental studies.

  • $\begingroup$ Something about your trying to use convention as a distinguishing feature of off-topic standards questions doesn't seem to pass the sniff test. I mean, the SI system of units and measures is developed and defined by scientists, right? Scientists would be the best people to ask about that. The definition of standards is purely a convention; it's a convention that we have different units for mass and energy, too. $\endgroup$ – Patrick87 Apr 10 '12 at 13:01

I think the default should be that any question from a CS course exam should be on-topic on the site. The scope of the site is CS in general, not conceptual CS. Any topic that is excluded should be done so explicitly (based on good arguments why such questions should be off-topic on cs.se). Questions about conventions and standard in particular areas are part of computer science (we can ask researchers in computer networks if they consider RFCs and internet standards part of computer science).

I still don't remember where it was agreed that implementation related questions in CS are off-topic for this site (still waiting for link to remind me if that is really the case).

(I am posting a new answer since Rapahel has edited his answer which makes my previous answer hard to understand.)

  • 1
    $\begingroup$ I have been asked to calculate $2+3$ in exams; does that make elementary arithmetics ontopic on the site? Granted, there have probably not been whole questions dedicated for this. "Solve this system of linear equalities!" comes close, though. The point is: not everything asked on exams (in a CS course) is necessarily computer science. Maybe the examiner is lazy, can not come up with better questions, wants his students to look better than they are or has been forced to lower standards? I am strongly of the opinion that pure recitation should not be part of any university exam. $\endgroup$ – Raphael Apr 10 '12 at 15:51
  • $\begingroup$ @Raphael, please note CS course, and I am not talking typical questions in CS course exams, not extreme cases. (btw, I am interested in knowing in which CS course they asked you to calculate 2+3 :) $\endgroup$ – Kaveh Apr 10 '12 at 15:54
  • $\begingroup$ As for references: the highest voted answer on the FAQ discussion does not mention implementations to be ontopic. The highest voted answer on the programming discussion (yours, ironically), argues strongly against implementation questions. I don't see how programming and other implementations differ. Arguably, huge parts of CS could not work without C or coffee, but that does not make either ontopic. $\endgroup$ – Raphael Apr 10 '12 at 15:55
  • $\begingroup$ @Raphael, if you recheck my answer, you will see that the reasons I stated for excluding programming question is not being about implementation (and generally correlation does not imply causation :) $\endgroup$ – Kaveh Apr 10 '12 at 15:57
  • $\begingroup$ (ps: the only answer I up-voted in the FAQ question was yours because it seemed to be a good template for FAQ, the question was never intended to be a place where the scope is decided and as I wrote there I posted it because I felt the community has reached an agreement about the scope which turned out to be incorrect, I am removing my up vote since I didn't interpret your answer as excluding that part of CS) $\endgroup$ – Kaveh Apr 10 '12 at 16:06
  • $\begingroup$ I agree with @Raphael; it's hard to defend allowing implementation questions about computer networks without allowing other implementation questions (why not allow C++ code and issues writing it?). I think it's possibly a mistake to exclude implementation issues only because they're implementation issues; a lot of non-theoretical CS can be construed as an implementation issue, and lots of questions involve practice and convention (you can even have such questions about theoretical and mathematical aspects, e.g., Turing machines or Landau notation). $\endgroup$ – Patrick87 Apr 10 '12 at 16:20
  • $\begingroup$ @Kaveh: You state there (rephrasing) "Programming is not (per se) CS and thusly offtopic" (the other reasons are circumstantial; you go on to equate programming with implementation, even if you don't use the word) with the same conviction as you say "Factual knowledge about implementations of CS concepts should be ontopic" here. If you stand by both, I think you contradict yourself (regarding required abstractness). $\endgroup$ – Raphael Apr 10 '12 at 16:21
  • $\begingroup$ @Patrick87, programming question is separate issue and there is a devoted meta question to it. Please keep argument about it there. $\endgroup$ – Kaveh Apr 10 '12 at 16:49
  • $\begingroup$ @Raphael, I don't equate the two. Circumstantial or not, those are the reasons I think programming questions should be off-topic, not because they are about implementation, I don't remember saying anything like that, if that is what you understood from my post then you have misunderstood what I said. Let me be clear, abstractness has not been a criteria for me about on-topicness of a question. $\endgroup$ – Kaveh Apr 10 '12 at 16:55
  • $\begingroup$ Btw, I am still waiting for you to give a reference for your claim that we have agreed that implementation questions in CS are off-topic (also the reply from computer network guys in your department about whether they consider internet standards part of CS or not). $\endgroup$ – Kaveh Apr 10 '12 at 17:00
  • 1
    $\begingroup$ @But the indefensibility of your position, from a logical standpoint, is on-topic in both meta threads. Whether you agree that your positions are contradictory... well, I don't see a need to start a separate meta thread for that. Too localized. $\endgroup$ – Patrick87 Apr 10 '12 at 17:12
  • $\begingroup$ @Patrick87, it is a separate issue with its own thread (it has nothing to do with logic, you are trying to misinterpret what I wrote in a way I did not intended it so you can stretch it and use it against what I am saying here (or what I am saying here in there). Even if there was a inconsistency in my position regarding these two issues, it would not help you). The reasons I have stated there does not apply to question related to implementations in computer networks. $\endgroup$ – Kaveh Apr 10 '12 at 20:34
  • $\begingroup$ What I am claiming here is that questions about internet standards are part of CS (if there is any doubt, we can ask CS researchers working in computer networks to check this claim), therefore by default and based on discussions that the site is for questions in CS in the general sense (not just theoretical, not just conceptual, not excluding questions in CS which are related to practice and implementation) the default should be that they are on-topic. Moreover, I don't see any harm in allowing them, if you have a reason for why we should excluded them from the scope then please state it. $\endgroup$ – Kaveh Apr 10 '12 at 20:43
  • $\begingroup$ It looks to me that although you agree with what I am saying here, you are trying to use it to argue that the decision made about excluding programming questions was wrong. If that is the case please do it there, not here. If you really think that implementation related questions should generally be off-topic post a new meta post about it. (Please remember that each of us have opinions that are not shared by majority and that is normal, e.g. I think pure math questions related to CS can be on-topic, same about career questions, but it looks that majority don't share my opinion and that is it!) $\endgroup$ – Kaveh Apr 10 '12 at 20:58
  • $\begingroup$ I think we are aware of what you are saying, Kaveh. That does not make it consistent. I will try and get hold of a networking guy. By the way, I am also confident I can find CS researchers who say that programming is CS, and there certainly have been exam questions that asked me to program something. So where does that leave your reasoning? $\endgroup$ – Raphael Apr 10 '12 at 21:49

Edit: This answer was posted in reply to the original version of Raphael's answer, parts of it has become obsolete since then because of the edits he has made to his answer.

I disagree with closing such questions as off-topic.

First, there aren't arbitrary convention (at least no more arbitrary than conventions in other parts of CS). These standards and conventions are very important in computer networks which are typically defined using RFCs (see this). These RFCs and standards defined in them are essential to computer networks and are part of CS. In fact, it shouldn't be difficult to find computer networks tests which ask such questions. There are similar conventions in other parts of CS including theory. Conventions like this are part of CS.

Your opinion that it is not worth knowing is a very personal opinion and IMHO such opinions should not be the base of what is on-topic/off-topic. We never defined the scope as "things worth knowing", if the question is in computer science (and I believe it is) then it is on-topic and in scope.

(Obviously closing such questions can be closed for other reasons. E.g. in this case OP hasn't done his part in trying to answer his question since googling will easily lead to the wikipedia article which answers the question, and if we think the OP should at least google and check the relevant wikipedia article then we can close it as say not-constructive.)

  • $\begingroup$ You keep reiterating your claims. "This is part of CS" -- we have agreed on other occasions that implementation issues are offtopic. Why judge differently here? Why are the conventions essential to the field? Typically, conventions are considered agreements without relevance beyond ease of communication. $\endgroup$ – Raphael Apr 10 '12 at 6:42
  • $\begingroup$ @Raphael, first I don't remember that, can you provide a link for that? (other than programming questions I mean). Second, I think you are using the word "implementation issues" in very wide sense (it seems to me that you are using it as the negative of conceptual/theoretical in which case the agreement was in the reverse direction AFAIR). I wouldn't call a standard about computer networks an implementation question. $\endgroup$ – Kaveh Apr 10 '12 at 7:17
  • 3
    $\begingroup$ But it is. A related concept question (still not theoretic!) would be "Why do you have to reserve some addresses for local networks?". The specific set of numbers chosen is immaterial if you want to understand; it matters only for the implementation(s). $\endgroup$ – Raphael Apr 10 '12 at 7:20
  • 1
    $\begingroup$ I don't know why you insist that this has anything to do with "things worth knowing". I think it's worth knowing the values of these IP addresses - I use them often enough. However, the crux is that these values are only of interest when you use computer networks in practice, and never when you discuss the science behind computer networks (other than possibly for ease of communication). I therefore think this question is off-topic. $\endgroup$ – Alex ten Brink Apr 10 '12 at 12:37
  • $\begingroup$ @Raphael "Why judge differently here?" Because everybody has different ideas about what counts as computer science, and what doesn't. That's the real problem. I answered a question once on Stack Overflow about whether DFAs had to explicitly show dead states transitions to them, or whether they could be allowed simply to crash. Would that question be off-topic here? More generally, are conventions (notational or otherwise) off-topic? $\endgroup$ – Patrick87 Apr 10 '12 at 13:06
  • $\begingroup$ @Alex, because that was what Raphael wrote in his answer originally. Please check that history of the answer. He has since edited it and for that reason my answer looks non-relevant to the discussion. $\endgroup$ – Kaveh Apr 10 '12 at 15:25
  • $\begingroup$ @Kaveh As a side comment, you seem to feel similarly about questions similar to this being on-topic as I feel about programming questions being on-topic: they're arguably part of computer science, and definitely can be worth asking; some are probably worth closing for other reasons; there are other sites where people could ask them, but that's not a reason to exclude them here; personal opinions and theories about what CS should include are not a valid justification for declaring things on- or off-topic. I realize this is tangential to the discussion, and will not post on this here. $\endgroup$ – Patrick87 Apr 10 '12 at 15:37
  • $\begingroup$ @Patrick87, as I wrote above I have come to realize and agree with you that there is a disagreement resulting from people's different perception about what is CS, and I think it is a mistake on my part to help it become part of the discussion. I still believe that programming question per se should be excluded from the scope of the site and as you have probably noticed I reduced my emphasis on my opinion that programming per se is not part of CS. $\endgroup$ – Kaveh Apr 10 '12 at 15:46

You must log in to answer this question.

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