My experience so far with Rust as a complete Rust newbie

230 points IFreakingLoveOranges 113 comments

I’ve been a systems programmer for about 6 years, mostly using C/C++ and Java. I always wanted to try something new but kept putting it off. Finally I decided to give Rust a shot to see what all the hype was about.

I’m still learning, and there’s definitely a lot more to explore, but after using Rust (casually) for about a month, I wanted to share my thoughts so far. And hopefully maybe get some feedback from more experienced Rust users.

Things I Like About Rust

CargoComing from C/C++, having a package manager that "just works" feels amazing. Honestly, this might be my favorite thing about Rust.

Feeling ProductiveThe first week was rough, I almost gave up. But once things clicked, I started feeling way more confident. And what I mean by "productive" is that feeling when you can just sit down and get shit done.

Ownership and BorrowingHaving a solid C background and a CS degree definitely helped, but I actually didn't struggle much with ownership/borrowing. It’s nice not having to worry about leaks every time I’m working with memory.

Great Learning ResourcesRust’s documentation is amazing. Not many languages have this level of high quality learning material. The Rust Book had everything I needed to get started.

Things I Don’t Like About Rust

Not Enough OOP FeaturesOkay, maybe this is just me being stuck in my OOP habits (aka skill issues), but Rust feels a little weird in this area. I get that Rust isn’t really an OOP language, but it’s also not fully functional either (at least from my understanding). Since it already has the pub keyword, it feels like there was some effort to include OOP features. A lot of modern languages mix OOP and functional programming, and honestly I think having full-fledged classes and inheritance would make Rust more accessible for people like me.

Slow Compile TimesI haven’t looked into the details of how the Rust compiler works under the hood, but wow! some of these compile times are super painful, especially for bigger projects. Compared to C, it’s way slower. Would love to know why.

All in all, my experience has been positive with Rust for the most parts, and I’m definitely looking forward to getting better at it.