Author: Mr SG Language: text
Description: Questioning Rust Timestamp: 2019-09-02 16:22:38 +0000
View raw paste Reply
  1.  
  2. While I agree that there isn't a lot to "hate" about Rust (in fact, I like Rust's ambitions for being a safe systems programming language), there are certainly things that it can improve on to be the mainstream compiled language that surpasses C/C++, including slow compilation time, having 90 percent of the performance gains from using Rust inside of the 10 percent of the source code that is marked "not safe" according to Rust's logic (see the remarkable C FFI benchmarks for more), and lack of green threads (although that is indeed more appropriate for languages living in a VM, which is something that Rust is not).
  3.  
  4. A lot of my criticisms for the language stem from "Criticizing the Rust Language, and Why C/C++ Will Never Die" (viva64) and I can see why they would value certain things that Rust does not currently prioritize at this moment. There is a great amount of care that Rust undertakes to ensure that the program will run correctly via its impressive static analysis, almost to a fault.
  5.  
  6. Having said that, the primary issue here is that most of the work to prove that safety (beyond "trust me" blocks) is pushed onto the developer instead of having the compiler insert protections surmised from uses of the data structures outlined in the source code.  After all, it can only prove what it is shown, not what it assumes (if only Rust were sentient...).
  7.  
  8. If memory safety (the primary cause of most bugs besides if statements, but that's for another day) is something you care about, I highly recommend reading "The Meaning of Memory Safety" by Arthur Azevedo de Amorim.  This scientific paper provides a truly novel approach to proving memory safety thanks to the Coq proof assistant & some mathematical notation for a baseline language that rivals Rust's idea of memory safety (which the primary selling point of the language).
  9.  
  10. Giving reason for people to writing new programs in Rust beyond safety would do the language wonders, but at this point, I'll just go make my own compiler from C out of spite for Rust's cumbersome friction (think C's speed + Haskell maths + simple, but powerful memory safety + almost frictionless syntax).  I love to know your thoughts and how this may potentially influence future language design.
  11.  
  12. Sincerely,
  13. A fellow Hackerman
View raw paste Reply