This question is a great example of why Stack Overflow is getting a reputation for being a hostile environment these days

Possible to convert C# get,set code to C++

This is clearly a developer used to C# who is trying to apply existing concepts to C++ and failing. You can see from his comments that he has been googling for an answer all day, has no coworker who can help him and came to Stack Overflow as a last resort. How do we reward him? Here is a sample of the feedback we've provided so far

  • Pick up a good C++ book and learn the actual language.
  • The problem here is that you have no idea about C++
  • And why in the world are you converting Managed code to Unmanaged?

All of these have been flagged. But given the load on the moderators this question was closed and the user resorted to apologizing in several comments for his inability to google well enough all while the hostile comments / answers remain.

Does anyone seriously think the OP is going to post here again?

Why do we accept this as OK? Why can five users, who would comment only RTFM if we allowed them, dictate the reputation of the site? Why does it take so long for hostile comments to be removed? Why do we let people who post hostile comments keep posting at all?

If you want to scream RTFM then may I suggest LKML. There should be no place for you on Stack Overflow.

  • 30
    Rest assured that my comment to pick up a good book was actually meant in a positive manner. As I have explained to the OP in a later comment below a now deleted answer. I was merely advising to pick up a good book to learn the C++ way, rather than to blindly try converting C# into C++. I can see how this, within the sea of responses, might sound more negative than I meant it. (P.s. you might not want to paraphrase the comment) – Bart Jul 30 '13 at 19:34
  • 34
    @Borgleader if you really think that a good book is the answer then why not recommend one? The comment sounds much more genuine if it provides actionable advice like "It looks like you are new to C++, I would recommend you pick up a good book like Scott Myers Effective C++". As written it's equally easy to read negative or positive. The user is new enough that I don't think you can reasonably expect to find a good book on his own – JaredPar Jul 30 '13 at 19:39
  • 23
    You must be new to the C++ tag if you find the book comment offensive (It gets posted often to aid beginners). And to reply to your newest comment, yes, it has a list of applicable books. Much more than a single one. – Rapptz Jul 30 '13 at 19:39
  • 19
    glad someone's brought this up. there's an awful lot of hostility about so out there at the moment. not all justified but some certainly can be mitigated – James Wiseman Jul 30 '13 at 19:41
  • 20
    I didn't find any of the comments particularly offensive. Was a meta post really necessary for this, or would flagging the comments have sufficed? – user102937 Jul 30 '13 at 19:43
  • 24
    @RobertHarvey how do you think the user took them? do you think he started repeatedly apologizing because he felt welcome? – JaredPar Jul 30 '13 at 19:45
  • 23
    His profile says he's been around for 11 days. He may have been shocked by the bluntness of the comment responses he got, but we are talking about programmers here. C++ programmers, no less. I'd rather people be straight with me rather than sugar-coat it, so long as they're not being abusive. – user102937 Jul 30 '13 at 19:47
  • 45
    @RobertHarvey i disagree and I'm really sad to see that feedback from a mod. – JaredPar Jul 30 '13 at 19:50
  • 26
    So if he went to post more of these wonderful, quality "I try to compile this literal C# code as C++ and it doesn't work (AND I HAVE NO IDEA WHY WOULD THAT BE), here's the error, tell me what's wrong" questions, that's... good? And here I thought SO had a quality standard. – Cat Plus Plus Jul 30 '13 at 19:51
  • 17
    @JaredPar: Then maybe you ought to describe the big picture better. Your premise that "This question is a great example of why stackoverflow is getting a reputation for being a hostile environment these days" is simply unfounded. It's not a great example, and citing it as a great example is the equivalent of crying wolf. – user102937 Jul 30 '13 at 19:57
  • 26
    @RobertHarvey not sure if we're reading the same question. My premise is the negative attitude displayed by some users is contributing to the negative reputation of the site and as a result driving away potential users. My proof is this post where I feel the level of hostility is both fairly standard for a C++ question and a case where the OP is clearly getting a negative experience out of it – JaredPar Jul 30 '13 at 20:00
  • 15
    Some of that perception is due to conditions that no longer exist. Some of that perception is due to people coming to Stack Overflow from forum environments, expecting to be able to do the same things they did in those forum environments and being rebuffed. Ultimately, you can't screen out human response completely; questions like the one you referenced will still be asked, and community members will still get frustrated enough with those questions to post comments that may not always be well-received. – user102937 Jul 30 '13 at 20:29
  • 15
    Re: hostility and perception: my girlfriend is a python dev who's scared to post a question on SO, even though they are thoroughly on-topic and appropriate, and nothing I tell her will convince her otherwise. – Mike G Jul 30 '13 at 20:39
  • 20
    @mikeTheLiar: You can tell your girlfriend that her only responsibility is to do her homework first, and make her question clear. Tell her that we are a bunch of curmudgeons, albeit well-meaning ones, who only care deeply that her code runs well and saves the world. Tell her not to take all that other stuff personally. That's what professionals do. – user102937 Jul 30 '13 at 20:42
  • 27
    I think the problem is we have too many one-off incidents and not enough "all these posts collectively are examples of people being abrasive jerks". Granted most of them don't have any evidence and are little more than rants, but I'm sure this isn't isolated, but a real incident. I empathize with Jared on this. – BoltClock's a Unicorn Jul 30 '13 at 21:36

12 Answers 12


It's these kinds of problems that are the reason that I vote to close questions without comment nowadays.

The new close reasons are clear, specific, polite, and tell the OP exactly what they need to do to improve their question so that it can get reopened. They are standardized; everyone gets the same message. Additional narrative beyond that is simply not necessary.

So if you find that your comments are being interpreted as rude or hostile more often than not, simply refrain from commenting.

  • 5
    This is great advice. As someone who finds themselves exhausted from continually closing incredibly poor questions (and then answering to people demanding additional comments), I believe I will be following your suggestion. – Jonathon Reinhart Jul 30 '13 at 20:47
  • 13
    The ultimate tragedy would be that people became so sensitive to comments that we just stop posting any comments, even those that might actually contain useful information, out of fear that they might be perceived as brusque, rude, or whatever. – user102937 Jul 30 '13 at 21:15
  • 8
    I don't know if I'd consider that a tragedy. If you really want feedback on your work, grow a skin thick enough to take it - otherwise, get used to folks ignoring you. – Shog9 Jul 30 '13 at 22:27
  • 3
    The problem with that advice is that it only works in tags where bad questions actually get closed. In some of the lower traffic areas of the site, bad questions only accumulate 1-2 close votes by users who actually bother to use them. At which point, the only way to make progress with people is to comment on the question. – Nicol Bolas Jul 31 '13 at 19:14
  • @NicolBolas: Cast moderator flags on those questions. Explain in the custom flag reason that the question is no longer on the front page, and is unlikely to achieve close velocity. – user102937 Jul 31 '13 at 19:43
  • Robert, does your guidance on extremely bad questions apply here (particularly, on speedy deletion)? In my flags at Programmers, I refer it quite frequently (works like a charm - thank you, thank you, thank you!:) Saved me (and I think many other regulars) a couple hundreds f-words that otherwise would pollute comments... not to mention that without utterly bad questions, site indeed looks more professional – gnat Aug 1 '13 at 6:34
  • 1
    @gnat: Things happen more rapidly on Stack Overflow. Extremely bad questions get dispatched very quickly here, especially copy/paste homework assignments (which the community has become very good at identifying), and the review queues are very efficient at getting bad questions deleted. That said, if a question is clearly harmful, flags are still welcome (especially for spam). – user102937 Aug 1 '13 at 15:56
  • I see, thanks. Faster (much faster) pace at SO should be taken into account, that makes good sense – gnat Aug 1 '13 at 16:01
  • 3
    I wish we could downvote insulting comments so that they wouldn't have the illusion of unanimous approval. – Anderson Green Jan 13 '14 at 23:40

I admit, my answer was obviously a lot more over the top than I had intended. I should have simply voted to close and left a comment instead.

However, at the most fundamental level, we're not talking about RTFM for that guy, because the fact that he didn't memorize a specific flag or function isn't the problem. The problem is that he does not have a minimal understanding of the differences between C++ and C#.

I mean, seriously. Out of all of the possible differences, this is one of the most trivial. This guy is going to be utterly screwed when it comes to some of the more complex differences, like GC vs RAII, or replacing the BCL components that have no equivalent in C++.

The simple fact is, he needs an entire book's worth (or probably several) of material to perform this task adequately. Simply showing him the solution to this specific instance would be completely unhelpful for him. There is no chance in hell that he can actually succeed in converting anything but the most trivial C# to C++ at his current knowledge level. He would have to come back and post a new question every single time.

  • 41
    The honest answer is just about every question on SO can be answered/commented with "you need to read a good book on X". It would not change anything and really doesn't add much to the conversation. – user7116 Jul 30 '13 at 19:55
  • 1
    Argh, I wish I have the superpower to view deleted answers. – Old Checkmark Jul 30 '13 at 19:55
  • 2
    @OldCheckmark: you're not missing anything. – user7116 Jul 30 '13 at 19:56
  • 20
    @user7116: Most questions do not require an entire book and years of experience to explain their answers, unlike his. – DeadMG Jul 30 '13 at 19:56
  • 9
    @DeadMG: I get it, you're frustrated by a new guy who needs years of experience before he should ask a c++ question (I remember reading that requirement in the FAQ). You've got enough rep to know better than an answer which is just, "read a book." – user7116 Jul 30 '13 at 19:58
  • 1
    It's nice to see that people are trying to edit your post now - glad everyone is so damn sensitive. Linus would have a hayday with the amount of emotions being thrown around due to this question. There is no reason your answer should have been deleted (it was not hostile, or attacking). But instead, a moderator deleted it, and thus cannot even be voted on for undeletion. – Jonathon Reinhart Jul 30 '13 at 19:59
  • 11
    @OldCheckmark "The problem here is that you have no idea about C++- namely, it does not have an equivalent feature, and even if it did, simply pasting the code like that would never work- for example, this.f() is illegal C++. Kindly learn the language you are attempting to use prior to use." -- I really don't think that was very harsh. – Jonathon Reinhart Jul 30 '13 at 20:00
  • 5
    @user7116: What would you recommend instead? I have to say that I am unaware of any means of gaining a vast quantity of knowledge and experience in C++ without doing something like reading a book. – DeadMG Jul 30 '13 at 20:02
  • 5
    @JonathonReinhart: because "kindly" makes all the difference. – user7116 Jul 30 '13 at 20:03
  • 3
    @DeadMG: Eat a brain! – Xeo Jul 30 '13 at 20:03
  • 4
    @DeadMG: I don't doubt reading a book would eventually lead to solving his problem. It just isn't an answer for SO. – user7116 Jul 30 '13 at 20:07
  • 9
    @DeadMG: I believe the proper action for a user in your position is to Vote to Close as "Too Broad" if the only solution is to read a whole book. – user7116 Jul 30 '13 at 20:16
  • 4
    @OldCheckmark: You're really not missing anything, but here you go. – jscs Jul 30 '13 at 21:00
  • 7
    You are just completely missing the point of SO. It is not to give an individual user help. It is to give the legion of future googlers a good hit. The one he couldn't find. This was taken care of by Jared. – Uphill Luge Jul 31 '13 at 9:30
  • 11
    The OP accepted the answer, clearly he's happy with Jared's answer solving his core problem. Just another member of that legion of programmers that don't understand why C++ doesn't have properties and getting confused by the difference between C++ and C++/CLI. C++ programmers tend to like to point out to anybody that wants to use the language that they'll need to walk the gauntlet and experience the pain and suffering of learning the language. That's just not helpful, the OP already knows. That's why he asked for help. – Uphill Luge Jul 31 '13 at 14:20

What's happening here?

It feels like much of this dialogue is in one of two camps:

  1. This is but one example of how the pervasive nastiness here is detroying our repution, or

  2. I'd rather hear the raw, straight blunt truth than some lovely lies; the answers the OP got were perfectly fine.

Both of those are at least partially wrong.

  1. While we are attracting a bit of a reputation as being unwelcoming, it is getting better in a bunch of ways, and there's a major reporting bias: for every person who does have a bad, avoidable experience here, there are dozens who got helped by someone who worked hard to understand and solve their problem, but never feel the need to rant about how awesome that is.
  2. Loving the truth and believing our community gets a somewhat unfair rep doesn't require you to defend those few cases when we do respond badly. And it doesn't require us to argue that the blunt truth is better than rainbow-laden lies. Even if you think "go read a book" is the most honestly helpful advice, the way that (now-deleted) answer presented it was still unduly rude:
    • "The problem here is that you have no idea about C++" may or may not be true, but it's not nice, and more importantly, it kills any chance the next thing you say will get listened to. How hard is it to replace it with "It sounds like you're trying to apply C# techniques to C++; they look similar, but behave very differently." Or nothing. Cut that line entirely, and start with, "C++ doesn't have an equivalent feature..."
    • "Kindly learn the language you are attempting to use prior to use." Again, this adds nothing but snark. You'd never say that to someone in real life who you wanted to respect your opinion.

I'm not trying to beat up DeadMG, who was open-minded enough to acknowledge that he came off harsher than intended. My point is that we should stop suggesting that all the responses were civil; they weren't.

In conclusion:

We are not going to hell in a hand basket. We (mostly you) are AWESOME.

It's often not much harder to be just as clear, but be NICER. Do that.

  • 13
    This. We've been arguing about niceness for just about 5 years now - literally since the day after SO went public. Yes, we should be nicer to the noobs - but for all the hand-wringing, an awful lot of folks have cut their teeth on SO over the years, and learned a heck of a lot in doing so... So try to be helpful, and ignore the bastards. – Shog9 Aug 1 '13 at 4:02
  • 3
    It was civil. Pleasant, maybe not, but it was civil. The fact that C++ doesn't have an equivalent feature in this trivial case is irrelevant, realistically. – DeadMG Aug 4 '13 at 19:55

I agree that we need to be nicer to users. However,

Stack Overflow is for professional and enthusiast programmers, people who write code because they love it.

We generally expect someone to have the basic knowledge needed to write code. In fact, we have a close reason that specifically addresses that:

Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results.

That does not mean the that the OP can get away with just knowing how to code in some language; he or she must understand how to code in the language featured in their question.

If the OP of the linked question does not know C++, s/he needs to understand that Stack Overflow is not the place to get basic tutorial advice. We can help with specific questions once that foundation is laid elsewhere.

  • 20
    The OP did not ask "teach me C++". He asked a very actionable question which had a definitive answer. Why is this question unwelcome? – JaredPar Jul 30 '13 at 19:40
  • 21
    @JaredPar: Because his task is unsolvable without knowing C++. – DeadMG Jul 30 '13 at 19:41
  • 8
    @JaredPar Because it's been unwelcomed for an extremely long time? Do you not realise that questions that don't show a minimal amount of effort in understanding the language get downvoted and closed almost instantly? I don't get why he would get special treatment honestly. – Rapptz Jul 30 '13 at 19:41
  • 6
    I don't know C++, but the question looks like a "find my typo" question based on the error message. If we answer that, he may be encouraged to post again tomorrow when he runs into another similar error. It becomes an iterative debugging session. If the OP spent the time needed to learn the language, he could determine how to solve simple syntax errors without our help. – George Cummins Jul 30 '13 at 19:42
  • 3
    @DeadMG so after googling, exhausting his coworkers for knowledge you expect him to ...? – JaredPar Jul 30 '13 at 19:48
  • 17
    @JaredPar: Find a very thick volume on C++, and read it cover to cover. At the very least. Googling and his co-workers are also not going to be a substitute for actually knowing what he is doing. – DeadMG Jul 30 '13 at 19:49
  • 19
    @DeadMG the feedback of "read a think book" to answer a very basic question is simply extreme. The question asked had a fairly simple answer. Why not answer it and point them to a reference to push them in the right direction? Your answer provided 0 value to the OP, it just served to discourage them from asking more questions – JaredPar Jul 30 '13 at 19:52
  • 4
    "The question he asked had a fairly simple answer" .... yet I wonder if he truly learned anything. His code might compile now, that's true... – Bart Jul 30 '13 at 19:53
  • 15
    @JaredPar: Good. It should have done. Because asking a question here every time he ran into a problem would have been seriously counter-productive, both for us and for him. His problem was very extreme- that he is trying to translate from A to B when he has absolutely no idea about B. Answering that specific error would be meaningless for him, because it would be about thirty seconds later that he would have a circular reference with shared_ptr or something. – DeadMG Jul 30 '13 at 19:53
  • 4
    @DeadMG yeah I guess learning that not everything in C# has a direct relationship to C++ did him no good at all. I'm guessing he already knew about C++/CLI so my words there were wasted. Really i wonder if he took away anything positive from my answer. – JaredPar Jul 30 '13 at 20:05
  • 9
    @JaredPar: It's not a question of "anything", it's a question of "Something such that he might actually be able to convert C# to C++ without coming here every two seconds for a year", and I doubt that he did take that away. I'm sure he would take something positive from an answer saying "Hi, thanks for asking a question! I love you.", but it's not gonna be that useful. – DeadMG Jul 30 '13 at 20:17
  • 3
    @user7116: The simple reason is because they only concern a misconception or technical issue covering a very, very small area. The question linked in the OP covers "Converting C# to C++", which covers, well, the entire of C++ and C#. – DeadMG Jul 30 '13 at 20:26
  • 7
    @user7116: He stated that his task was to convert C# to C++. The property was just the first problem he ran into- the first (and massively simplest) of many to come. – DeadMG Jul 30 '13 at 20:35
  • 6
    @user7116 Well, the reason I voted to close it was because it was a mere "translate my code for me" request. And the "effort shown" really wasn't there. It was so much not there that several of us found it necessary to recommend actually learning the language. I'd say that's enough motivation to close the question. But our opinions might differ. – Bart Jul 30 '13 at 20:43
  • 3
    @McGarnagle: So I should just ignore them, because I'm not the one who'll have to deal with them? Oh, wait, it's not like he's just going to come right back here and ask me again, is it? – DeadMG Aug 20 '13 at 17:39

It's been said that, "A lie can be halfway around the world before the truth gets its boots on." That's the case here, more or less.

All it takes to create that perception is for one new user to have one experience with one piece of hostility, whether real or imagined, whether deserved or undeserved. And he goes and tells everyone else. And thus, the perception is created through no fault of our own. And ultimately, there's nothing that can be done about that.

At least, not without degrading the quality of the site. Because Stack Overflow must be hostile to some things; bad or ignorant questions need to be shut down. And more often than not, when hostility is displayed, I find that it is just and deserved hostility. It's directed disproportionately against new users, but that's because new users are disproportionately more like to ask bad questions.

Can it be a bit over-the-top at times? Sometimes, the hostility is meted out in greater amounts than the question deserves. But I think more often than not, behind 80% of the hostile comments and answers is a question that on some level deserves it.

  • 5
    honestly I think this answer pretty much sums up the differences. You believe that users deserve the hostility they get. I don't believe anyone asking a question, no matter how poor it is, deserves a hostile response. Curt, no answer, closing, etc ... sure. Hostile? No. – JaredPar Jul 31 '13 at 20:12
  • 5
    @JaredPar: Curtness is often interpreted as hostility. Just as you did with your example question. Indeed, many new users see having their question closed as inherently hostile. Ultimately, I can't control how people interpret such things. – Nicol Bolas Jul 31 '13 at 20:18
  • 7
    I think saying "you can't control how people interpret things" is a cop out. Comments, even curt ones, can be structured in such a way to not be hostile or belittling. Saying you can't control it is basically saying you don't want to put in the effort. Sure there will be the occasional person who will take what you say completely out of context no matter what you do but I don't think anyone is terribly worried about them. – JaredPar Jul 31 '13 at 20:28
  • 2
    @JaredPar: And that's my point. All it takes to create the "perception of hostility" that SO has is for "the occasional person who will take what you say completely out of context" to do so. You seem to agree that such a thing is inevitable. So... you're basically agreeing that there's no way to change that perception. – Nicol Bolas Jul 31 '13 at 20:31
  • 3
    @JaredPar: You can't control how people perceive things, especially when there are the vast disparities in background/experience/language/culture that are present here. I can't count the times that someone whose native language isn't English has said something that sounded at first glance extremely rude (or even somewhat offensive) that turned out not to be intended that way at all. You can do your best to try, but you cannot control perception of others, despite your best intentions. – Ken White Jul 31 '13 at 22:12
  • 3
    @KenWhite you can't absolutely control pretty much anything. But you can certainly influence it. Too many people here want to take the extreme point of view that since you can't control everything that it's not worth trying for anyone. I find such reasoning indistinguishable from simple laziness – JaredPar Jul 31 '13 at 22:19
  • 5
    @JaredPar: Quantify "too many people here", please. Five people in one question (not all of which meet your criticism, BTW, because you lumped them all without actually considering content IMO) do not make "too many people". The question being discussed was a combination of "please translate this code because I can't figure it out" and "please tutor me in this new language because I don't want to tell my boss I don't know it", neither of which are what SO was designed to provide AFAICT (post a link to a source if I'm wrong about that, please, for my education). – Ken White Jul 31 '13 at 22:30
  • 2
    @JaredPar: "I'm saying there is the rare user who will take any negative response as hostile no matter what you try." I disagree. I don't believe that this is particularly rare for many new users. Many new users come to MSO talking about how they were "attacked", only for us to find that someone downvoted their question and/or closed it. Not comments, no specific hostility, just basic uses of the site. You'll see these every week or so. And that's plenty enough people to create this perception of hostility. – Nicol Bolas Jul 31 '13 at 22:34
  • 3
    @JaredPar: Oops, sorry. I thought I remembered your mentioning 5, but it's actually less than the very minute number I cited. Sorry, but I also disagree with your final sentence of the comment prior to this; the poster is quite clearly not going to be tasked with just this minor change, and hoping to do any more without education of some sort far exceeding what we can supply here is ludicrous. Learning C++ isn't learning VBScript. As far as the prior effort, I've searched for months trying to write my own OS in DOS batch and can't find it, and asked at work. Can you help? I have @echo off. – Ken White Jul 31 '13 at 22:50
  • 2
    @JaredPar: "so because some people feel like we were hostile when we weren't we should just be hostile to everyone to make sure that ...?" No, I'm saying that just because some people feel like we're hostile when we aren't doesn't mean that we should be less hostile than we are now. Also, however "ridiculous" you might find that assertion, it is also undoubtedly true. It's not about him porting a particular construct; it's about him changing how he approaches C++. His desire to port the construct is indicative of thinking about C++ programming the wrong way. – Nicol Bolas Jul 31 '13 at 22:57
  • 3
    @JaredPar: And you posted a ridiculous example in a previous post because you cited the fact that you were in a meeting and heard someone say they were too intimidated by the hostility at SO to post a question as evidence. I have a co-worker who says that all dogs are vicious because she has a niece who was nipped once by a Yorkie. Does that mean we need to consider euthanizing all dogs? – Ken White Jul 31 '13 at 23:19
  • 5
    @JaredPar: And now you've moved from anything approaching a legitimate argument to simply declaring that the opposition is using logical fallacies without evidence. The analogy is quite similar: both your point and his are based on the assumption that one data point represents everything, and that we should take action regardless of whether it's warranted. In both cases, action is being suggested before we've established that there is a problem that's large enough to take action for. – Nicol Bolas Jul 31 '13 at 23:34
  • 3
    @JaredPar: Let me see if I have this straight. My mention of my co-workers illogical fear of dogs is fallacious, while your mention of your co-workers illogical fear of SO is not - have I got that straight? If so, can you educate me on why that would be the case? I must have forgotten how things work. I specifically said "nipped by a Yorkie", which indicates that it was trivial - wait... Did you not understand the meaning of "nipped by a dog"? I'll define it: "teeny, tiny nibble with the teeth" -= there was no "severe injury" or "police involvement" intended or implied. – Ken White Jul 31 '13 at 23:51
  • 5
    @JaredPar: You're being intentionally obtuse here. We're not discussing the seriousness of small dog attacks here, and your taking it in that direction is simply misdirection. The point we're discussing is whether a single sample of a fear is enough to prove a wide spread problem. Your example of a remark made in a meeting as proof of SO being hostile is no more rational than a single incident of a dog bite meaning the entire species is vicious (even if the single incident did in fact cause injury). You're trying to distract from the false proof you cited that I pointed out. – Ken White Aug 1 '13 at 0:29
  • 5
    @JaredPar: You didn't tell me wny. You went off on a side discussion of the severity of dog bites. You also didn't explain why one generalization made by you (someone in a meeting) is different than one person in my experience - somehow yours is superior and mine is a fallacious argument. We can replace the dog example with any other exaggerated example of non-proof you like to match yours; it doesn't change the fact that a miniscule (and somewhat flawed) example does not prove the existence of an actionable problem. Three cases (one not proven) does not a epidemic (much less a pandemic) make. – Ken White Aug 1 '13 at 10:58

The premise is unproven: that 'SO has a hostile reputation.' We've all seen a few loud complainers, but, somehow, that does not seem to stop new people from showing up.

At ApacheCon this past winter, I heard a thought-provoking talk about applying filters when dealing with internet communities. Filters on what you say, and, more relevantly, filters on what you hear. Yea, civility is great. But the Internet in general, and StackOverflow in particular, contains a very wide range of cultural backgrounds, personalities, and, for all we can tell, species. Not everyone you meet is going to be "nice" by your ideal standards of "nice".

So, at the same time that we encourage civility, we need to also encourage the cultivation of some thickness of skin. If you only want to deal with people just like you, stay in your bathroom. If you want to ask the entire bloody internet for help with your problems, you need to be prepared for, well, a bit of bloody-mindedness.

  • 2
    To me, it's proven when I mention SO to another developer and have them tell me they're afraid to post here because people are mean here. Sure it's not everyone, but it's enough to drive good users away. – Rachel Aug 11 '13 at 1:48
  • 7
    Sample size = 1. – Rosinante Aug 11 '13 at 3:17
  • 2
    Nobody's mean when a post shows effort and evidence of critical thinking. We are not mean because a post is about a basic topic; we are mean because the OP has not thought it might be worthwhile to do some of their own research first.... and because we are too used to this being a pervasive pattern among newer, younger developers. Is it fair to do it harshly? No, not really. Is it fair to set the barrier-to-entry into the "club" at "you are familiar with critical thinking"? Yes, I think so. We have to set it somewhere. There's no mandate for SO to support every level of experience. – Lightness Races in Orbit Aug 20 '13 at 17:59
  • Not only is the sample size of "everyone I talk to says Stack Overflow is full of meanines" too small, the question itself is lacking perspective. How many (of those) people are also afraid to post to a relevant mailing list, forum, or IRC channel because of potential responses? – jscs Aug 23 '13 at 22:04

I want to take some time and go through this "hostile feedback" of yours. May I?

And why in the world are you converting Managed code to Unmanaged?

To me this actually reads as "This is possibly an X/Y problem. I can't fathom why you'd actually try this, why are you actually trying or need to do this?". Time and time again I've seen questions asked where people attempt to do things not because they actually need to but because of some prior misconception. Hostility? None found.

Pick up a good C++ book and learn the actual language.

This has been thoroughly covered in the comments. OP is clearly not aware that C++ does not have properties like C# does meaning he probably has very little knowledge of C++. In order to properly re-write code from language A to language B one needs an at least minimal understanding of both languages. Something OP lacks. How does one fix this? By picking up a good book and learning the language. Hostility? Again, not really.

The problem here is that you have no idea about C++

While this may come across as an insult "You have no clue what you're doing", it's more of a factual statement, IMHO. Whoever wrote this is merely pointing out that the problem here is that you're attempting to use feature in language A in language B where it does not exist. Something you wouldn't actually attempt to do if you knew C++. Could've been sugar coated I guess but not hostile or insulting in any way.

Now comes the case of DeadMG's answer. I don't have 10k rep so I can't actually grab the text and do an analysis. But from what I remember, the essence of it reflected some or most of the elements I pointed out earlier. We can agree to disagree on whether or not it was offensive, but in the end he was right. In order to perform his task, OP needs to learn C++ first.

Now that all of this is said:

This question is a great example of why Stack Overflow is getting a reputation for being a hostile environment these days

I believe this is in fact not a great example of SO being a hostile environment.

This question is a great example of why Stack Overflow is getting a reputation for being a hostile environment these days

EDIT: Ok so I was told where to find the original answer:

The problem here is that you have no idea about C++- namely, it does not have an equivalent feature, and even if it did, simply pasting the code like that would never work- for example, this.f() is illegal C++. Kindly learn the language you are attempting to use prior to use.

I'll give you this: it could have been sugar coated. But what is this answer really saying?

The problem here is that you have no idea about C++- namely, it does not have an equivalent feature, and even if it did, simply pasting the code like that would never work- for example, this.f() is illegal C++.

The bit about not knowing C++ I've covered. The rest is a factual statement that C++ does indeed not have an equivalent feature to C#'s properties. And finally, sound advice if you ask me. One should not attempt to "translate" from language A to B by pasting the code and fixing the errors one by one. I don't have much experience I'll grant you that much, but in the experience I do have, I've found this approach counterproductive.

Kindly learn the language you are attempting to use prior to use.

This final bit was also covered earlier. The only proper way to perform this task is to learn the language.

  • 14
    Perception is reality. Whether they intended their feedback to be hostile or not it is very easily taken as such. – JaredPar Jul 30 '13 at 20:23
  • Jonathan posted the content of DeadMG's answer in this comment – Old Checkmark Jul 30 '13 at 20:23
  • 2
    @JaredPar The point I'm trying to make is that the comments were not offensive in nature. One cannot control how someone will read them and take them. Hell you could wake up grumpy and take something as offensive one day that you would have found benign any other day. I'm simply trying to point out that the comments are in my opinion not nearly as offensive as you make them out to be. And as I said we can agree to disagree. – Borgleader Jul 30 '13 at 20:31
  • @OldCheckmark Thank you for pointing that out. I updated my post. – Borgleader Jul 30 '13 at 20:32
  • 7
    All three of those comments are, in my opinion, close to nice, but aren't nice. "Why in the world...", "learn the actual language", "you have no idea" are not welcoming to new people. You can say each of those things and take a further step in communicating with others. You might feel like it's okay to receive criticism of that nature, but not all programmers are so confident in their abilities as to choose to withstand comments that come across as "you are really stupid". Additionally, each of those comments are directed at the poster and not at the idea. That is inherently confrontational. – jwiscarson Jul 30 '13 at 20:52
  • The other point is that a moderator took it upon herself to single-handedly delete the answer - presumably because she (like many here) thought it was "too harsh". Was DeadMG's comment really so bad that it warranted bypassing the normal voting process and preventing undeletion? Not to mention he's an 81+K rep user. I would vote to undelete the answer, and would up-vote it if I could. There's no time or need for the ridiculous sugar-coating people are screaming for. – Jonathon Reinhart Jul 30 '13 at 20:54
  • 9
    @JonathonReinhart It was at -5 at the time of deletion and didn't actually do much to answer the question. As a comment, perhaps it could've worked, but I strongly object to the tone with which it was written so I opted not to convert it to a comment. You can avoid sugar-coating something without going to the opposite extreme. If you'd like another mod to review/reverse the deletion, you can flag the post. – Adam Lear Jul 30 '13 at 21:11
  • 2
    "Oh my god, have you ever used a computer in your life? Listen here, jackass, you can't just go compiling C# as C++ and expect it to work - what are you, braindead? I'd consider you an excellent candidate for a retroactive abortion." - Now that is an example of the opposite extreme. I still don't feel his answer was that harsh. – Jonathon Reinhart Jul 30 '13 at 21:15
  • 11
    @JonathonReinhart, the user apologized for asking the question. Offensiveness is an issue that humans have debated and argued since language existed. Setting an arbitrary bar that works for you doesn't solve the problem for other people who have different measures. Can we stop singling out a mod for deleting an answer with a score of -5 whose owner admitted that it probably shouldn't have been posted? – jwiscarson Jul 30 '13 at 21:46
  • C++ does not have properties like C# does -- this is completely wrong, as the Op is using CLI/C++, which does have properties. – McGarnagle Aug 20 '13 at 17:23
  • @McGarnagle You just contradicted yourself. "OP is using C++/CLI" a) C++/CLI != C++. b) If he does why was the question never tagged as such? – Borgleader Aug 20 '13 at 17:33
  • @McGarnagle: error: logic not found. "C++ does not have properties like C# does" is 100% correct, contrary to your assessment. A different phrase "C++/CLI does not have properties like C# does" would be "completely wrong", but nobody said that. – Lightness Races in Orbit Aug 20 '13 at 17:57
  • @LightnessRacesinOrbit try thinking like a human instead of a computer. That the Op might be using C++/CLI is a reasonable probability given the C# context. – McGarnagle Aug 22 '13 at 18:47
  • @McGarnagle: No need to get defensive. You were wrong. – Lightness Races in Orbit Aug 22 '13 at 18:58

This is one of those discussions where everybody is right - from their own position.

Of course we should be nice to newbies in the field. Plus, we have all been new to our field(s) when we started out, so we all know what it feels like.

And likewise, I think most people would agree that SO is not a programming school where you can walk in right from the street with a 9th grade background and receive personal tutoring without having done something on your own to learn the basics of the language/platform you are asking about.

That said, I know that my mood changes from time to time regarding how much tutoring I am willing to give - or I may even be in a mood to actively nurture a guy who is new to some topic that I find interesting. At the other end of the scale, some days I may be only interested in more advanced questions from other users that help me expand my own horizons.

So to me this boils down to two issues, which are not mutually exclusive:

  • It would be helpful for everyone if there were some sort of consensus of what level of basic knowledge is expected, at least for the large language or platform tags.

  • Some sort of filtering tool that works like the tags work for content would be really useful. Then people not in the mood for "too basic" questions can just filter them out. When they get in the mood to help some newbies, they can easily filter them back in again for an afternoon of pleasant mentoring.

Regarding the first point: The c++ tag has this in the tag wiki but as this discussion illustrates, it isn't universally accepted. However, a consensus on the matter would help steer comments and meta discussion alike, and provide a resource to point to in case someone challenges an invitation to the asker to gather more information beforehand.

As to the second point, quite a few users already do this in the question itself, in the form of a disclaimer along the lines of "I am a total noob to language X, but …", so some of this seems to come natural to at least a part of the users.


The main issue here is the way we communicate problems to users. We need to respond to users in a soft and friendly tone, rather than directly and harshly tell the user that something is wrong—even if the latter is more truthful.

The following response, while true, is not the best way to tell the user that he/she needs to understand the basics of the programming language:

The problem here is that you have no idea about C++- namely, it does not have an equivalent feature, and even if it did, simply pasting the code like that would never work- for example, this.f() is illegal C++. Kindly learn the language you are attempting to use prior to use.

The way this text is worded, namely the use of words like "you have no idea" and "kindly learn..." can be read as harsh and condescending. I think this can be better written as follows:

It looks like you don't fully understand the C++ language. You should consider reading about the basics of C++ before you start programming. C++ does not have a feature that is directly equivalent to C# properties, and treating C# code as C++ code generally does not work.

It is important to remember that civility is expected of all users, and the fact that the serious programmers on SO have more important matters to attend to does not mean that they can leave a snark, uncivil response.

The following quotes are from the Help Center.

From https://meta.stackoverflow.com/help/how-to-answer:

Always be polite and have fun

It’s fine to disagree and express concern, but please be civil. There’s a real human being on the other end of that network connection, however misguided they may appear to be. We’re here to learn from our peers, not yell at each other.

From https://meta.stackoverflow.com/help/behavior:

Be nice.

Civility is required at all times; rudeness will not be tolerated. Treat others with the same respect you’d want them to treat you because we’re all here to learn, together. Be tolerant of others who may not know everything you know, and bring your sense of humor.

  • 3
    Can someone explain why they disagree with this answer? – bwDraco Aug 10 '13 at 20:32
  • 2
    This is a good idea. Evidence suggests that it is very difficult for some people to do, however. – Shog9 Aug 10 '13 at 22:46
  • 3
    It's unrealistic. People here are volunteers. Sometimes they will be gruff. You can chastize them for being over-the-top rude, but you can't demand that they provide fast-food-level smiling customer service. – Rosinante Aug 11 '13 at 3:24
  • 1
    While unrealistic even in real life (especially internet) to expect that. Its something good to work towards to. For when we stop trying, is when humanity is truly lost. – PicoCreator Jan 5 '14 at 11:14
  • @DragonLordtheFiery : Also personally, i feel your answer cuts right to the heart of the issue (and the internet in general). Bringing it above the rest here (Personal Opinion) – PicoCreator Jan 5 '14 at 11:30

I have noticed this on occasion (very occasionally), and experienced it once or twice (far rarer) - my experience has been quite positive overall.

If you think an answer is not constructive, downvote it. If you find a comment or an answer particularly unnecessarily rude/not constructive - flag it as such, as you have done.

Looking at the example, I have to say though, that I think Bart's comment was helpful - a link to a good reference. The answer also provided looks to be very helpful.


I think people on both sides of this have made some good points.

My own reaction would be to try to do a little to restore at least a little of the welcoming and "fun" feel of the site that some comments seem to have suggested has declined over time. I think one way to do that would be to at least partially restore the "casual Fridays", where there are a few hours a week where questions that aim a bit more toward fun are tolerated (and perhaps even encouraged). Even if that content adds relatively little value, it can help attract users who are likely to add value.

I also think a lot of the negatively-perceived reactions stem from the sheer volume of questions. I think it's worth thinking in terms of tags that do more to help (especially regular) users find the questions they care about and ignore the ones they don't. And yes, I think that might include revisiting (yet again) the possibility of at least a few meta-tags such as . Even without meta-tags, I think (especially for the higher-volume tags) it's worth putting some serious thought into whether we can add some tags that help classify those questions more specifically so people are likely to simply ignore questions they won't care about, leaving them more time to put real effort into making seriously positive contributions to the questions they care the most about. This can also help mitigate the (IMO, minimal) negative effects of the casual Friday types of questions, by making them easy to ignore.

In fairness, I doubt the effects of either of those changes would be purely positive, but I think (especially in the long term) their net gains would outweigh the net losses.

  • 1
    I worry that what you say may be entirely correct. And I don't mean that in a good way. For instance, who do you think is going to make it a point to visit and post quality answers to questions with the [homework] tag? Won't everyone just ignore them? Then what have we got? – Cody Gray Jul 31 '13 at 6:25
  • 1
    @CodyGray: I don't recall homework being entirely ignored when it existed, so I don't see a lot of reason to believe it would be if it were restored. – Jerry Coffin Jul 31 '13 at 6:28
  • 2
    That would be an interesting conversation. "This question appears to be off-topic because you didn't ask it on Friday." – user102937 Jul 31 '13 at 16:32
  • While I don't think this would scale to SO's size, there is some precedent for that sort of thing. (An example of it falling apart would be the "Friday afternoon" thing on MSO) – Shog9 Jul 31 '13 at 16:33
  • I agree both sides make good points and this is the first suggestion that sounds like it has a reasonable chance of helping in the long term. – Shafik Yaghmour Jul 31 '13 at 21:54

Because you cannot forbid them to do so.
Any kind of oppression from whatever side will just lead to more hostility.
Problem solving morphs into ego defence.

It's just how human perception is. Small things erupts in flames.

'why you aren't doing this?' -> 'you are stupid' -> 'i don`t care about you'

Only thing that helps to reduce this hostility is empathy - honest and careful try to understand and help other person and ability to set free any resentment.

Only thing that helps to reduce this hostility is empathy
-- Detention works too. – Robert Harvey♦ 4 mins ago

Only when target admits his guilt and sees detention fair.

If person can't see his guilt but thinks that detention must be fair because of authority, that just leads to fear and insecurity.

Anyone who has a dog should have noticed this. If you just beat him up - he might bite you. He might bite you years later for appareantly 'no reason'.

I used the word 'fuck' once as a tool to express my despair for particular technology. Got flamed, edited and whatnot. I don't find that fair neither professional. I find that stupid. Language is just a tool to deliver message.

Not really contributing to SO anymore since then, detention didn't help to me.

Only when target admits his guilt and sees detention fair -- We certainly hope that people use the time they are suspended to reflect on how they can adapt their behavior to be more constructive members of the community. But you said it yourself: detention didn't help you. Like jail, the real purpose of detention is to remove those participants from the community (hopefully temporarily) so that they don't do any more damage. – Robert Harvey♦ 1 min ago

And jailed community is what you end up with. Already wrote about insecurity.

so that they don't do any more damage

And since I don't find my detention fair, I read this as:

all your time you've contributed to help people, all those hours are nothing more but damage

And they will. Just like dogs - years later.

  • 7
    Only thing that helps to reduce this hostility is empathy -- Detention works too. – user102937 Jul 30 '13 at 20:07
  • 3
    Only when target admits his guilt and sees detention fair -- We certainly hope that people use the time they are suspended to reflect on how they can adapt their behavior to be more constructive members of the community. But you said it yourself: detention didn't help you. Like jail, the real purpose of detention is to remove those participants from the community (hopefully temporarily) so that they don't do any more damage. – user102937 Jul 30 '13 at 20:25
  • "Not really contributing to SO anymore since then, detention didn't help to me." Perhaps it did not help you. But it helped us because we don't want that kind of contribution here. The kind of participation you did is not acceptable. You can either change your ways, voluntarily leave, or involuntarily leave. Any of those makes the site better. – Nicol Bolas Jul 31 '13 at 19:35
  • 1
    "And since I don't find my detention fair, I read this as:" At the end of the day, we can't help what you choose to consider it. If you believe that all of your contributions were equivalent, and thus this one sanction effectively was a sanction of everything you've done, we can't change your mind. All we can do is clearly explain what was done and why; how you interpret it is your choice. And if you choose to consider an attack on one outrageous comment as an attack on your entire body of work, nobody will make you see differently. – Nicol Bolas Jul 31 '13 at 19:39
  • @NicolBolas i wrote already - it's resentment. i don't choose it, human nature does that. and this answer is prime example of how it goes - was discussing hostility, ended up discussing my personality. broken egos everywhere, trying to bash each other. – Arnis Lapsa Aug 3 '13 at 21:04
  • 3
    @ArnisL.: If you consider downvoting as being equivalent to "hostility" and "broken egos everywhere trying to bash each other", that's a problem with your perception, not with SO. If you resent what was done to you, that too is a problem with your perception. Your perception is entirely your fault, and it is entirely your choice, because you choose to see the world the way you do. – Nicol Bolas Aug 3 '13 at 21:06
  • @NicolBolas another peculiarity of human nature - we desire freedom but worship conformity to achieve that. it leaves deep sorrow when I imagine that source of computer ultimate logical rigidness and lack of humanship strives from pursuit of freedom. – Arnis Lapsa Aug 13 '13 at 9:03
  • 3
    @ArnisL.: "another prime example" of what? "silly and insecure censorship that just obscures information flow." No information flow was obscured in any meaningful way by that edit. – Nicol Bolas Aug 13 '13 at 9:14
  • Amis, Are expletives allowed on SE sites? might give you some insight. – Arjan Aug 13 '13 at 9:18
  • @NicolBolas not the answer edit but comment deletion. the one where I explain that I'm fooling around to highlight main part of my answer and show an example on how topic changes to ego defence. that's an important piece of information thrown in garbage just for the sake of conformity. – Arnis Lapsa Aug 13 '13 at 9:32
  • @Arjan it has given some insight. I'm using profanity to show how unimportant it is. language is a tool. – Arnis Lapsa Aug 13 '13 at 9:35
  • @ArnisL.: The topic did not change to "ego defence". Or if it did, you changed it by your behavior. Showing that you can change a topic by posting a comment isn't exactly proving anything. Also, what is "ego defence"? – Nicol Bolas Aug 13 '13 at 9:44
  • @NicolBolas I kind a made that term up, but appareantly it does exist. it's pretty much what I meant - psychcentral.com/lib/15-common-defense-mechanisms/0001251 – Arnis Lapsa Aug 13 '13 at 9:51
  • @NicolBolas "Or if it did, you changed it by your behavior" that is unimportant. it does not matter if it's my or yours ego. it's oppression that leads to hostility either way. – Arnis Lapsa Aug 13 '13 at 9:52
  • 2
    @ArnisL.: You mean, if you break rules on this site, you get... sanctioned? Wow dude, you just totally blew my mind. Again, if being punished for breaking the rules is how you define "hostility", DEAL WITH IT! – Nicol Bolas Aug 13 '13 at 11:44

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