DEV Community

Discussion on: How Rust helped me power through my C assignments

Collapse
 
somedood profile image
Basti Ortiz • Edited

Thanks! Now that you've mentioned C, I would like to add that it was incredibly enlightening to discover and experience for myself the rationale behind certain language design decisions in Rust.

For instance, I'll particularly mention the tricky object lifetime annotations. At first, they would seem like a crazy concept for Rust (which claims to be "higher-level"). However, after going through the rather ambiguous semantics of raw pointers in C, it clarified—nay, justified—the craziness.

You would definitely enjoy trying Rust out, especially with hindsight to C's original ideas! 🦀

Collapse
 
miketalbot profile image
Mike Talbot ⭐

I recently had to do some work in C++ on Unreal Engine and that was interesting. I built in C++ for many years before there was any kind of standardisation about shared pointers and reference counting and Microsoft had come up with IUnknown and QueryInterface with a million interface GUIDs in the Windows Registry - now things are much nicer in C++ land anyway and Unreal has additions on top of that. That all said, I get a nervous tic when I allocate a new object and trust something else to manage the lifecycle! I've spent too long with garbage collectors ;)

Thread Thread
 
somedood profile image
Basti Ortiz • Edited

That surely sounds like a hassle to deal with. Makes me even more glad that we have a more formalized RAII principle nowadays. I'd rather not imagine how bad things can get without semantic lifetimes in environments with mixed manual memory management and garbage collectors! 😅

Some comments have been hidden by the post's author - find out more