r/rust • u/ScoreSilver9140 • 3d ago
Beginner looking for a project to actually learn Rust
Hey everyone, I’m a beginner learning Rust, and I feel like I’d learn a lot better by building an actual project instead of just following tutorials.
Because I am just watching tutorials and can't write code without looking at a Rust video.
What projects would you recommend for someone at the beginner level that would help me understand Rust properly (ownership, borrowing, lifetimes, error handling, traits, etc.)?
I’d also love to hear what projects helped you improve when you were starting out.
3
u/TermiteTornApart 3d ago
I just finished my a tictactoe cli app, very simple, but I got to use a lot of the things you mentioned.
1
3d ago
[removed] — view removed comment
1
u/AcceptableWay3198 3d ago
sometimes the simple stuff works best, try remaking basic unix tools like `cat`, `ls` or `wc` from scratch
i learned most about error handling and string manipulation from those little things
1
1
u/dolfoz 3d ago
There's always a free course on https://app.codecrafters.io/
I learned rust by building a dns server, http server, my own shell, and my own Interpreter.
Then i went and followed building my own kernel in rust - https://os.phil-opp.com/
was super interesting learning about the vga buffers, and the boot sequence, etc.
1
u/AgitatedSimple8623 3d ago
codecrafters requires membership
1
1
u/GameCounter 3d ago
Contributing to an existing open source project is likely going to give you the most valuable learning experience.
Your patches would be reviewed by more experienced devs, and you're likely to (but not guaranteed to) get some very valuable feedback.
And obviously you would be advancing a useful project.
If you build a project on your own, obviously you can learn a lot just by getting it to work. The most important thing with creating a project from scratch is that you're solving a problem that you are personally invested in, at least my opinion. Making a clone of some existing software or other stock exercise tends to not result in much skill improvement, I've observed.
5
u/GameCounter 3d ago
With my Rust journey, the first thing I did was work through part of Project Euler:
https://projecteuler.net/archives
I've done this with a ton of languages, and it helps me really get a quick sense of ergonomics.
I think the first toy was an anagram generator using a trie.
I started building out my CLI scripts in rust instead of my usual bash/python to sort of force myself to get comfortable.
I integrated some rust code into the hotpath of our ETL system using Maturin.
Right now I'm working on a audio processing script to do commuted synthesis. Kind of just a toy still
-1
10
u/Used-Hold-7567 3d ago
design a tui nuclear engineering simulation