I’m currently going through the process of teaching myself Rust as a fun summer project, especially since it’s different enough from the Java/Spring stack I use at work regularly. What are some interesting projects I can work on in Rust to get some familiarity with how the language works, and get an idea of some of the libraries I can use with it?
If you’re not opposed to books and have an interest in gamedev as well, then maybe give Hands-on Rust a shot. After some basics, it covers building a dungeon crawler (roguelike).
Admittedly, I own a copy but I haven’t had the chance to go through it yet. I’ve heard positive things about it, though. Might start soon, wanting to get more in-depth with Rust myself recently.
The same author also has a free tutorial here. The ECS library used in it is a bit dated, and it’s a good idea to follow the tutorial but use a more modern one (like hecs, or bevy_ecs if you’re feeling more comfortable in rust)
Huh that’s a pretty solid looking book. I did a quick glance through the chapter list online, and there is a fair amount of content in that. A solid book like that may be good for me to check out as well
exercism.org has a rust track.
Oh that is a very cool resource. I haven’t seen this one before. I am definitely checking this out. Thanks!
Rust really shines with parsers and generators. They are easy enough and fun to write. Maybe write a lisp with it? Or a prettifier for your favorite language…
If you go with a parser, this one is an interesting crate to start messing around with:
Huh interesting, Parsing is always a fun exercise for learning some language features. I may try that out then for a good starting project. Thanks!
I like to start out any new language with an implementation of Conway’s Game of Life. It’s relatively simple, but tends to exercise a decent bit of the language.
You know, I’ve never implemented Conway’s game of life, and that sounds like an excellent way to work on a new language
It’s a fun little project to do :)
Seems like a good way to play around with multithreading, SIMD and even shaders if you wanted to.
For me “scratch your own itch” is what works best for keeping up the motivation. Think of a tool or service that you’ll actually want to use yourself and implement that in the language you are learning. Or create a better version of an existing tool that you regularly use.
If you’re looking to further your understanding of rust, try out the rustlings course.
You could also look into making a website (e.g. a todo list) with Leptos.
For my own projects I’m trying to build things I actually want. Tools for myself. But now the hard part becomes identifying a tool you wish you had, and scoping it down enough so that it’s appropriately sized for a new language. Tricky to approach the task from two ends.
What are some interesting projects I can work on in Rust to get some familiarity with how the language works
My recommendation is always the same, regardless of the language:
(And here is some dogfood: I’ve created [email protected], so you can ask questions there and/or share your solutions)