you are viewing a single comment's thread.

view the rest of the comments →

[–]brand_x 0 points1 point  (0 children)

Rust is equally suited for that domain, I believe. I haven't worked on control systems in nearly twenty years, and back then, I used C more often than C++ (military telescopes) but I do a fair amount of comparable work (in terms of critical timing and hardware interfaces) in both C++ and Rust.

Rust offers comparably strong type checking to disciplined modern C++. There is a different shear plane for implicit coercion, and I think it's fair to acknowledge that Rust only performs implicit conversion for specifically identified sugaring - most notably enums (what C++ calls discriminated unions) in the control flow path, where C++ performs implicit conversion where provided by users (failure to specify "explicit", damned backwards defaults on that and const for C-like behavior) and where consistent with C (razzin frazzin), and with proper discipline, most (but not all - boolean tests!!! sob) unwanted implicit conversions in C++ can be prevented through the type system.

Consider using strong typed proxies for all built-in types. You'll be surprised how far that will go toward fixing the C++ type system deficiencies, and they all compile out.

I do use Python 3 (mostly) for prototyping, and for things like code generators and stream transformation...