On Wednesday, 17 November 2021 at 07:04:54 UTC, Paulo Pinto wrote:
>On Tuesday, 16 November 2021 at 21:59:19 UTC, Imperatorn wrote:
>On Tuesday, 16 November 2021 at 21:00:48 UTC, Robert Schadek wrote:
It has won, time to accept it,
Sorry, to clarify I meant in the embedded space / functional safety.
I have not seen any Rust anywhere in safety-critical appliations yet.
(Not D either of course)
Since there is no certified compiler for Rust (yet) or toolchain or acknowledged coding standard.
I guess there will come something similar like (a proper) MISRA-C for Rust
Reading through the coding standards ISO, only very recently (10 years ago) even C++ have been mentioned that it might be ok to use. It's a very conservative space.
I have no doubt that in about 10 years or so, Rust could be used (maybe?) in these applications, but it all depends on the system at hand and how you build it.
Like for example what a safe state is, what level you have on certain parts etc etc.
For example you could in theory even use QBASIC to control some critical part of a system if there are no requirements on for example (I don't know the English term) SIL "monitored movements" and only have requirements that the stop function has a certain level. It all depends on the system and requirements.
For example, our company has a product from 1986 which is still in use today because it took us about 7-8 years to get all the documentation and testing in place (that one uses assembly though).
It's not only software requirements, there are RED, LVD, EMC, EMI etc etc, dual architecture, monitoring of outputs, watchdog requirements (ASIL D), latency requirements, active vs passive stop, data integrity requirements (think CRC), bit flip requirements etc (yes, during the validation and verification process we introduce random bit flips to simulate an external memory corruption event, such as cosmic backround radiation) etc.
It is a very conservarive space. In some aspects it might seem dumb (ilke, why would a language with higher guarantees be worse?), but I guess it comes from a sense that you want to be sure all parts work as expected and it's partly driven by fear/being cautious.
Gotta work now, but just a quick summary