TWiR quote of the week

As far as I can tell C was pretty much the only language available to build Linux with at the time. From purely practical considerations never mind any subjective preferences and emotional attachments programmers have for their favourite languages.

Also it makes a lot of sense to me that having selected a language for such a project there would have to be massive advantages in anything else to even consider it. Having a polyglot system is going to be a lot harder to hold together. There have been no languages available with such massive advantages.

Enter Rust... For the first time, since Ada perhaps, a language arrives that does offer new features in terms of program correctness, which are very valuable in projects like an OS kernel.

1 Like

I meant "promoting" in a literal sense (sending attention towards), not endorsing.

2 Likes

-- a look back at asynchronous Rust, @tomaka

9 Likes

What I love about Rust is that it has been developed to solve concrete problems, built on top of the lessons (painfully) learnt while implementing real systems.

-- https://blog.esciencecenter.nl/using-rust-for-scientific-numerical-applications-learning-from-past-experiences-798665d9f9f0

(It's formatted as a quote of some kind, but it's not duplicated from the non-quote parts, so I'm not sure if it's a pull quote, an uncited quote of one of the hyperlinks, or just confusing use of the markup. Google is being unhelpful on that front.)

1 Like

in Lifetime in struct - #2 by trentj

5 Likes

What I actually value on a daily basis in [rust is]
I can call code written by other people without unpleasant surprises.

async fn verify_signature(token: &Jwt) -> Result<Claims, VerificationError>

Looking at a code snippet:

  • I know my JWT token won't be mutated, just accessed (&);
  • I know the function will probably perform some kind of I/O (async);
  • I know that the function might fail (Result);
  • I know its failure modes (VerificationError).

Luca Palmieri on Twitter

11 Likes

As we all know, adding blockchain to a problem automatically makes it simple, transparent, and cryptographically secure.

source (Library for use in C++, but written in Rust)

6 Likes

(for the obtuse among us (including me), if that quote is pulled without context it might be good to note that it's heavily sarcastic, not just uninformed.)

4 Likes

Rust sparks joy.

From Gregory Szorc's Digital Home | Rust is for Professionals

7 Likes

"Rust is for professionals".

Great article. If a bit long winded for most who are not familiar with Rust.

Much of it could be summarised as "Rust has an emphasis on program correctness", which the article expands on at length. It has an emphasis on correctness far above that of compiled languages like C and C++ or dynamic languages like Javascript and Python. Not something we have seen in the wider programming world since ALGOL or later Ada.

To my mind, any professional programmer should have correctness of his creations as a primary goal. In the same way real engineers take pride in their aircraft not crashing, bridges not collapsing, brakes not failing and much else in the world.

I would go as far as to say any software engineer not looking at Rust is being professionally negligent.

Of course Rust is for happy hacker hobbyists as well. Why would they not want the product of their labours to be unpredictable.

4 Likes

RFC can be read as "Readme For Crate"

1 Like

When talking about Rust is for Professionals

To me, the overarching message of the blog should be, Rust is making me a better software engineer.

Rust Is Creating Professionals.

From u/wsppan on Reddit.

2 Likes

:slight_smile:

1 Like

Careful. My post with that statement in it was flagged and temporarily hidden. I suspect it was that statement that upset someone.

Perhaps it's a bit strongly worded. But I pitch it the same as suggesting that when using C and C++ one should have compiler warnings wound up to the max, tests in place, be making use of the various sanitisers and/or valgrind and so on.

In short professionals should be taking pride in their work and be keeping up with the latest in best practices in ensuring a quality product. I consider Rust is a significant development in that respect.

3 Likes

We feel that Rust is now ready to join C as a practical language for implementing the [Linux] kernel. It can help us reduce the number of potential bugs and security vulnerabilities in privileged code while playing nicely with the core kernel and preserving its performance characteristics.

I think that this may be one of the most impactful statements regarding Rust for a fair amount of time.

16 Likes

A very nice quote about Rust

If you only have experience with dynamically typed languages that will allow you to compile a ham sandwich, there's a good chance you'll be frustrated by Rust.

https://gregoryszorc.com/blog/2021/04/13/rust-is-for-professionals/

5 Likes

The multiple references to Gregory Szorc's article inspired me to give it a read. As a beginner, I am always skeptical that I am engaging in confirmation bias reading an article about the benefits of Rust's ownership model and the memory safety it provides, to the extent that the author is preaching to the choir. But the author's endorsement from the perspective of an industry veteran carries credibility, and it was interesting to read the constructive critiques as well. My favorite quote from the article was:

With Rust, the compiler errors tell you exactly what the language defects are. So by the time you appease the compiler, you are left with just your logical/intent defects. I greatly prefer the Rust workflow which separates these because I'm getting clearer feedback on my progress: I know that once I've addressed all the language defects the compiler complains about that is just a matter of fixing logical/intent defects. I know I'm a giant step closer to victory.

I like the wording, but I do think there is a limit to how often one should employ italics for emphasis.

4 Likes

Having also read Gregory Szorc's article I think he did a good job of highlighting what truly separates Rust from other languages. Any mention of Rust is bound to mention memory safety, but to me it's more than that.

Rust promotes correctness by making you handle edge cases and errors.

Rust moves a huge number of what would be runtime errors in other languages to the compile stage.

To me, those two things, although often tied very closely to memory safety, are what makes Rust truly special. It's not (just) about memory, it's about correctness.

2 Likes

First time contributing to the quote of the week but reading the (very!) long article of Gregory Szorc, I thought it was worth mentioning at least one quote (it seems I'm not the only one!). I enjoyed this one specifically.

Like an artist reaches for a preferred paintbrush or a chef for a preferred knife because their preferred tool enables them to better express their craft, I feel that Rust often enables me to better express the potential of my professional craft more than other programming languages.

From Gregory Szorc's Digital Home | Rust is for Professionals

7 Likes

this error message is UNREAL

Ash2X3 on twitter

11 Likes