Ask HN: Why is there no real programming community?

41 points by thosakwe ↗ HN
Note: Here, when I say "community," I really mean "online community."

To me, the most puzzling thing about programming is that there is no real place to actually discuss programming.

As weird/absurd as that sounds, it seems like three major avenues where most discussion occurs are:

1. Reddit. Subreddits are nice and very effectively organize discussion of different topics. On the other hand, Reddit is virtually anonymous, and it's generally frowned upon to share anything of your own creation, in order to not be flagged as spam/self-promotion.

2. Hacker News. It's more than acceptable to submit your own content, or other people's content you found interesting. The downside is that it's very difficult to get to the frontpage, and most posts not on the frontpage are forgotten. There's also the fact that this site is far more anonymous than Reddit, and that features like downvoting are blocked off for most users.

3. Twitter. I like Twitter because it's very personal, and you can actually put faces to names (unheard of elsewhere). The downside here is that for anyone to hear anything you're saying, you truly have to have tens of thousands of followers. I have 4,000, but most of those people are not programmers, and thus there's less than a smidgeon of opportunity for any sort of programming discussion there.

So, I've always wondered.

Is the reason that there is no real online community, the fact that maybe we just don't need one?

Thoughts? Just wanted to discuss...

31 comments

[ 2.5 ms ] story [ 75.8 ms ] thread
Good question. I think you mean "Why is there no online programming discussion forum"?
What would you like to discuss in such a forum?

I suspect the answer is that if many (enough) others do too, it does already exist.

There is. IRC and it has been around for decades. Freenet.
I could argue against IRC (and other chat rooms) that they're typically small and hard-to-discover.

There's also the fact that programming chat rooms quickly devolve into "please do my homework." At least, in my experience.

I could be wrong, though.

> I could argue against IRC (and other chat rooms) that they're typically small and hard-to-discover.

Size varies. I'm idling in Mozilla's #rust and that has 1390 people in it alone. And small communities are still communities, I'd argue as well!

> There's also the fact that programming chat rooms quickly devolve into "please do my homework." At least, in my experience.

There will always be (attempted) freeloaders in any community. How they're handled varies - I've been in several with explicit no-homework policies, where the community will give you grief if you didn't even try to google, strongly steering people towards developing their ability to help themselves rather than relying on handouts. "Teach a man to fish" etc.

Which isn't to say people won't still try, but it can be managed and policed.

Even there, people will generally help out when someone encounters a totally strange/niche/not easily understood or explained edge case, if only to better understand it for themselves, or to spend a minute to save another person hours. But that's a win/win as far as I'm concerned - not much of a community IMO if you're not willing to do that!

(comment deleted)
I see programmers discussing all over, for example in Github Issues, or Stackoverflow. Always topic based discussions, obviously. They lack the social interaction and freedom to think more broadly about programming and solutions, though. Is that what you are talking about? Edit: grammar
Github is pretty diffuse to count much as a community, though there are aspects of community about it.

Stackoverflow and kin are very focused on specific questions and are elitist. I've participated for years and find that I cannot add my comments because I don't have sufficient points. And DO NOT post a stupid question or someone will suggest you delete it. (I'm of the opinion that there are no stupid questions but I do see the occasional stupid answer.)

The communities I see are a bit more general than programming. A good example is the Raspberry Pi community. Many of their discussions involve programming but more generally are "how do I do XXX." That community is also fostered by the folks who bring us the RPi.

Some of the more recent languages like Rust and Go seem to be fostering too.

Too exclusive^
Once you get to the scale of "all programming" perhaps there is not so much shared culture or knowledge to bind a single community together. This might be related to the way communities of practice organise at different scales, rather than something specific about programming. (Compare: Why is there no real on-line piano-playing community?)

A related question is: why are developer communities balkanized by programming language, application domain, programming paradigm, educational background? In part this is tribalism. Often corporations take advantage of this tendency to gain market advantage, which amplifies the effect.

Finally, why should there be a single, unified, online community? There are many online communities of programmers and that seems to be working pretty well.

What is a community for a different topic comparable to what you would like/expect to exist for programming?
Mastodon.technology has a super nerdy and fun community. I highly recommend it!
There are communities just like what you describe on Gitter in the rooms for particular programming languages
On the contrary, there are lots of different programming communities. They represent different areas of interest, levels of knowledge, experience.

I cannot see how we could have a "single community" that is equally relevant to CS researchers and newbie programmers and all the other variations in between.

To take your example of "discussing programming", Lambda the Ultimate comes to mind. But even there how could reconcile the "conversations" of JavaScript hackers and Haskell gurus?

People use the word community in such false ways. I've heard phrases like "the pancake eating community" and so on. People who eat pancakes aren't a community. Your community consists of the people who will let you stay at their house if yours floods. Or the people who will come and get you if your car breaks down. That's a community.
> if yours floods

Increasingly in the west local communities are weakened, and these tasks are taken up by government services. That's why online communities thrive: they allow people who are dispersed all over the place to coordinate.

If you can't find a service that provides what you are referring to, build something new. Create a 4chan for programming or something terrible and work really hard on it til you are proud of it.
Stackoverflow? It's a real place to discuss programming. Discussions spans across years, and not limited to solving a particular technical problem, there are questions about general concept clarifications. Plus there are also github repos where relevant code is discussed directly.
> To me, the most puzzling thing about programming is that there is no real place to actually discuss programming.

There totally are. Forums, chatrooms, mailing lists - they tend to be more niche than simply "programming", because that's simply such a huge topic... you can find better, if more niche, common ground. You don't have "the drinking" community - you have coffee lovers, the wine testers, microbrewers, etc.

I spent long enough on gamedev.net and it's associated chat channels (first IRC, now Discord too) for my relationships with people online to bleed out into the real world. It taught me a ton about programming. It got me my first industry job offer, from someone who I helped teach. In passing, I've seen various FOSS communities, programming languages, etc. - often focused strictly on shop talk, but not always.

There's a lot of pseudonymity to be sure, and you'll get pushback if the first thing out of your mouth is "hey check out my game/project/community, email me because I'm not sticking around long enough to hear any feedback here" - which happens surprisingly often - but there's plenty people can share relating to their projects, the tech they're using, or having trouble with, or finding new and interesting ways to (ab)use - even from the get go, that can be well received.

It's the difference between finding a topic of shared interest to discuss, vs broadcasting a topic of just your interest to talk at people with. The latter isn't a discussion.

There's StackOverflow for you.
Because programming, although a subset of IT, is very broad. There are a lot of communities, not just a single one. I personnaly LOVE stackoverflow, Joel is my HERO, but it is more of a question and answer forum. CodeProject is more of a community, and might fit your needs.
Yep, let forums comes back. They died mostly because phpBB was an absolute mess.
>They died mostly because phpBB was an absolute mess

They died mostly because Reddit and Facebook made them obsolete.

They won't come back at least until people stop losing their heads over GDPR compliance, although maybe self-hosted forums will come back with a general push towards strong anonymity.

No one is mentioning DevRant...
I wonder what you mean by 'discuss programming'. Do you mean a place where you can post a tangential comment on the topic, or crack a joke unrelated to the topic, or repeat what others might have said 10 pages back? There are many phpboard like forums dedicated for games, linux etc which are of this nature.

For a more controlled kind of discussions, the current preeminent site for such activity is stackexchange. Sure, it has its flaws - its strictly qna style, is filled with elitist and intolerant mods - but for most questions that are not of the form "how to do X with API Y on platform Z", you will find discussion in comments. Even on stackoverflow which primarily encourages questions of the above form, there are enough discussions. The softwareenginering site is much better for slightly opinionated discussions disguised as questions and answers; so are workplace, unix etc.

The most comprehensive discussion community has got to be Github. Real people commenting on real issues that crop up in specific software problems.

Probably the second largest community Stack Overflow. Real people commenting on real issues that crop up general programming problems.

Twitter is mostly bots or journalists talking about speculative technology problems that rarely crop in practical programming careers (no, I don't need 240 character advice on how to shut down skynet).