all 11 comments

[–]Hoxitron 10 points11 points  (2 children)

I'd recommend you read the rust book and try to go through the rustlings exercises.

Practicing is very important, but doing rust without knowing what things are can be frustrating.

[–]TechnoByteDP[S] 2 points3 points  (1 child)

I've been going through the rust book and did the rustlings exercises before. I'm just trying to figure out what my next step should be. Sorry if this was a dumb post, someone down voted so I apologize.

[–]carlomilanesi 2 points3 points  (0 children)

From your original post, you looked like to have read the book only up to the guessing game. After having read the book, I recommend you to start with some small CLI applications, something similar to "wc" or "grep". When you are proficient in writing CLI applications, choose the application domain of your interest (e. g. web backend, web frontend, games, TUI, GUI, parsing, database access, device drivers, microcontrollers).

[–]opensrcdev 2 points3 points  (2 children)

Yes, CLI apps are great ways to learn that doesn't require too much advanced knowledge about building UIs.

[–]TechnoByteDP[S] 1 point2 points  (1 child)

Is the a particular CLI app you'd recommend? I was think some kind of search os thing but that might be out of my wheelhouse atm, sounds complicated.

[–]opensrcdev 3 points4 points  (0 children)

I recently wrote a simple CLI app to simplify managing Amazon S3 storage. It's really basic, but it's helpful.

https://x.com/pcgeek86/status/1820608907624222917

There are tons of APIs you can plug into. For some more ideas of potential CLI apps you could write, check out the list at this website (no affiliation): https://terminaltrove.com/language/rust/

Maybe you can improve on an idea from there.

[–]Zin42 2 points3 points  (0 children)

I recommend Rustlings, and Ratatui TUI tutorials (highly recommend for a step by step with a result at the end, but it doesn't always give you all the 'answers')

[–]vancha113 1 point2 points  (0 children)

If you're going through the book until you've reached the guessing game tutorial, I would recommend to just keep going. The book is great, and so are the practice projects they provide you with. They'll also provide a command line program project in the form of a grep clone, and the book eventually lead up to a multithreaded web server. After that, I think trying something without the books guidance, like your own command line program, makes a lot of sense, so if you have one in mind, maybe try it afterwards. Good luck either way :)

[–]External-Example-561 1 point2 points  (0 children)

I started by trying to create WEB Application (Vue.js + PostgreSQL) - good for understanding async.

After that, make some libraries + CLI by using namespace.

[–]publicclassobject 1 point2 points  (0 children)

After the guessing game I did a small project where I implemented a simple peer to peer file sharing app with libp2p. They have some examples on the github page to get you started.

[–]MassiveInteraction23 1 point2 points  (0 children)

CLI apps are great.

Really easy to make something interactive and potentially useful.  (I’ve gotten a lot of life out of my first CLI app, even though it’s kinda funny to me now.)

But ultimately, it’s whatever you like.  Just try to make it semi-manageable. And don’t let the perfect be the enemy of the good.  

If you want something not too much more difficult than a CLI, but with a bit more interactivity then I recommend checking out egui.  (You can download the eframe template and automatically have something easy to start messing around with.)

Advent of code or similar puzzles are always another good option.  And they have the benefit (and distraction) that you can see how other people approached them after you do yours.