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.

Comments on How should we approach a programming site or sites?

Parent

How should we approach a programming site or sites?

+25
−0

We have a suggestion for a site for professional coding, and software engineering and computer science also have some interest, and there are overlapping suggestions for cloud technologies and single-board microcontrollers. It seems likely that participants here have interests in other related areas too. How shall we approach this cluster of topics? Do we want one big tent -- a single programming site? Do we want a big tent and some specialized spin-offs -- what seems to have happened on SE? Do we want to plan for more focused communities from the start -- and, if so, what would they be?

I was an infrequent participant on SO; I have around 1200 rep after many years of passive, occasional posts. I don't have the right experience there to say with any certainty what worked well and what didn't. It appears to me that SO doesn't really have a community; it's too big for that. It might have sub-communities; I don't know how strong they are and how much they interact. And it might have had a community when it started; they're 11 years in now and things have changed. We'll be starting small; we are not operating at SO scale (yet). An advantage of a single site (or small number of clearly-differentiated sites) is that people know where to go; Balkanization where there are two-dozen different sites depending on which libraries or languages or tools you're using probably does not serve the programming community either.

I think a core diffentiator for Codidact is that we're putting community first from the beginning. We want to do what's best for the people participating here, whether that's one site or a handful or many (or one site and later spin-offs). We also have some tools they don't have over on SE, including categories and integrated blogs or wikis. And we're actively working on an open-source platform, so if it turns out there's something we need and don't have, we don't have to wait 6-8 years for somebody to consider the feature request.

It seems clear to me that there is interest in a place for questions about programming -- code, tools, design, and maybe processes. How shall we address that interest? What shall we build?

--

We resolved this by creating Software Development with broad scope. There's even a Code Review category. If the community grows to a size that's hard to manage and subsets want to spin off later, we can do that.

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

General comments (4 comments)
Post
+6
−0

I don't know enough to have a full answer, but one differentiation that I think makes sense is for embedded systems programming versus more commonplace programming (desktop, web, server, ...).

The reason for that is that embedded systems programming often has very different constraints than what most programmers are used to working with. Very little memory (for both code and data), slow processor speeds, and extremely limited user I/O (a couple of pushbuttons and lights, maybe a few-digits seven-segment LCD display if you're lucky), are all common constraints that the typical web developer does not really need to contend with.

Granted, more and more systems that used to be truly embedded are now running some Linux variant on a single-chip (or even multi-chip) nearly-ordinary computer, just because that's available and easier to work with. But I do believe there's going to be a demand for true embedded systems programming for a long time.

On SE, this was solved by explicitly making bare-metal or RTOS firmware development on topic on Electrical Engineering SE. It's not off topic on SO, since it's still about programming, but if you're looking for an embedded systems developer expert answer, your chances have probably been better on EESE than on SO. (Note: My experience on EESE mirrors yours on SO, as mostly a lurker.)

I don't know if the best way to separate these is the way it's historically been done on SE, or if it would be better to separate based on available computing resources; with highly resource-constrained platforms having a specific place for their questions, and others having somewhere else.

It's reasonable to assume that any site that caters specifically to embedded systems programming, or even highly-resource-constrained-systems programming, won't see anywhere near the amount of traffic of a more mainstream programming site. The field just is much smaller. That, however, doesn't mean that the questions don't have legitimacy.

History
Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

General comments (6 comments)
General comments
Olin Lathrop‭ wrote almost 4 years ago

Even embedded programming is split into two broad categories. 1 - You're on a general purpose computer with a mainstream operating system. It's only embedded because the end user can't run their own programs on it. 2 - You're on a microcontroller, maybe with a real-time kernel but no real OS. Issues specific to the latter are on-topic on the EE site. The former are mostly generic programming problems having little to do with the embeddedness, and would not be on topic at EE.

manassehkatz‭ wrote almost 4 years ago

I once worked on a project where another vendor supplied what was supposed to be a black box - interface purely via modem via API - but there were times I dealt directly with it (sort of...). It had both a Windows "embedded" computer and a smaller (perhaps microcontroller, depends on how you define that) computer with no real OS. Which talked to each other (but not always...) and the Windows talked to API, etc. A little of everything! Lines get fuzzy...but not fuzzy logic that's different!

Lundin‭ wrote almost 4 years ago · edited almost 4 years ago

I've been one of the most active users/user moderators at the "embedded" tag at SO, I'm pretty much the only one moderating it. It's a problematic tag for several reasons, most notably when someone has a problem but they don't know if the problem is in SW or HW. So they don't know if the question is even on-topic at the point they post. ->

Lundin‭ wrote almost 4 years ago

Similarly, questions about common serial buses and protocols (SPI, UART, CAN etc) are only borderland related to software. Wheras on electronics.stackexchange, such questions are always on-topic no matter where the problem lies. ->

Lundin‭ wrote almost 4 years ago

Another problem appears on SO when you forget to add the embedded tag, is that you get the clueless hordes of PC programmers replying, causing more harm than good. And then the name of the tag is very bad in itself, pretty much every day it gets people who want to "embed x into y" and then add the tag (should have been named embedded-systems). ->

Lundin‭ wrote almost 4 years ago

Embedded systems programming is much more closely related to electronics design than it is to PC programming. In fact you can't even work with embedded programming unless you understand basic electronics and know how to use an oscilloscope. I'm all in favour for moving 100% of embedded systems below the scope of the electical engineering site. Same with hardware description languages VHDL/Verilog that are even closer to the hardware.