TWiR quote of the week

The config server is currently the most stable, reliable, well-tested and idempotent part of the entire system! I have not had a single hiccup or performance issue out of Calloop + ZMQ + signals + etc. and 99% of my dev time is on the actual config logic, not event loop stuff.

comment on reddit

6 Likes

Rust favours security over convenience. Rust does not want you to make silly little mistakes than can waste so much of your time debugging, which in the end makes it more convenient.

from @Joe232 on URLO

11 Likes

Maybe:

»Incidentally, this leads to the following also being valid code:

fn foo() -> i32 {
    return return return return return!!!!!!!!!!111;
}

«

from Reddit user PatchMixolydic which cited it from Reddit user pczarn.

16 Likes

Congratulations, you have confused the Discourse Rust parser :laughing: that snippet is highlighted incorrectly.

13 Likes

Well, it's just one space apart from being treated correctly:

fn foo() -> i32 {
    return return return return return !!!!!!!!!!111;
}
2 Likes

Incoming proposal to rename return keyword developers

5 Likes

Why do I use the letter ‘o’ for my generic closure param name? [...] I recently realized that since Rust uses pipes to enclose a param block, using ‘o’ makes the block look like a TIE fighter. I am not a terribly serious person.

-- @MrTact, Polishing Rust

11 Likes

Rust is Fast, Mutable ML with a compiler that gives you grief.

@sycration on Discord

(The rest of the quote is really good too, go read it :stuck_out_tongue: )

1 Like

Describing Rust as a systems programming language in 2021 is like describing Microsoft as Windows or Google as search. Yes, Rust is equipped for systems programming, but its applicability is much wider.

Tim McNamara on Twitter

17 Likes

Rust is so easy even neurosurgeons can understand it

/u/baseball2020 on reddit

10 Likes

I'm starting to think of the compiler and borrow checker as training wheels for writing correct code, which I'm trying to end up relying on less and less. While they can definitely feel like a wall, you just have to find the doors.

@PFaas in Rust is too hard to learn

9 Likes

What I have been learning ... was not Rust in particular, but how to write sound software in general, and that in my opinion is the largest asset that the rust community tough me, through the language and tools that you developed.

Under this prism, it was really easy for me to justify the step learning curve that Rust offers: I wanted to learn how to write sound software, writing sound software is really hard , and the Rust compiler is a really good teacher.

...

This ability to identify unsound code transcends Rust's language, and in my opinion is heavily under-represented in most cost-benefit analysis over learning Rust or not.

@jorgecarleitao, Thank you for the teaching on how to write sound software

15 Likes

...
Having a fast language is not enough (ASM), and having a language with strong type guarantees neither (Haskell), and having a language with ease of use and portability also neither (Python/Java). Combine all of them together, and you get the best of all these worlds.

Rust is not the best option for any coding philosophy, it’s the option that is currently the best at combining all these philosophies.

/u/CalligrapherMinute77 on reddit

14 Likes

Perhaps this is an oblique reference to RESF?

1 Like

"Stream is an Iterator, but instead of advancing space you're advancing time."

Esteban Kuber on twitter

13 Likes

The main theme of Rust is not systems programming, speed, or memory safety - it's moving runtime problems to compile time. Everything else is incidental. This is an invaluable quality of any language, and is something Rust greatly excels at.

(reddit.com: over 18? in Advantages of building a CRUD web application in Rust? : rust)

22 Likes

Little lengthy, but quite accurate.

Have you seen someone juggle several items with one hand? That's the point of async. Blocking (non-async) it like writing - it requires constant work from each hand. If you want to write twice as fast you'll need two hands and write with both at the same time. That's multithreading. If you juggle, the moment the item leaves your hand and is in the air, you have it left with nothing to do. That's similar to network IO - you make a request and are just waiting for the server to respond. You could be doing something in the meantime, like catching another item and throwing it back up again. That's what "await" does - it says I threw and item into the air, so I want my current thread / hand to switch over to catch something else now.

Source from the same user as last week!

13 Likes

don't worry: in 20 years we won't have Rust 2.0, but some upstart kid is gonna take all the lessons and mistakes we learned by then, make the Grime language, and slowly put us all out of work. Then we truly will be C++.

I can't wait for this day!

@Lokathor and @nikomatsakis on Zulip (archive)

12 Likes

Finally, I feel it is necessary to debunk the “ fighting the borrow checker ” legend, a story depicting the Rust compiler as a boogeyman: in my experience, it happens mostly to beginners and the 1% trying to micro-optimize code or push the boundaries. Most experienced Rust developers know exactly how to model their code in a way that no time is wasted fighting the compiler on design issues, and can spot anti-patterns at a glance, just like most people know how to drive their car on the correct side of the road to avoid accidents, and notice those who don’t!

From https://blog.kraken.com/post/7964/oxidizing-kraken/

15 Likes

I remember reading something from a coder who grew up on C, learned Rust, and the next time he had to write something in C, got really frustrated with all the bugs the compiler let through, since he then knew that it was possible to catch them at compile time.

That stuck with me and changed how I think about my fights with the borrow checker a bit.

/u/antichain @ Reddit - Dive into anything

4 Likes