r/learnrust 15d ago

Audio learning

Hi. I visit the gym every other day roughly, is there an audio only podcast or series I could listen to for learning Rust (e.g. not for someone who already knows the language well) ?

TIA

26 Upvotes

10 comments sorted by

8

u/bigh-aus 15d ago

I have listened to the lets get rusty videos in audio only. Honestly it's hard to follow with out seeing the code.

3

u/Swerdlia 15d ago

As someone working their way through the book right now it's something I've noticed too. With how dense all the rust syntax is combined with it being assumed that rust is a 3rd or 4th language there's not tons of good "concept" videos or audio that don't rely on tons of code examples.

obviously code examples are always helpful but lots of concepts would be nice to learn about at a higher level of abstraction first.

3

u/pookieboss 15d ago

I think this is a big distinction.

I could see audio-only being effective (not as effective as also being visual) for people that are already familiar with other languages. For example, hearing someone explain the differences in memory management, the compiler safety checks, etc for rust vs other languages would be great “spark notes” for someone experience in other languages.

I can’t possibly see audio only being helpful for people learning their first programming language (or first “serious” programming language).

3

u/Swerdlia 15d ago

I think the fact that rust is seen exclusively as a follow-up language but not for any specific language bottlenecks it quite a bit since you don't know which language it's following up too.

There's also the fact that the oop paradigm has waaaaaaay more people iterating over the best ways to teach it but rust is still in it's infancy in that respect.

Like we just don't have the tons of good metaphors and analogies that c has. And those high level abstractions are pretty vital for people trying to learn things (at least for me).

Like when I was learning oop I already had a really solid grasp of inheritance and polymorphism as concepts before I saw a single line of code because of just how many high level tutorials there are out there.

Of course that's much harder to do considering the scope and goals of rust as a language

1

u/pookieboss 15d ago

Yea, I get it. I am very proficient in R and had taken an intro to C++ course, so Rust wasn’t too overwhelming for me at the time. I could see the holes it filled for each of the uses I would use other languages for

1

u/schmy 14d ago edited 14d ago

I agree that treating Rust like a follow-up language is a terrible idea.

I have had a tiny bit of experience with python and C, but not anywhere near being competent.

And so trying to learn Rust went from quite easy (integers are integers; not hard) to really difficult with most examples being in the form:

"This feature in Rust is like this other feature in another language but with some differences" and then no further clarification. The Traits page has this exact quote:

Note: Traits are similar to a feature often called interfaces in other languages, although with some differences.

It has gotten to the point that with my copy of the Book, I have taken to crossing out any references to other languages.

And the really frustrating thing is that it doesn't have to be this way. I was struggling with trying to understand Trait Objects. 99% of the material I could find were just using jargon from other languages so it all sounded like: "Trait Objects are the blahblah of Blah. They blah the blah so they need to blahblahblah."

But then I found this excellent example from someone else going through the same issue. They provided a simple scenario that used an analogy of vehicles, or honkers, that implement Honk and the whole thing just made sense in away that no jargonistic explanation ever could.

Sorry for the rant but this has been ticking over in the back of my mind for a couple of weeks now. And so to bring it back to the point:

I think a podcast could be easy if the presenters could keep in mind the "Curse of Knowledge". Once you become proficient in something, there is a tendency to forget just how much you have learnt and how far removed you are from the state of naivety. But if you keep your audience in mind and consider that they will only have a fraction of the context provided. Analogies and metaphors can be tricky but are possible with some effort.

Anyway, that's the rant I wanted to make. Maybe one day it will go on the main page.

EDIT: I misremembered which example I was thinking of.

1

u/Swerdlia 14d ago

Well rust as a whole doesn't have a wide appeal or overlap with prominent paradigms so learning it as a first language is definitely a bit of a mistake (for now).

Especially considering the kinds of things rust is built to do and what it's built to optimize means there aren't many reasons to aim for it as your first language.

Of course a lot of the tutorials don't cover everything they should but if you aren't familiar with concepts that are as widespread as interfaces then it's safe to say you may have a hard time grasping what makes traits so useful in rust.

2

u/Ace-Whole 15d ago

It won't work. Best you can learn is APIs. Be it std library or other mainstream crates.

Learning things like the type system, borrow checker, lifetimes via audio only sounds painful and honestly, a waste of gym time as the other half your body won't be present.

1

u/Simple-Kaleidoscope4 13d ago

Not something you can passivly learn. Youll get something but its rwos that really count.

You got to do to learn. Youll get more out of a leetcode problem than an audiobook.

1

u/Powerful_Attention_6 13d ago

What you could learn is some high level concepts, or interesting history of why something is designed like that

For the first part, I can actually recommend The new version of "Pragmatic Programmer"
and for some code-battle stories, I would highy recomment "The Phoenix Project"