Good question.
The first choice would indeed be C or C++ -- mainly because i am familiar with the languages -- Rust is challenging given its learning curve -- but, the significant benefit of compile time checks may outweigh that -- so i am exploring this.
Another language i am playing with to consider is Ada -- i happen to program in Ada a while back and like its design premise as well -- it even now has formal tools to check code -- but, given the limited community around it -- Rust seems to be a better choice, longer term.
Edit: (reached respond limit, answering here ZiCog response further below):
True.
But, to get started with Rust vs. continuing to use C/C++ the learning curve adds time and cost and a commitment -- e.g. the need to overcome non-C calling conventions when interfacing with C-based ecosystems.
This is the decision i am currently deliberating.
True, and I would not use it as full featured C++ but as a typed checked C ... which, i think, is the way to go with performance in mind.
Dan