I'm often asked to recommend some Coding Challenges for developers who are learning Rust.
The obvious answer is ALL of them! After all I started writing and sharing these coding challenges as I was using them to learn Rust.
But to try and provider a more curated answer the question, here are the eight great coding challenges you can use to learn Rust:
- Build your on wc - get started by learning to handle command line arguments and process file IO and text streams.
- Build your own compression tool - start digging into building data structures and algorithms using Rust to build a tool that compresses and decompresses files using Huffman compression.
- Build your own Redis Server - Building a clone of the original Redis server is a great challenge to learn either async (i.e. Tokio) or multi-threaded development in Rust. Alongside that you get to do some protocol handling, data structures and network programming.
- Build your own URL Shortener - a great challenge to learn about hashing and building REST APIs in Rust.
- Build your own diff - get into some dynamic programming with Rust.
- Build your own Shell - Rust is a system programming language so building your own Shell is a fun way of using it.
- Build your own DNS Resolver - Some more low level network programming and packet handling.
- Build your own git client - build on your diff and add more data structures and algorithms.