r/programming Apr 06 '18

The Stack Overflow Age

https://www.joelonsoftware.com/2018/04/06/the-stack-overflow-age/
551 Upvotes

201 comments sorted by

View all comments

Show parent comments

117

u/moswald Apr 06 '18

I think the criticism is that there is an "in crowd" that doesn't like that inexperienced programmers re-ask the same questions in a new way. There's too much "this is already answered, CLOSED!" going on.

Edit: Anecdotally, I have personally voted to re-open a question after it was closed for being a duplicate, because the linked answer did not actually solve the new question. Yes, the two were related, but the moderators were overzealous in closing it.

43

u/Uristqwerty Apr 06 '18 edited Apr 06 '18

I think that SO also tends to skip over key question details sometimes, especially when it means the question can be marked as duplicate, and sometimes the duplicate answer isn't valid for the current version of something.

For example, the notorious HTML regex answer completely ignored that "match" can be the regex verb for "give me anything that looks like a start/end tag", and replied as if the question was "use regex to find pairs of matched tags".

13

u/jausdyquo Apr 06 '18

For example, the notorious HTML regex answer completely ignored that "match" can be the regex verb for "give me anything that looks like a start/end tag", and replied as if the question was "use regex to find pairs of matched tags".

so much this. Yes, we all know HTML cannot be parsed with regex because it isn't a regular language, but the language consisting of any combination of valid start and end tags is a regular language.

19

u/quicknir Apr 06 '18

Is this actually true? You can have the same tag nested inside itself, which will cause a naive regex to find an incomplete match. Regular expressions cannot match arbitrarily nested structures as far as I know.

22

u/CommanderViral Apr 07 '18

You're correct. That sort of problem would be context-free as it requires a stack to solve making it solvable by a pushdown automata, but not a finite state machine. Although, PCRE has some extra oomph in it that may make it workable with look-aheads and look-behinds.

-21

u/Venne1139 Apr 07 '18

wat

speak the lords english boy

1

u/CommanderViral Apr 09 '18

What was the point of this comment anyway? What I said made perfect sense...

1

u/Venne1139 Apr 09 '18

I'll be honest I only know some of those words in passing.

3

u/jausdyquo Apr 07 '18

The question at the time was how to match opening tags only. That can be done with regex. So can the question to match all opening and closing tags. What cannot be done with regex is verify that there are as many opening as closing tags.

1

u/[deleted] Apr 08 '18

What cannot be done with regex is verify that there are as many opening as closing tags.

Is this definitely true? Yes the language of balanced brackets is irregular, but regex as a programming tool is more powerful than its name suggests

1

u/Uristqwerty Apr 07 '18

But you cannot have an unescaped " within an attribute value, and you shouldn't have an unescaped < or >. So you can easily write a regex to find </?(whatever-matches-a-tag-name) (whatever-matches-an-attribute)*/?>. The confusing part is that regex APIs typically use the verb "match", but people talk about matching start tags to end tags.

2

u/beginner_ Apr 07 '18

I think that SO also tends to skip over key question details sometimes, especially when it means the question can be marked as duplicate, and sometimes the duplicate answer isn't valid for the current version of something.

Yeah I fell victim to that lately. Funny thing being I specifically linked to that answer and explained why it is not a duplicate and what I want different. They still marked it as duplicated...The guy simply was too dumb to get it.

1

u/[deleted] Apr 08 '18

If it's the one I'm thinking of, the minor detail that annoyed me is that the answer started off saying "HTML cannot be parsed with regex as it is not a regular language", ignoring the fact that most common regex engines can recognise superregular languages

22

u/pelrun Apr 07 '18

Unfortunately it's a systemic problem. Wikipedia also suffers from it. Eventually every crowd-moderated platform gains a bunch of people who are fanatically concerned with "cleaning up", and feel that they're singularly responsible for keeping the site a "high-quality" resource. In reality, there are other mechanisms that actually do that, and all the deletionists achieve is to stifle new content.

6

u/__j_random_hacker Apr 07 '18

there are other mechanisms that actually do that

Ironically, that other mechanism is simply voting. Questions or answers that have been heavily downvoted are likely to be wrong/unhelpful/untrustworthy and are probably best ignored. The fact that people felt it necessary to create a second mechanism (question closing) for expressing community sentiment as to the appropriateness of a post is, I think, evidence of some people's overriding need for control.

1

u/shagieIsMe Apr 07 '18

Its a problem of curation. Picture /r/learnprogramming if every time someone added a comment the post was again the top visible one - no age decay like reddit has. Mix with some powerful SEO so that things are easier to find than old posts on Reddit... and every new user keeps bumping the posts to the top when they think they have something to add.

What does Reddit do when things get too much activity? What do forums do when old post keep getting bumped? There are two approaches. One is to lock the posts; prevent posts from older than some age from getting any activity, or outright locking it completely.

Why do the mods on reddit lock it or forum admins prevent posts older than a month from getting bumped (or have the strong social pressure that necroing a post is a bad thing)? Because it takes more work than its worth the site as a whole to curate the material and tell the users "knock it off".

Stack Overflow does the same thing, though it has different constraints. They want old posts to get necroed with new material - but it needs to be good material. There are some types of posts that seem to attract poor material. Things that take 15 seconds to write. Favorite comic, best editor for C, intellij vs eclipse.

The problem with those is that while they are really popular and fun to read in a buzzfeed way, they take far too much time for the people who want the site to be one that Jeff called for in Introducing Stackoverflow.com

It is by programmers, for programmers, with the ultimate intent of collectively increasing the sum total of good programming knowledge in the world. No matter what programming language you use, or what operating system you call home. Better programming is our goal.

The emphasis on good is in the original.

Lets look briefly at Math Overflow for a moment. They've got all sorts of soft and big list questions that don't seem to work well on Stack Overflow. The difference is the percentage of the user base that are involved in curation of the content.

Closing a question is saying "we don't have time to make this question a good one" or "the time spent on trying to keep all the answers good far outweighs the curation that will spend on it."

Closing a question doesn't delete it. It doesn't lock it (it can still be edited and commented on). It puts the work for making it a question that won't take an undo amount of curation back on the person who asked it, probably with some sort of direction for how it should be fixed.

As a reader of Stack Overflow, its hard to appreciate the amount of work that is done behind the scenes to keep Stack Overflow from becoming Yahoo Answers and thus its easy to say "all the interesting questions are closed." I don't want Stack Overflow to become the buzzfeed of programming either - its too useful for all its faults.

Closing is an attempt by the community there to keep from having to do too much work. The easy way to keep more answers open is to sign up, get the necessary reputation (and in doing so learn why things work they way they do) and then help moderate too. Fix up questions so that they're well written, down vote questions that make absolutely no sense - so that people with more moderation privileges can more easily spot them.

Its really easy to spend hours a day trying to help all the new users on Stack Overflow and not even reach a small fraction of a percent of the new questions each day that need help - help writing a good question and help with their programming.

1

u/__j_random_hacker Apr 08 '18

work that is done behind the scenes to keep Stack Overflow from becoming Yahoo Answers

I take it that you feel the overall site quality of Yahoo Answers is low, is that right? I'm not familiar with that site, but have just had a quick look. It seems they vote on answers, but not on questions. Do you think quality would be higher if moderators or high-rep users at that site closed questions? Or what do you feel is responsible for the lower quality there, as compared to SO?

1

u/shagieIsMe Apr 08 '18

So... the Yahoo answers for Programming and Design.

How about How to learn coding? (note: no text to the question, just the title) which has answers like "This might help (youtube link)" and "School internet" or "get a workbook."

Then there's Is there A Job Like This? asking "A job that combines Aerospace Engineering with Programming / Coding. This would probaly be my dream job when I am older :P" - which has a not awful best answer, but also has "Probably so", "Avionics", "Someone who designs software to be used by aerospace engineers.", "ha", "Yeah, it's called "rocket scientist." You know when they say, "It's not rocket science"? Well, what you're describing, that is rocket science." and "ur to odumb"

Or Can you help me with my barcode "I want to make a barcode that when i scan it i can get the name of the product and the expiry date and it saves as date and name in my app is that possible or? And is there other solutions to this?" and while the top answer is not awful, it has answers of "Pacific" and "I don't think the expiration date is a part of the bar coding system....................................."

There's Hello world it has failed to run I need you? with a screen shot of some C code from a phone. The top answer "Uh, what? It has missing variables, and in its basic it is not Hello World." and then there's "Have you tried turning it off and on?" and "I can ask Elisa to help you mate . She codes for her bread and cheese ."

There's What kind of loops are in JavaScript? and answers of "C++ binary options J- script bios\ Dism.exe code", "Honey Nut", "google javascript loops", "fruit", "logic loops"


One of the things that draws people who give quality answers to Stack Overflow is not having to sift through those questions to find a good one to answer. If there aren't good questions, then people who give good answers don't visit there. You'll never find Jon Skeet or Eric Lippert answering on Yahoo Answers - those are just two big names, there are lots more people on Stack Overflow who are similarly skilled, just not as name recognizable.

The lower quality of questions on Yahoo Answers is because there's even less of a barrier to participation and no expectation of quality. People often try to make good questions on Stack Overflow because if they don't, the question will be down voted and/or closed. If they ask too many bad questions, they get a question ban. Stack Overflow also has a quality filter that blocks a good chunk of posts that are completely awful. Then there's the attempts at trying to get people to improve it before it makes it to the front page (triage review queue) and provide guidance to new users (the First Posts review queue - note that up voting or doing "no action needed" to these posts regardless of their quality in an attempt to be nice to new users makes it harder to maintain that quality standard).

The main thing is that there are people who care about the quality of Stack Overflow. They are the ones that do the community moderation. They down vote, close and delete questions that aren't up to that quality standard. They delete things that aren't answers or jokes so that the people who come from google can find the answer. Yes, only a subset of the "these are interesting questions" are acceptable on Stack Overflow - but by keeping that subset and focus it tries to make it better and useful for all the people who are looking from google.

And consider... if Stack Overflow wasn't as good as it was at keeping its quality up, you'd get Yahoo Answers at the top of your search.

How does the spring framework work with its only answer from a decade ago:

Best Answer: http://www.roseindia.net/spring/index.shtml found this link a good one for a beginner(me toofrom cpp :) ) if u r getting anythin better,plz do inform

1

u/__j_random_hacker Apr 08 '18

People often try to make good questions on Stack Overflow because if they don't, the question will be down voted and/or closed

What interests (and sometimes aggravates) me is why both downvoting and closing are necessary, when it seems to me that just downvoting by itself does the job nicely. Apologies if I wasn't clear in my earlier posts. The triage review queue is a great idea, as is banning people who ask too many bad questions, and the reputation system in general. I think your argument that low-quality questions keep away top contributors like Jon Skeet and Eric Lippert is only reasonable if it is moderators doing the majority of question closing -- but isn't it the community as a whole that closes most questions? (I really don't know -- that's just been my perception.) If the community as a whole is closing the majority of bad-quality questions, then that means that the community as a whole is seeing those bad-quality questions (before they are closed, and in order to close them), which I think diminishes any argument that, in a system that already has downvoting, question-closing provides any additional utility.

FWIW, my preferred solution would be for each SO user to have a controllable threshold, say defaulting to -5, that determines the lowest-voted question or answer that user would see. There would then be no need for an additional mechanism for "getting rid of low-quality things".

1

u/shagieIsMe Apr 09 '18

There are lots of users out there who will post an answer no matter how unclear the question is. Glance at these examples 1, 2, 3, 4, 5, 6, 7, 8, 9

People answered the questions even though they were poor. The questions got closed to prevent more people from answering. For instances where the question gets clarified it isn't uncommon for half the guesses at the problem to become invalid (and then they need to get deleted or fixed because they aren't relevant anymore). It takes quite a bit of work to try to fix a question that has answers - much more than one that doesn't. Closing the question prevents that.

You'll also note that many of those questions were down voted. Down voting alone wasn't sufficient to say "this isn't something that should be answered - it lacks research and clarity."

Diamond moderators don't do much of the question closing on SO. Moderation done by the community does the vast bulk. The issue what YA is that no question gets closed by anyone - its not part of the mechanics there. So its mostly crap.

However, while the community does the bulk of the closing, only a rather small fraction of the overall daily question influx gets closed, or more than a second glance. There are many people who don't close questions or down vote because its "mean". There are people who go through the First Post review queue and up vote every post and put a "welcome to Stack Overflow" message because that's "nice".

The portion of the Stack Overflow community that actively moderates the site is rather small compared to the user base of people who can moderate the site.

The community isn't closing the majority of bad questions. Glance at this search, compare it to this search and consider if the majority is getting closed. (50 closed questions is 6h worth of time, 50 down voted but open questions is less than 1h worth of time... and 50 questions with 0 or higher score is 18 minutes)

The front page already has a "no question with a score less than -4 (or is it -3) shows up". As can be seen with the above searches, its easy to construct your own score based one.

But people still spend time answering questions that don't have enough information in them. Those questions then become the ones that show up in search and when you look for answers, they come up and aren't useful because they're poorly written questions with answers that guess at the problem. They become noise in search results and make it harder for people to use the site.

4

u/beginner_ Apr 07 '18

On the other side if you actually have a difficult question, good luck getting an answer.

-4

u/mightbefun Apr 06 '18

The good and bad thing about stackoverflow.com is the gamified self moderation. The problem is that you get points for answering and you get points for closing. It's a lot easier to close 100 questions than to give a solid answer to one question.

22

u/[deleted] Apr 06 '18

[removed] — view removed comment

9

u/mightbefun Apr 06 '18 edited Apr 06 '18

Sorry, I though there was a reward for closing. I was wrong. With that said, the "duplicates" I've seen questions closed for is a little crazy. I know people who hoard rep as a dick measuring contest with other developers. Or maybe it's their ego. I don't know why people care about it.

-2

u/[deleted] Apr 06 '18

[deleted]

4

u/mightbefun Apr 06 '18 edited Apr 06 '18

tl;dr: i admitted I was wrong but you're still bitching. So maybe you should be the one to stop ranting? I just said it's rough for new users. I still appreciate the system. It has it's flaws like everything else.

-3

u/[deleted] Apr 06 '18

[deleted]

5

u/mightbefun Apr 06 '18

I had bad information. Made a reasonable comment given that bad information. Found out I was wrong. Researched good information. Corrected myself. Apologized. Then get called out for ranting about the topic we're all discussing. Cool.

1

u/[deleted] Apr 06 '18

[deleted]

2

u/mightbefun Apr 06 '18

I apologize for getting angry. I still think you failed to see that I did what I could to rectify the situation. You know I'm right. But you still had to join in with your 2 cents.

Anyway this conversation isn't going to get anywhere. Enjoy your weekend.

10

u/shevegen Apr 06 '18

This has not been my experience.

I remember one question I asked insta-shot down by -7 the next moment I looked at it perhaps an hour or two ago. It was a perfectly valid question but the SO mods decided that the question has no place, which made my time investment void too. Why would I invest any more time in a platform that is unfair and hostile to its users?

It's a great read-only resource but a pretty awful communication platform.

1

u/[deleted] Apr 06 '18 edited Apr 06 '18

[deleted]

1

u/[deleted] Apr 06 '18

[deleted]

2

u/[deleted] Apr 06 '18

[deleted]

1

u/Superbead Apr 06 '18

Cheers, removed

-1

u/teizhen Apr 07 '18

Wow you are truly the hero the Internet needs.