Are you still confused about what Programmers is for?
Kind-of. But I think the challenge there is that the field itself is exceptionally broad and that it can sometimes be difficult to discern good questions from bad ones. Not everything is black and white, and divining shades of grey can be challenging with English-as-a-second-language speakers or geek-typical lack of sufficient context. But those two aspects are accepted consequences of participating in an international community of geeks.
It should be pointed out that the site's scope is pretty dang broad as well. There are a number of exception cases (see licensing; freelancing; workplace if nuanced to programming; homework; etc...) that make it difficult for even the experienced members of the site to identify on-topic and constructive or not.
While a community's culture will shift over time, I don't see a clear mechanism for conveying that culture to others. The FAQ certainly isn't communicating it, and Meta doesn't reflect current aspects very well at the time of a question being evaluated. It's a bit useless to say since I don't have a suggestion, but we obviously need something better than what we (don't) have now.
That's it. Now tell me, how does a question like Where can I find a printed copy of the C++ specification fit within this framework?
Clearly the OP could have done more research. Wikipedia mentions their basis in the Standards in the first few paragraphs.
That having been said, the SO question that answered the P.SE version of that question led me to some interesting discoveries about Schildt and his annotated review of the Standard. That review of Schildt echoed some concerns I had with other works of his. Collateral "damage" of that question led me down an interesting research path.
I get the impression that the user community is asking themselves, "How can we make Programmers more friendly and more inclusive?" If that is the case, you're asking the wrong question. The question you should be asking is: How can I make this site more friendly to experts?
Well, maybe.
It's okay to be friendly. And it's okay for experts to be friendly to experts-in-training. That's partly what makes an apprenticeship model work. And Programming is a profession that fits and benefits from the apprenticeship model. I think that being friendly is part of what we need to do in order to attract more people that are knowledgeable to the site.
And it's okay to be inclusive. One of the reasons why I take exception to the "professional" tag line is that it unintentionally excludes people who aren't paid to program. Honestly, what I think we're looking for as a community are people who are passionate about programming and enjoy helping others grow in their understanding passion for programming. There are some great amateur (not-paid) programmers out there along with many horrible paid ("professional") programmers.
I understand that's a nuance upon professional | amateur that not many people delve into. Most use professional as "someone who is really good at something." And we certainly want those folk in our community. But I recognize we all started out not knowing jack about programming, and that people ought to have a place to learn. I'm not suggesting we start allowing homework questions, as that fails the (my) productivity test. But I am saying expert-in-training type questions are appropriate.
So yes, we ought to be more friendly and more inclusive but that's so we can bring in more, knowledgeable programmers.
There's a balance between helping people get answers to their questions, and keeping the site an interesting place for experts.
Absolutely; there has to be a degree of feedback and reward that encourages the experts to continue contributing.
The contributions to and returns from the site need to be productive as well, otherwise the site will denigrate into useless chatter which will drive off many of the experts.
But that leads me to ask, what is this site really intended to be?
- By experts
- For experts
- or Experts only
Experts only doesn't seem to be the right approach. The volume of questions simply wouldn't be sufficient to attract repeat visits. And there has to be a decent amount of volume (ie. quality questions and answers) to provide motivation to return. I also wonder if there is a sufficient pool of "true experts" that such a site could be populated with and that are interested in participating. This is so exclusive that it's futile.
For Experts suffers similar challenges as Experts Only in that the volume of interesting questions and answers won't be self-sustaining. This is more inclusive, but doesn't create repeated draw.
By Experts seems to be the most reasonable approach. It allows for Q&A and provides for solid answers.
Why am I here?
First, it's to give back to the community. I have had some modest success as a programmer, and I'm happy to share my knowledge with others. I grow by teaching others what I have learned.
Second, the site allows me to learn from peers (seasoned veterans) who have explored other pathways that I have not.
The C braces vs. brackets question
It's important not to let ourselves be shackled by past precedent. Yes, we all have our favorite story to prove that point, so I'll skip mine.
This wasn't a great question by any means, but it led me to look at similar questions where I saw a discussion on the printf()
function's use of the %
sign and how C# determined that wasn't really necessary.
As that's my second example of using discovery spawned by a marginal question, let me be a bit more clear. My personal research from a marginal question doesn't transfer to an increase in value to the question. However, I am willing to tolerate some degree of marginal questions because of this, and because of the marginal question coming back with an outstanding answer. On a related note, the community needs a polite response for the marginal questions that are closed because they didn't make the cut. It's a subjective delineation, but I'm okay with that.
What I'll posit is that we can we accommodate both viewpoints, but we need to operate a little bit differently.
How so?
We need better ability to handle marginal questions. Perhaps this means faster locking and / or protecting of the questions so a meta discussion can be opened up. Maybe that means more users are able to perform these tasks, or we need to train ourselves to flag for the lock and start the meta Q. This aspect also needs to be built into the review Q because it's too easy to click-to-close without an attempt at clarifying the question.
We need to enhance our redirect block within the FAQ. We also need to request other sites to update their redirects. For example CSTheory's Where-can-I-ask? is really good except that it doesn't mention P.SE.
Likewise, I think we need to update our redirect on off-topic close votes. Workplace should be considered, and CSTheory should be added although I'll admit we don't see many come our way that I think would fit well there. Computer Science is another potential candidate, although I'm unclear on the site scope difference between P.SE and CS.SE. I think the changes proposed in the MSO question on off-topic closes would be very helpful.
Finally, I think we need some Canonical Q&As (owned by Community Wiki) for some of the recurring questions that are continually being closed. Just because they're off-topic or not constructive for the individual doesn't mean that the community can't create answers for those questions in general. No, we don't want to answer them over, and over, and over. But we could still answer them once. I think that the community can support the increased amount of governance that maintaining sets of canonicals would require, but maintenance is a very valid concern and counter-point.
Some example canonical questions:
Books for languages - No, we're not Amazon, and no, our focus isn't reviews per se. But we are a community of programmers, and we ought to have a more concentrated knowledge of those languages and can therefore better evaluate a review.
What language next - One question, a slew of answers highlighting the pros & cons of the languages. It would allow us to redirect all of those inquiries to the collective knowledge on languages. I believe that we can provide enough information that the askers can identify what should be next for them.
Projects / Skills enhancement - similar thoughts as what language next