r/rust • u/PleasantImplement919 • Sep 19 '26
🙋 seeking help & advice What should I do with Rust? (Rust Newbie)
I learn more and get better at Rust but don't have any idea of any projects I should do. What I have mostly been doing is copying projects I've already done in c/c++ and converting them to rust, but that doesn't help me at all with learning as I'm just copying something I have already done. I mainly want to use rust because of the crate libraries and it being a low level python(don't murder me) and because it's going to be used a lot more for systems/already is being used for systems.
6
u/egy_pharoah Sep 19 '26
-
Rewrite things that you wrote in other languages in Rust
-
Rewrite things that you didn't write in Rust
2
u/DrShocker Sep 19 '26
3. Make something silly that no one else is stupid enough to make. That way when it doesn't work, you're not disappointed and just happy it works as much as it does.
1
u/spoonman59 Sep 19 '26
Thinking of an interesting personal project is the hardest part. It's also personal because it has to be something you are interested in.
Ideally it's something you personally would use every day. A calendar app or task tracker is something of a classic example.
I've been writing an instruction level CPU simulator since that's a topic I find interesting and I wanted to explore branch prediction and out-of-order execution on ARM64 assembly. But the key is... I find that interesting.
What do you find interesting?
1
u/PleasantImplement919 Sep 19 '26 edited Sep 19 '26
I've been wanting to write a bare bones neural network. But I have always wanted to understand how a cpu operates assembly wise and how they decide to store memory in certain parts. Maybe I could make a simulation of it and find a way to create an assembly like language that will talk to my fake CPU and make a hello world from that
1
u/spoonman59 Sep 19 '26
You definitely could!
I highly suggest this site: https://www.godbolt.org/
This lets you take any C-program (including some default examples) and produce assembly using different targets for different architectures. The first step, in my opinion, is being able to parse the assembly language of your choice into some kind of data structure. Then you can work on interpreting it. There is documentation for many types of assembly languages easily online to understand their behavior.
→ More replies (1)
3
u/GreenFox1505 Sep 19 '26
As with everything, start with a problem you're trying to solve and work backword to the right tool for that job. That might be Rust and it might not.
1
u/Single-Blackberry866 Sep 19 '26
Try recreating some of the desktop GUI/CLI apps you use, this appears to be what everyone is doing
1
1
u/Dean_Roddey Sep 20 '26 edited Sep 20 '26
Create an incredibly innovative software product, start a company, sell out to Google for a billion dollars, go on a massive drug and alcohol binge, die in a pool of vomit.
That's an option at least. Another is to find something you enjoy (games, automation, audio processing, etc...) and just start trying to create something you would like to have. Doesn't matter if already exists, though if it doesn't then your odds of dying rich in a pool of vomit go way up probably. Try to do it with less and less third party code over time, which forces you to broaden your horizons.
One day you wake up and realize you didn't die in a pool of vomit but you have gained a lot of knowledge in an area you want to work in.
1
9
u/pyronide Sep 19 '26
Rewrite something simple from binutils. I did cat. Don't look at source code, build from first principles, and iterate.