I would throw out one other consideration that we sometimes overlook at the beginning of a project: Language performance is sometimes (sometimes) misleading. Yes, a language with garbage collection does not fit a situation with real time requirements. But if you break your work up into transactions, for the sake of a white board, where is the time spent? You mentioned network requests. Those can typically run forever compared to most of the processing between. I'm not recommending Python, but why do folks use it? It's got to be at the far end of slow. Development is fast, but that may not make up for the slowness. Oh, got large matrices? Lots of matrix math? It's the choice. Languages such as GO and Swift often compensate for their performance flaws with access to great algorithm libraries and debug tools. For myself, I always want a good development and debug environment. Also, you identified one important requirement: whatever language you choose, it needs to be able to call out to C libraries. If you meet this last requirement, then it seems that you are good to go. Good luck and wishing you fun times with your project.
B
Bill_M
@Bill_M