Hacker Newsnew | past | comments | ask | show | jobs | submit | mrtngslr's commentslogin

The family of Rust courses by Google have grown to include a course on how to use Rust in Chromium!

This is targeted at Chromium engineers and others who build the browser, but everybody can play along at home and learn how to integrate Rust with their browser.

The goal is to make Chromium and Chrome more secure by eliminating a whole class of errors related to unsafe memory handling.


Thanks! We do include speaker notes on some pages (but not yet all[1]). We would love to expand this and PRs are very welcome for this :-)

I think videos will end up being made by someone other than me since I feel it takes too much effort when you don't have the right setup already. We have an issue and I'll update it as soon as I hear more about videos.[2]

[1]: https://github.com/google/comprehensive-rust/issues/1083 [2]: https://github.com/google/comprehensive-rust/issues/52


I wrote a blog post about how we've been scaling Rust adaption in Google.


A bit more detail: we've been expanding our Rust training at Google over the last year. We've now had more than 500 Googlers go through Comprehensive Rust and they tell us that they really like it — also when we ask them again three months later :-)

The post is a huge Thank You! to the many people who have helped with the course, both inside and outside of Google. More than 30 Googlers (who already knew Rust) have picked up the course and taught it around the world.

People have used the material for university classes[1] and there will soon be online classes[2] as well. I hope it will become a good resource for people to teach Rust in many different contexts!

Pull requests are always welcome, the whole thing is open source[3]!

[1]: https://mo8it.com/blog/teaching-rust/

[2]: https://twitter.com/mrtngslr/status/1696601520412783052

[3]: https://github.com/google/comprehensive-rust/


I've seen that too: having experience with Rust made C++ feel easy.

I looked at C++ many years ago but never used it professionally. About 6-7 years ago, I learnt Rust and a few years later, I started working full time in a C++ team at Google. There are many things in the Google C++ Style Guide[1] that reminds me of Rust, from the ban on exceptions to the use of `std::optional` for optional inputs and outputs.

[1]: https://google.github.io/styleguide/cppguide.html


Hey there! I wrote the course and you're spot on: the course is meant for classroom training (at Google and elsewhere). If you have the time to read a book, then I highly recommend diving into one of the many great Rust books. I've linked some of the freely available ones here: https://google.github.io/comprehensive-rust/other-resources.....

We've made an attempt at making Comprehensive Rust useful for self-learners by providing speaker notes on many of the pages. However, they're still quite terse and could be expanded in many places. PRs for that will be gratefully accepted :-)


My colleguage Andrew wrote the bare-metal part. I believe he picked the micro:bit board because it's readily available around the world. It also has a lot of fun sensors (microphone, rudimentary speaker, compass, ...). I'm sure there are other boards around, but so far people seem very happy with this board in our classroom training.

The only slight problem is the noise when 30 boards are powered on at once :-D They ship with an elaborate demo program which plays sounds and blinks the LEDs when you start it up.


That makes sense. The first was great fun and v2 looks even better. I had written them off due to chip shortages but it looks like availablity is better now.


The course is meant to be interactive, which means that you should try out the embedded code snippets. You can edit them and run them from your browser :) However, if you really want a PDF, then use the print page[1]. It will let you produce a ~210 page PDF with the entire course.

For learning Rust via a non-interactive medium, I recommend the Rust Book[2]. It has all the narrative that the course material is missing.

[1]: https://google.github.io/comprehensive-rust/print.html

[2]: https://doc.rust-lang.org/book/.


Thanks for posting the link and thank you very much to everyone who have sent us PRs over the last 24 hours!

Please keep submitting them. You can use the little pencil icon in the top-right of any page to quickly submit a typo fix patch. I'm from Denmark and English is not my first language — I very much appreciate the help from you to fix all the grammar mistakes :-)


Yeah, that is a fun tutorial indeed :-D I forgot to add that one to the list of https://google.github.io/comprehensive-rust/other-resources..... Would you care to open a PR for that?


Thanks for reposting :-)

In general, I feel that the new course will be useful for people who want to teach Rust. If you have a group of engineers and you want to teach them Rust, then this is a ready-to-go solution. You only need to spend some time getting familiar with the material and then you can start teaching it. I don't think there was such a resource before.

For self-study, I really like the Rust book and also Rust by Example. I've listed a bunch of good resources here: https://google.github.io/comprehensive-rust/other-resources.....


Based on my personal experience, I think it might also be helpful to have an even shorter version tailored to "Rust for C++ programmers", which I find to be useful because you can mostly just go "ok here's the syntax for basic things, here is how lifetimes work and what problems they solve, here are the replacements for things you are familiar with and why some operations are not available for them". In particular, this lets you skim over "What is the stack? What is the heap?" that many introductions will spend time on.


Yes, it's definitely important to tailor the training to the audience!

When I'm teaching the course, I start by asking people about their background — if it's primarily C/C++ people, then we can quickly page through the slides about the stack and the heap.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: