4 ms·
>> You get rid of bugs by working hard and testing, not language features. Hard work and testing do not solve all problems. There is a certain amount of inher
by thesuperbigfrog 6y ago
>> You get rid of bugs by working hard and testing, not language features.
Hard work and testing do not solve all problems. There is a certain amount of inherent complexity in system-level and high performance application development that is not guaranteed to disappear through hard work and testing alone.
>> I feel like the safety that Rust offers is balanced out by the complexity it introduces.
Rust is merely exposing the complexity that is inherent to system-level and high performance application development. The same problem exists whether you use C, C++, Rust, or other programming languages that target system-level and high performance applications.
The difference is that Rust points out the problems instead of the C / C++ approach of "the developer knows what they are doing".
- ddevault 6y agoTo some extent, Rust exposes the complexity inherent in systems programming, through features like the borrow checker. However, it's disingenous to say that all of Rust's complexity is a reflection of complexity inherent in systems. Rust is a very complicated language, much more so than is strictly necessary to achieve its goals. It has a lot of language features which have nothing to do with addressing the complexity of systems.
- thesuperbigfrog 6y agoI agree that Rust is opinionated and complex. But most of the other widely-supported programming languages (that I use) for low-level and embedded development are also opinionated and complex: C++ and Ada. C is obviously not as complex, but it that is because it offers so much less. Depending on what is needed, C may be a great choice, but it generally means bringing or creating a bunch of library code for string-handling, data structures, etc.
- ddevault 6y ago>C is obviously not as complex, but it that is because it offers so much less. Depending on what is needed, C may be a great choice, but it generally means bringing or creating a bunch of library code for string-handling, data structures, etc. Yes, water is wet. I think that Rust is a great alternative to C++, but I wasn't using C++, either. Part of what makes C good and desirable for those of us that use it is that very simplicity which Rust eschews.
- Thiez 6y agoWhich features would you remove?