TWiR quote of the week

The Android team has observed that the rollback rate of Rust changes is less than half that of C++.

Eliminating Memory Safety Vulnerabilities at the Source

17 Likes

Jonathan Perkin's reply when he was asked why he chose to write mktool in Rust [over C]:

I'm the wrong side of 45. I have zero interest in wasting any time that I might have left writing C from scratch. Writing Rust is pure joy. I can go from an idea to a working, tested, robust, published and packaged implementation in the time it would take me to even begin the first few lines of a C version. The tooling is beautiful, makes programming fun, and the end result usually outperforms the equivalent C. Once it builds I know it will run perfectly on all of the platforms I care about, and I don't have to go around manually testing on them to find all of the various platform and compiler quirks that will break it.

25 Likes

It was 10 days ago, but I was late in noticing this:

The Rust programming language feels like a first generation product.

It feels like the other way around to me. A first-generation product is pure, clean, an unblemished view of the developer’s view of how the world works (or how they want it to). Then you get a couple years in and the weird edge cases start popping up, as reality asserts itself.

All the fussy, weird, difficult-to-explain parts of Rust are signs that it’s v2 (or v…300?) of the product series called “languages that let you write kernel drivers that won’t crash as often”.

-- jmillikin @ Rewriting Rust | Lobsters

18 Likes

We'd have buttons on the screen to control the fans of the car. I had to write a lot of code before I could compile it all, a big jenga tower. But once it compiled, the fans started to work! Very impressed.

Julius Gustavsson quoted in https://tweedegolf.nl/en/blog/137/rust-is-rolling-off-the-volvo-assembly-line

7 Likes

... high coherence of process information, high process complexity and high process controllability (whether manual or by adequate automatics) were all associated with low levels of stress and workload and good health, while fast process dynamics and a high frequency of actions which cannot be made directly on the interface were associated with high stress, high workload and poor health. High process controllability, good interface ergonomics and a rich pattern of activities were all associated with high feeling of achievement.

Ekkers et al (1971), a study of the correlations between control system characteristics and the operators' subjective health and feeling of achievement.

Ironies of automation

Imho the quote is relevant in the context of why using Rust feels so good.

6 Likes

I know what all of those words mean individually :sweat_smile:

4 Likes

(in a discussion about joining consuming thread)
Your problem is that you’re trying to borrow from the dead.

https://old.reddit.com/r/rust/comments/1g3a2ul/hey_rustaceans_got_a_question_ask_here_422024/lrzqed7/

8 Likes

Oh no, looks like the account has been deleted. And to further the tragedy, the title gave away that it's from u/masklinn, whose comments I always enjoyed on Reddit. I hope they're doing ok :cry:

Either you're wrong or they're back, either way they're fine.

Are you seeing unavailable / [deleted] or is it just me?

Probably just you. It looks fine to me.

2 Likes

An earnest effort to pursue [P1179R1] as a Lifetime TS[P3465R0] will compromise on C++’s outdated and unworkable core principles and adopt mechanisms more like Rust’s. In the compiler business this is called carcinization: a tendency of non-crab organisms to evolve crab-like features.

Sean Baxter on Why Safety Profiles Failed

15 Likes

*chuckle* The more languages that get inspired to borrow ideas their devs first encountered in Rust, the more the decision to make Rust's mascot a crab proves itself to be a stroke of genius.

18 Likes

Any sufficiently complicated C project contains an adhoc, informally specified, bug ridden, slow implementation of half of cargo.

Compression Carcinized: Implementing zlib in Rust - Folkert de Vries

9 Likes

Netstack3 encompasses 63 crates and 60 developer-years of code. It contains more code than the top ten crates on crates.io combined. ... For the past eleven months, they have been running the new networking stack on 60 devices, full time. In that time, Liebow-Feeser said, most code would have been expected to show "mountains of bugs". Netstack3 had only three; he attributed that low number to the team's approach of encoding as many important invariants in the type system as possible.

Safety in an unsafe world (LWN)

Original talk by Joshua Liebow-Feeser at RustConf 2024.

14 Likes

borrow ideas

I see what you did there :wink:

1 Like

A very solid, if slightly tongue-in-cheek, explanation of the design principles behind rust (source)

9 Likes

Will never stop being positively surprised by clippy

error: hypothenuse can be computed more accurately:
   --> src/main.rs:835:5
    |
835 |     (width * width + height * height).sqrt() / diag
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `width.hypot(height)`
    |
help: for further information, visit https://rust-lang.github.io/rust-clippy/master/index.html#imprecise_flops

-- Manos Pitsidianakis (and rust-clippy) on Mastodon

18 Likes

Minor typo - "hypothenuse" should be "hypotenuse." I think this was a transcription error. Otherwise this is a great quote. All hail clippy!

"I am not doing this because it's easy, but because I thought it would be"

  • Anonymous online comment.
5 Likes