TWiR quote of the week

true fact: the rust programming language actually evolved independently 5 times in a process known as 'carcinization'

Also from @FormalFerris on Twitter referencing this article on carcinization in actual crustaceans :joy:

6 Likes

Because lower-level software has more operational constraints than higher-level software (e.g. it typically cannot tolerate a runtime or memory management via garbage collection), developing a memory safe language suitable for systems software is particularly challenging. The Rust language has met that challenge, however, and is an excellent candidate for replacing C in many systems applications.

We plan to invest in the tools that allow systems engineers to move their software to Rust. This means investing in improving package management, compilers, and Foreign Function Interface (FFI) generators. In many cases this will include providing interfaces compatible with existing widely-used components to enable transition. With these tools, adoption of a memory safe alternative will scale much faster without replication of efforts.

5 Likes

Rwlock vs Mutex? Please, tell me like I'm 5

Mutex: "Mom says it's my turn on the synchronization primitive."
vs.
Write lock: "Hey! You all are not allowed to look until I'm done writing!"
Read lock: "Hey! You are not allowed to edit what you wrote until we're done reading it!"

Thanks for an actual 5 year old reply, made me laugh

/u/LyonSyonII and /u/everything-narrative on /r/rust: https://www.reddit.com/r/rust/comments/vcaabk/rwlock_vs_mutex_please_tell_me_like_im_5/

14 Likes

That doesn't look like it's from the White House, though.

Sources providing the origin of the above White House OSS Mobilization Plan whitepaper:

It has white house backing, but was drafted by OpenSSF.

4 Likes

From...

1 Like

STiAT on Linus Torvalds: Rust For The Kernel Could Possibly Be Merged For Linux 5.20 - Phoronix Forums

Hmh, would like to rewrite my 20 year old C driver for a industry infrared camera and flash I used for monitoring a chicken coop in Rust.

Just to see what it's like if done in Rust. I didn't dally much in kernel code, but this sounds like something which could be done.

Though, the chicken coop monitor and gate opener/closer long got replaced by more modern stuff by now which run on Linux out of the box.

By the way, we thought it was a fox and wondered how got over/past the fence... It actually was a Hawk going after the Chickens in daylight.

I just really want there to be a quote about a chicken coop in TWiR

2 Likes

Looks like this quote got overlooked!

1 Like

… [ergonomics] is a downstream symptom, whereas the inclusivity thing is the upstream driver for all of that. So that's where you get ergonomics, right? If you don't care about inclusivity for beginners and whatever, then you're not going to care about that.

1 Like

Jake Goulding: mem::replace / mem::swap ===

cuviper: except rustc would tell Indy that's a type mismatch

Jake Goulding: Yes, that would be the boulder, I assume.

Jake Goulding: Older compilers were more aggressive in error reporting.

22 Likes

Learning Rust has taught me something - "There are really no problems, just adventure and opportunities"

(generally submitted quotes are quoted from an outside source with attribution, not just said in this thread)

1 Like

I never knew, I'll do better next time

So I can't make this a submission? :worried:

4 Likes

it'd be hypocritical to say no. [--end sidenote]

3 Likes

The long compile times where all responsibility is taken away from you is infinitely more effective than submission patterns in BDSM, where the graceful rustc takes over and all you have to do is wait until they tell you that you're a good person and that everything is alright!

4 Likes

The language ends up doing a random walk via small steps through the design space without a coherent long term vision, because nothing else is feasible.

gpderetta on HackerNews

I think using the full paragraph might give people a bit more context:

I don't necessarily agree with all their design goals, but it is unfortunately true that getting a large coherent change through the C++ committe is an herculean task. The language ends up doing a random walk via small steps through the design space without a coherent long term vision, because nothing else is feasible.

9 Likes

Monad: Design pattern in which pipeline implementation are abstracted by wrapping a value in a type

By "A bit of code" in the video what is a monad (design pattern).

Note that this quote was not about Rust but since the word "monad" is regularly used a lot in Rust, and it was a very nice and concise explanation, I’m still submitting it.

From @moy2010 in What is the biggest difference between Garbage Collection and Ownership?

4 Likes