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?
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!
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.
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
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)
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 :)
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.
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.
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.
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)