Alice Ryhl
Software engineer on Google's Android Rust team, a core maintainer of the Tokio async runtime and an adviser to the Rust language team.
Alice Ryhl did not write this page.
We collected these quotes from things they published elsewhere, and every quote links to where it was said. They have no account here and have not endorsed this site. Quotes are word for word; the short line under each one is our own restatement, not their wording. Their own site. Is this you? Claim it or ask us to remove it. Or tell us what is wrong here.
-
Their wordsI think part of what I liked about Rust is this feeling that as you write the code when it compiles it works. I mean this has to be in quotes right because obviously it's possible that there are bugs but this is something a lot of people say about Rust and there's a reason people say it even though it's not necessarily literally true.
↗Why Rust is different, with Alice Ryhlyoutube.com 1st of 23 in this recording
-
Their wordsI think to have a language that feels this way you have to have a type system. That's where it all starts.
↗Why Rust is different, with Alice Ryhlyoutube.com 2nd of 23 in this recording
-
Our reading
For a TypeScript team, Rust belongs on the backend — API servers — and not in the front end.
Their wordsBut okay, so to begin with, I think when it comes to TypeScript, Rust fits in as the backend language. That's where I would put it. I wouldn't use it in the front end. I think it's a pretty good fit for backends, API servers.
↗Why Rust is different, with Alice Ryhlyoutube.com 3rd of 23 in this recording
-
Their wordsNow the thing is you can of course write examples in your documentation and Rust makes all examples into tests. This means that if you change the underlying code now your test fails. And so this means that you can't even you can't forget to update your examples in your documentation.
↗Why Rust is different, with Alice Ryhlyoutube.com 4th of 23 in this recording
-
Their wordsI think this is kind of leads to another way that Rust really helps with reliability, which is that if you're refactoring, I think Rust is really good at telling you all the places you need to update. I've done this sometimes where I would refactor something. I change the code. I change the return type or whatever it is, and then I just fix the compiler errors and until the compiler stops shouting. And then once I've done that, I've updated every place I need to update.
↗Why Rust is different, with Alice Ryhlyoutube.com 5th of 23 in this recording
-
Their wordsSo, here I actually think it's even stronger. The thing with C++ is that if you make a mistake, right, in in JavaScript, maybe you take down your server, which is already bad enough, but in C++ when you make a mistake there, now it's actually a security vulnerability most of the time.
↗Why Rust is different, with Alice Ryhlyoutube.com 6th of 23 in this recording
-
Their wordsMemory safety is this idea that no matter how stupid the code you write is, it's not going to have a certain class of bugs. And this is the, you know, the kind of bug that usually leads into security vulnerabilities.
↗Why Rust is different, with Alice Ryhlyoutube.com 7th of 23 in this recording
-
Their wordsI think where Rust is really unique is in the combination of things. So on one hand, it it doesn't have a garbage collector and it it's usable in low-level context like the Linux kernel or firmware or whatever.
↗Why Rust is different, with Alice Ryhlyoutube.com 8th of 23 in this recording
-
Their wordsEven for back end, it can be a problem because if you have a request incoming right when it checks all of your objects like you have some sort of latency spike where you it takes much longer to to reply. So that's one of the reasons it can be helpful in in back end as well.
↗Why Rust is different, with Alice Ryhlyoutube.com 9th of 23 in this recording
-
Their wordsI think the most tricky thing people run into is how should you put together your data structures? I mean for your code you can mostly do the same things as you can in other languages. I mean that's not entirely true but the big thing is really the data structures.
↗Why Rust is different, with Alice Ryhlyoutube.com 10th of 23 in this recording
-
Their wordsWhat Rust ensures is that if you have no use of unsafe, then no matter how stupid your code is, you will never have one of those bugs.
↗Why Rust is different, with Alice Ryhlyoutube.com 11th of 23 in this recording
-
Their wordsAnd it's interesting to point out here that unsafe does not disable the borrow checker or anything like that. It just gives you a few more operations you can perform that are not safe in general.
↗Why Rust is different, with Alice Ryhlyoutube.com 12th of 23 in this recording
-
Their wordsSo usually it will never show up in say a backend server. You would have zero uses of unsafe there. Generally when unsafe is used, it's to add a new feature to the language.
↗Why Rust is different, with Alice Ryhlyoutube.com 13th of 23 in this recording
-
Their wordsMy opinion is that the least mature area is front end. There have been some attempts to compile Rust to Web Assembly and then run it on the web as a front end as a replacement for TypeScript. But if I was writing a web server, I would totally use Rust for the back end and TypeScript for the front end. I would not really go the web assembly route.
↗Why Rust is different, with Alice Ryhlyoutube.com 14th of 23 in this recording
-
Their wordsHonestly, if the team doesn't sign off on it, it doesn't happen. I mean if something is really contentious contentious or really big it will probably end up being discussed at a conference for example.
↗Why Rust is different, with Alice Ryhlyoutube.com 15th of 23 in this recording
-
Their wordsAnd what this is is that in the guide level explanation, you explain your feature as if you were writing a guide as if the feature already existed. And in the reference level explanation, you explain your feature again as if it already existed, but as if it would be in the language reference instead of a tutorial.
↗Why Rust is different, with Alice Ryhlyoutube.com 16th of 23 in this recording
-
Their wordsReally the big idea is to say we want the old code to continue working but we still want to change the language. And so the the difference from other kinds of versions of languages I mean Python 2 version Python 3 comes to mind is that you can totally mix and match in any way you want.
↗Why Rust is different, with Alice Ryhlyoutube.com 17th of 23 in this recording
-
Their wordsI would say here that the Linux kernel is truly unique in this particular aspect in that they have thousands of contributors doing it on work time. I actually think that the Rust project is doing pretty well at having people do it and get paid for it like by their employer, but it's nowhere near the to the same extent as as the Linux kernel.
↗Why Rust is different, with Alice Ryhlyoutube.com 18th of 23 in this recording
-
Their wordsAnother thing that's really cool is you can contribute to the Linux kernel without contributing to the Linux kernel, right? because you might take a Rust language feature we need and implement it and now you've contributed to the Linux kernel indirectly
↗Why Rust is different, with Alice Ryhlyoutube.com 19th of 23 in this recording
-
Their wordsThe big news were that at the Linux kernel maintainer summit, we agreed that Rust is no longer experimental in the kernel. That was really big for us compared to the previous year.
↗Why Rust is different, with Alice Ryhlyoutube.com 20th of 23 in this recording
-
Their wordsI think the same kind of principle applies with agents in that they can talk to the compiler. It will tell them what to fix. So I guess this could be a case. We we'll see. But Rust could be a pretty promising candidate for to use for agents because they can get more feedback and it's just hard it's harder to to ship certain type of bugs or maybe impossible to have certain type of bugs.
↗Why Rust is different, with Alice Ryhlyoutube.com 21st of 23 in this recording
-
Their wordsI mean, that's the thing with memory safety, right? You make some sort of trivial mistake. It it's not some complex thing. It's just you make some trivial mistake and there's a bajillion places you could make it.
↗Why Rust is different, with Alice Ryhlyoutube.com 22nd of 23 in this recording
-
Their wordsOther than that, I think honestly the way you learn a language is you have you have a project. You you implement some sort of project with it. I mean maybe some sort of web server or something.
↗Why Rust is different, with Alice Ryhlyoutube.com 23rd of 23 in this recording