Stack Overflow (the website) - We have a problem

Hello friends,

I've been learning Rust on and off for the last 6 months and I seem to come across a bit of a problem with questions on Stack Overflow (SO). There are people triaging issues with overly strict criteria for duplicates. I think this is a community problem because all these duplicates get closed and newbies like myself have a harder time trying to find the answers we are looking for (or potentially even answering questions).

Here's an example: https://stackoverflow.com/questions/60210478/rust-work-around-cannot-return-value-referencing-local-variable
an apparent duplicate of https://stackoverflow.com/questions/33855809/strings-lifetime-when-returning-vecstr

Sure, the answer might be the same, but the questions certainly don't look the same. Also, it may not be obvious to some of us why the ownership issue underlined by the compiler is related to record as opposed to field.1 which is the real issue.

Just because the answers are the same, that doesn't mean that the questions are and the question is the critical part that leads to the solution. In this duplicate scenario, one cannot explain why the answers are the same except in comment. The "why" should be part of the answer, not just a comment.

I think that this is a major community issue that will turn people away from Rust, especially since I've observed this happening to new SO users.

3 Likes

That's a stack overflow problem. It's across all languages, systems, etc.

If you don't like it, just avoid stack overflow and use other communities.

10 Likes

I agree it's an issue, and I more or less don't use stack overflow because of it's format. (not that this issue is specific to Rust)

3 Likes

Moderation note: I am strongly inclined to close this thread as "answered." In particular, this is a StackOverflow problem and there is really nothing that the Rust community itself can do about it. To the best of my knowledge, the Rust area of SO is generally behaving just like every other area of SO. And as far as I can tell, this is intended behavior. So the proper venue to bring up this issue is with SO itself, not Rust.

I'll leave this open for now, but I am going to be watching this thread closely and removing unconstructive or ranty comments. Please keep it on topic. Please pause before posting and consider whether what you're saying meaningfully advances the discussion forward.

25 Likes

Understand that duplicate is not about question is about answer, quoting: "This question already has an answer here". Duplicate are totally accepted (but low research effort is not). SO site consider it as closed but that more a redirect feature. Question will not be deleted and will help other to find answer.

A note about your example, the duplicate is totally valid and the OP even said "@justinas thanks, it worked". I agreed sometime some question could be redirect wrongly but this is clearly not the case here.

Also, we often talk on the chat about duplicate when we have doubt before take action.

If this doesn't fit you please read https://stackoverflow.com/tags/rust/info, specially:

Getting Help

Not all questions are suitable for Stack Overflow, and discussions certainly are not. If you wish to ask for a recommendation for an IDE, a library, or wish to discuss about the best way to organize a bit of code, then you may consider alternative venues.

More open-ended questions and discussions are welcome on:

There is a list of Rust IRC channels on the community page, and there are even language-specific channels if English is not your forte.

Additionally, the AreWeXYet collection of websites provide helpful summaries and lists of thematic resources:

8 Likes

@BurntSushi, feel free to close. This might be a better post for Reddit? My comparison of Rust on SO is to Elixir, JS, and Arduino. The issue with duplicates isn't nearly as high in my experience.

I get that there might not be anything we can do about it here though. I just think SO is a great resource for devs coming from other languages as it is kind of the defacto standard place to get help with code on the internet.

Does anyone have any suggestions about a better place to bring this up, maybe the meta-SO?

But there are so many times I've seen questions that don't explain why the answers are the same for two different questions. I strongly prefer "see this answer" (with a link) and an explanation as to why they are the same. Otherwise, the answer is incomplete.

4 Likes

We generally add a comment when needed, but we expect people do some effort. Again using your example: "The duplicate applied to your case: replace obj[field.0] = field.1 with obj[field.0] = field.1.to_owned()".

I don't think this make sense to open a question on meta stackoverflow, I'm sure there is already some question about it.

SO is not a "as it is kind of the defacto standard place to get help with code on the internet.". SO is a library where people can find question & answer to all related code problem. That often a miss conception, I used to say "SO is not a debug my code service", Q&A are expected to help everyone not just one person. If a general answer already exist we use it. We are on revenge happy to give a short TL;DR in comment that help to understand why it's a duplicate.

Our time is not limited, duplicate close will not be remove soon. And In my opinion, SO contributor will go away with this kind of change.

Note that it's not specific to Rust tag, we are lucky to have manage to keep Rust tag on SO quite clean, thanks to the hard work of @shepmaster & other, but some tag on stackoverflow like javascript become a total mess, just look 0 answer a lot of questions that have probably already be answered somewhere else, you will have a lot of trouble to just have your question read in javascript. I think C tag is in a similar situation.

You can even read https://github.com/not-yet-awesome-rust/not-yet-awesome-rust/issues/4, where subject is to try to keep up to date answer on SO. If we don't use duplicate we would have to keep up to date more answer for nothing.

4 Likes

A few quick comments.

  • Closing a question as a duplicate is helpful. Don't read it as "you shouldn't have asked this question", but rather as "here's the answer you are looking for."

  • Asking a duplicate question can be helpful as well. The duplicate question will stick around and can be found by Google, so it will help other people find the answer in the future.

  • If you feel that a question has been marked as a duplicate in error, please comment on the question and explain why. I've done this a few times, and the questions generally did get reopened.

  • If you have a question that is too vague for SO's format, ask it here. This forum is a much better place to have an open-ended discussion than SO.

  • If you have concrete ideas how to improve the perceived situation on SO, try to bring them up on https://meta.stackoverflow.com/. Make sure to search old questions first. :slight_smile:

Finally, I don't quite understand the problem with having part of the answer in a comment on the duplicate – people generally just want their problem solved, and are happy when given the right hints.

16 Likes

SO used to be my one stop for any question I had (Kotlin, Android, Gradle you name it) but I stopped using it when asking Rust stuff. I think I'm doing my part researching the already answered questions before asking mine but I was constantly down voted. So I agree that we might have a problem.

On the other hand, I've read (on reddit) that there were some actions done since then to make the Rust SO more welcoming, so all I've listed above might be not true anymore.

Nonetheless, I'm still avoiding SO for any Rust question.

6 Likes

I haven't used SO for Rust in a year or more but my reasons were similar. It felt like they were very quick to close as duplicate so you always had to fight to try to explain the (real or perceived) difference.

I don't think closing duplicates is wrong exactly and it may well be I was wrong to want a question kept open but it is frustrating for the only answer to be, basically "either see this other question you already read or fight me". It may be better to simply comment and link to the possible duplicate and seeing if anyone can provide a more specific or even better answer, before reaching for the close button. If nothing else a comment without a close feels more like requesting a dialogue than demanding an argument.

I've not felt that way in other parts of SO. This may be because my Rust questions were more basic but on the other hand it's frustrating to feel like you have to constantly justify yourself whenever you need help. In the end I simply didn't bother and asked elsewhere.

I don't want to sound too critical of Rust SO moderation. They do a good job of, for example, steering people towards better answer post 1.0. This was just how I felt as a newish Rust user seeking answers. Besides, things might well be better now.

5 Likes

Downvote are generally for a reason. There is sometime a lot of downvote for a question because a bad question get too much attention. That unfortunate, I personally don't downvote Q&A when there is already mass downvoted. Downvote is for post not people.

I don't see why it's a problem. OP need to provide as much effort than other. Make a good question is as hard that make a good answer. If people think your question is already answered you need to convince them it's wrong. Just keep thing civil, don't take thing personally.

I already explain why we close as duplicated if needed an additional answer can be add to the other question.

Again, SO is not here to help you specifically, it's not a support. You need to provide a good question, and you might end with a good answer but nothing is guarantee

SO didn't change much. That more you that become a more experimented user.

Again, I've long used SO for other languages and technologies and haven't had similar issues. I don't know if the Rust section of SO has changed because I haven't used it since. It may be worse now or it may be better. I don't know.

And I'm not saying closing as duplicate is always wrong, I'm just explaining why a quick and terse "close as duplicate" was off putting to me. It lowers the number of people who will view the question, does not explain why it's a duplicate and instructs the user to argue by editing the question.

I find this particularly perplexing. If a new question is worth a new answer then why is it closed as duplicate? Or if "hints" in comments eventually allow for the asker to figure out their problem then what's wrong with writing up that insight as a full answer so as to help others?

I get that you're trying to provide a curated Q/A with as little overlap in questions as possible. But this does seem to differ from other areas of SO.

2 Likes

I don't think anyone try to close question as fast as possible, maybe you feel it that way, my personal workflow is to read the question and take actions, I often do nothing, but if I think it's a duplicate I cast a vote, Question are often answer in less than < 1hour, so question also get closed in less than < 1 hour. Guess, we are say sorry to be fast :stuck_out_tongue:

To regroup answer on one question, diamant users do it from time to time. But it annoying to do so better do it without their help (also, 20 moderators already left in 3 month... because SO company didn't listen curators). I already delete my own answer because I didn't know there was a duplicate.

Already explain, this add work to keep answer updated and split knowledge between different questions. Using duplicate allow all people that will find any duplicate questions to be redirect to the best and updated answers. That one of the force of Q&A model, have quick and good answer without distraction like look all linked questions to find answers.

But there is not a fundamental problem with it, that why answer are still visible, you just can't add new one.

Why do you think that ? Duplicate are not delete. Everyone can read them.

Each tag have their own community and "rules". I'm talking about Rust tag here. Yes, there is difference in behaviour between tag. In rust, we are generally strict but we believe this make rust Q&A more useful to everyone. (I don't talk for everyone, that my opinion)

On a note: I don't remember have seen any SO Rust users come on other Rust community to ask to change their behaviour. I think SO should stay like it is, each tool have its pro & con, but here you try to change SO, it will loose its purpose. I don't see the point, for example, I don't like at all Rust reddit, I didn't try to change it.,Their rules don't fit me, so I leave.

@Stargateur, it seems to me like you (among others) are trying to curate SO for the intermediate to advanced Rust users. I agree with the vast majority of @chrisd's points. If making the Rust tag more beginner friendly is not yours, or any other moderator's goal, then you all are doing a great job answering quickly and keeping things concise, probably far better a job than most other languages on SO.

I think I can say this with conviction though: SO is not friendly for beginner Rustaceans, plain and simple. I'm not sure that you can see that based on you're contention with what @chrisd is saying. He's saying that SO does not help him with his Rust questions, he has to go elsewhere and your suggesting that it isn't a problem, that he should get what he needs with the current moderation tactics. Unfortunately, that's a really poor argument. Again, if the barrier to entry for Rust is a little higher when it comes to understanding, then this whole thread should be closed, I don't have a problem with that, but I want you to accept based on testimony here that the barrier to entry is high, and that if it's not by design it should probably be improved.

(@chrisd... Just realized I made some gender pronoun assumptions above, let me know if I should fix)

2 Likes

I will not say SO Rust tag is not for Rust beginner, just like the rest of SO, not for the dev beginner in general. We expect OP knows some basic of programming, in Rust we prefer OP read at least the basic of the book but that not mandatory, the question need to not be too broad and OP need to do a some search before. People forget that SO should not be the first choice but the last resort to solve a problem.

To talk about my first SO question... well, I deleted it after some time, it was a bad question. To ask question on SO, you need to learn how to. I think Rust tag info is totally enough to explain how to ask Rust question on SO.

if it's not by design it should probably be improved.

SO is by design not beginner friendly. (Well, new CEO want to change that... I think and I'm not alone that it's not a good thing)

He's saying that SO does not help him with his Rust questions, he has to go elsewhere and your suggesting that it isn't a problem, that he should get what he needs with the current moderation tactics. Unfortunately, that's a really poor argument.

Why ?

Why? From what I've read, meta.stackoverflow.com disagrees with this. The best quote I've seen on this is:

We shouldn't close something answerable just because it's really basic.

An answer with only 16 votes can't be considered as a consensus. Also, the C question given in the post is a perfect example why C tag have become a mess.

I will counter your meta question with How much research effort is expected of Stack Overflow users? where the accepted answer have +848/-161 like you see not everyone agree but we are more close to a real consensus here. Well, you can see some trace of SO employees not far away of this "unwelcoming" answer.

For example, this is one of my favourites questions I answered, question was clear, all informations needed was in it, OP clearly try everything then come to SO (and the problem was very challenging, not needed but that add fun).

For example, today tcp question, very bad, OP just asking to explain everything, that not a good question for SO. But this question could be totally ok for discord beginner help or here (I think).

The point of StackOverflow is to provide answers to programming questions. If we require users to boil the ocean and prove their question has never been asked before in any form anywhere on the internet, then SO has failed its purpose.

Part of the utility of SO is to duplicate information into an easy to digest format. One of the most upvoted questions of all time duplicates information found easily across literally thousands of websites on the internet, not to mention :help. Look across any relatively popular tag on SO and the most upvoted questions are nearly always beginner questions.

It's great when people can provide all the details possible to resolve their question in the first go but we shouldn't be penalizing people because they don't know what they don't know.

Frankly I'm confused why being welcoming to beginners is seen as a bad thing. The Rust community is widely regarded as being welcoming to newcomers but, in my experience, our SO presence is far from that. I would love to see that change so that no matter where a beginner goes to learn, they see a friendly, welcoming community.

2 Likes

The point of StackOverflow is to provide answers to programming questions.

No

Also, this answer is amazing (BTW, you can read all this Q&A it will sum up everything I think)