I have some questions about programming paradigms, design choices, and why I should want to use X when I could also do it using Y.
Here are some examples:
- Why should I use
Asyncinstead of spawning a new thread to do the job?
- Should I use for a relational database, an in-memory database, or a specific built-in data structure to process a set of objects X times?
- Why should I use a thread pool instead of using a for loop to spawn X number of threads?
These kinds of questions are only possible to answer by referring to concepts, internal workings, using pseudo code, or telling personal experiences (I used to use A for a number of years, but it failed in case B).
I feel that they are not suitable for Stack Overflow, because it looks more a place to find solutions to practical problems. I also think that these kinds of questions would be instantly downvoted and marked as too broad or opinion based.
These are more on the academic side of software engineering and development, so I guess Software Engineering would be a better place to ask them, but I wasn't sure.
I didn't want to add chaos to either communities and make unnecessary work for moderators by asking unrelated questions, and that's why I'm asking here. Could you please help me figure it out?