3 ms·
A few comments which are just my opinions. First, I'd argue both languages will solve similar problems fairly equally in terms of outcome & performance. But if
by davismwfl 7y ago
A few comments which are just my opinions. First, I'd argue both languages will solve similar problems fairly equally in terms of outcome & performance. But if you have C++ knowledge on the team already it should be the default unless there is proven reasons to move away. This isn't because I don't think teams should learn new things, but when the business is trying to make money or get started that is not the time to risk a project on learning a new language.
If you haven't already worked in Rust and haven't already done POC's in Rust now isn't the time to risk a project on experimenting. You could take a small portion of the project and do a test in both languages to see the pros and cons. I'd probably not put a ton of weight on the implementation time difference here (unless it is large) because Rust might take you slightly longer just to figure out the differences but that isn't a negative and would quickly pass. And when you pick the portion of project do not unfairly bias the test towards either language, that is easy to do to bias the outcome.
If this is a vital system where failure has negative consequences for the company I'd argue again you go with C++ which seems counterintuitive initially but makes sense. With Rust the team will be learning so the number of mistakes and rework will be higher initially. The team is already C++ experienced so they understand its worts and issues, and all languages have issues. So the first result will mean the C++ software will likely be more solid than the Rust version, not because of language capabilities but because of experience in the coders. If the system isn't vital, can accept more risk and is smaller I'd go with Rust, simply because that is the perfect time to experiment.
TL;DR; don't bet a non-trivial project the company is needing to help grow or profit on a new language when the team hasn't already proven competency on smaller test projects in the language.