Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Codidact Meta!

Codidact Meta is the meta-discussion site for the Codidact community network and the Codidact software. Whether you have bug reports or feature requests, support questions or rule discussions that touch the whole network – this is the site for you.

Post History

57%
+2 −1
Q&A How should we approach a programming site or sites?

Lessons learnt from the past I've been at SO pretty much from the start. It is true that SO has sub-communities in a sense. Each major programming language (tag) has their own flavour of slightly d...

posted 4y ago by Lundin‭

Answer
#1: Initial revision by user avatar Lundin‭ · 2020-07-02T11:55:01Z (over 4 years ago)
_**Lessons learnt from the past**_

I've been at SO pretty much from the start. It is true that SO has sub-communities in a sense. Each major programming language (tag) has their own flavour of slightly different posting rules, different ways to deal with FAQ and canonical dupes and different tag usage rules for sub-categories (various libraries, versions of the language standard etc). Some even hang out in the on-site chat room for that programming language.

Each such major programming language tag has developed a certain culture, even though SO manages surprisingly well in keeping a consistent moderation policy across the whole site. 

At the same time, lots of tags do _not_ benefit from sharing the same site. The C and C++ tags (where I mostly hang out) has a constant problem with cross-posting both tags at once, which is harmful most of the time. You get the occasional C# mis-tag too. There's a similar name conflict between Java vs Javascript and so on. Many of the major programming languages _do not_ benefit from sharing the same site, quite the contrary, since these tag collisions and different tag use cultures cause tension and frustration. 

**_Proposal_**

My conclusion is that it would actually make a whole lot of sense to split up the whole programming site into smaller ones. I think the disadvantage of conflicting tag use and ambiguities is more significant than the dubious advantage of having a one-stop shop for everything programming-related.

Splitting up the site could be done either by spawning one site per major language/technology, or possibly by creating categories. How to categorize technologies and deal with potential overlaps in scope are topics of their own.

The various pre-SO programming sites tended to be one site, but with some flavour of "categories".


**_Regarding low activity/"ghost towns"_**

Low activity won't be a concern if we let these separate sites/categories mature just like any other site in the network. Don't underestimate how many users there are per major language tag on SO. A significant number of the whole veteran user-base there are quite unhappy with all the events over the last year. I'm still only there myself because there's no place else to go.

Each major tag probably has some 50-100 _active_ domain expert veteran users. Then some thousands of active intermediate/experienced programmers and who knows how many beginners. If just 10% of those users were aware of Codidact & would be willing to help out, that's more enough to start a new site dedicated to a specific programming language or technology.