r/rust • u/Melodic_Group_3273 • 6h ago
๐ seeking help & advice Got any Idea?
Hi,
I have started learning Rust recently. And I want to improve myself by doing projects. Do you have any cool ideas that can be done by a beginner. It doesnโt have to be something unique. I just want it to be cool (not sure what I mean by cool but you can think of it as a not boring project or useful) and educative.
Note: If you can elaborate what the idea is would be great and what do i need to know or look for. I do not know what I am doing most of the time. I am trying to get a picture of my capabilities.
3
2
2
u/mike239x 4h ago
Depends on what you like / find interesting. Here is a random suggestion - there's a site called rosalind. There is a collection of ~300 programming problems grouped for the purpose of introducing people to bioinformatics. It's mostly tasks about string manipulation, but it does teach some cool stuff about both programming and biology along the way.
1
1
u/MatrixFrog 1h ago
The two I quite enjoyed recently are Crafting Interpreters (I did it via codecrafters but you can also just follow the book: https://craftinginterpreters.com/ ) and Ray Tracing in One Weekend ( https://raytracing.github.io/books/RayTracingInOneWeekend.html )
In both cases they give you the code in another language (Java and then C for the interpreter, and C++ for the raytracer) so it's kind of a fun way to think about how Rust gives you different ways to express things compared to those languages.
1
u/QuirkyTidbits 13m ago
If you are interested, create a contacts list or another database app using the hyperdb-api crate that I wrote. It comes with an industry proven database engine called HyperDB for no cost. If you do, let me know. There are samples in the GitHub repository: https://github.com/tableau/hyper-api-rust
-1
u/Single-Blackberry866 5h ago
For a systems programming language, the most challenging part is outputting pixels to the screen, not just characters. Characters are still fun, but there's an eternity between building Hello world cli and interactive LLM chat. Alternatively, you could go a way of other interfaces: a TCP/IP server, USB, Bluetooth. In the end, computing is all about I/O, not just crunching numbers.
5
u/spunkyenigma 5h ago
Make a simple game (Tic Tac Toe) in the terminal. Then turn the game part into a library. Then make it into a graphical game with Bevy or into a webpage. Add networking to play a friend. Add a computer player.
Great way to learn a lot of different parts of Rust without overthinking the game itself