[libre-riscv-dev] benefits of rust

Hendrik Boom hendrik at topoi.pooq.com
Sun Mar 15 05:18:21 GMT 2020


On Sat, Mar 14, 2020 at 07:47:45PM -0700, Jacob Lifshay wrote:
> On Sat, Mar 14, 2020, 11:14 Hendrik Boom <hendrik at topoi.pooq.com> wrote:
> 
> > On Fri, Mar 13, 2020 at 10:13:06AM +0000, Luke Kenneth Casson Leighton
> > wrote:
> >
> > >
> > > 1). bad: it is seriously demeaning to use the phrase "non-paranoid" -
> > > to ACCUSE potential users of rust of "being paranoid".  can i suggest,
> > > jacob, raising that as a severe and high-priority issue with the rust
> > > community to get that removed effective immediate?
> >
> > The whole point of rust is that its static checking is reassurance for
> > the paranoid!
> >
> 
> while that's true, Rust does have other benefits over languages such as
> Python, JavaScript, Java, C#, C, and C++:
> speed, consistency (no GC pauses), native execution, low memory usage,
> basically nearly all the gotchas are caught by the compiler at compile-time
> (unlike C and C++ and, to a lesser extent, other languages) so if it
> compiles then it's likely to work, much more powerful type deduction, the
> ability to extend the interface of any type, not needing all the special
> cases that come with C++ constructors, vastly improved composability,
> accessible and easy to use library ecosystem, very friendly community, much
> easier to parallelize code, etc.
> 
> Static checking is not just for the paranoid, since the checking enables
> programmers to make faster programs by using rust's composability to use
> faster more complex algorithms that wouldn't be practically feasible to get
> correct in a language such as C or Python.
> 
> Here's an example where someone was able to use b-trees instead of the
> simpler avl trees because rust's checking and composability meant that it
> wasn't extremely hard to get correct (as it would have been in C):
> http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performance-of-c-and-rust/

There are many applications that would be better coded in Rust than 
C.

The one drawback I see to Rust is that it doesn't have a 
garbage-collected scope or storage class.  There are programming 
techniques that involve complexly tangled data structure.  Rust is 
not good for such problems.

-- hendrik



More information about the libre-riscv-dev mailing list