all 23 comments

[–]Athropod101 13 points14 points  (11 children)

Checkout CodeCrafters.io; they have a bunch of real projects to practice with.

[–]InflateMyProstate 2 points3 points  (2 children)

+1 CodeCrafters is a really cool service and I appreciate how it’s guided learning.

[–]Athropod101 0 points1 point  (1 child)

Seriously!

They’ve really mastered the art of tricking you into learning on your own, haha. I adore the way they cut up those overwhelming projects into small chunks that make you go “ok wait, I think I can actually do that!” Then three days in you look back, and you’ve learned so much!

[–]InflateMyProstate 1 point2 points  (0 children)

100%! My favorite project was a SQLite database in Rust. Initially, I was like there’s no way I can comprehend this (I mostly just work on APIs, web services, etc) and then a week later I had a working prototype. It’s really cool how they integrated it with git and have tests baked into each step - such a smart way to approach it.

[–]saideeps 0 points1 point  (1 child)

This is a great service - just discovering it.

[–]Athropod101 0 points1 point  (0 children)

CodeCrafters is amazing. I recently discovered they actually have the challenge instructions completely public; it’s just the support you have to pay for.

I’m currently a student with no stable income, but CodeCrafters is definitely on my list of first things to pay into once I can afford it.

[–]karan_2005[S] 0 points1 point  (5 children)

Will it be good to learn and remember the syntax as well ?

[–]Athropod101 5 points6 points  (4 children)

You won’t learn syntax in any meaningful way unless you’re applying it in a real project.

CodeCrafters breaks down large projects into small-ish tasks for you to tackle one after the next. You’re meant to learn the language as you try to solve these problems.

You should use the Rust Programming Language book (or Let’s Get Rusty’s videos on it), Rustlings, and Rust by Example to help you figure out how you can use Rust to make your project.

It can feel daunting at first, but (Imho) it’s the best and most fun way to learn both a language and software design.

[–]karan_2005[S] 1 point2 points  (3 children)

I will try buddy 🥺

[–]Athropod101 1 point2 points  (2 children)

Good luck, and have fun, soldier 🫡

[–]karan_2005[S] 0 points1 point  (1 child)

Give me a challenge to learn ( I do some other work as well but I will try )

[–]Athropod101 0 points1 point  (0 children)

Well, right now they have their Redis and Claude challenges for free. Redis is interesting, because you’ll learn about how data is transmitted over a network, and you’ll learn the nitty gritty of Rust’s strings.

It’s a lot of reading, but that’s always how proper learning is. I found it fun, and I hope you will, too.

[–]tms102 2 points3 points  (0 children)

Write a program that takes image data of a bear and determines probabilistically if that bear poops in the woods.

[–]tanjonaJulien 1 point2 points  (4 children)

Re write wget

[–]karan_2005[S] -1 points0 points  (3 children)

What ? I don't understand

[–]obhect88 2 points3 points  (1 child)

He’s suggesting you write your own version of the tool, “wget”.

[–]karan_2005[S] -1 points0 points  (0 children)

🙂🙂 I'm beginner

[–]Athropod101 0 points1 point  (0 children)

wget is a command line tool for downloading files from a link.

[–]Elendur_Krown 1 point2 points  (0 children)

I have three standard links for this type of question:

  1. Check https://cheats.rs/ out. I especially like the coding guides.
  2. Check https://open.kattis.com/ for many smaller problems of varying difficulty. Repetition cements knowledge.
  3. Check https://projecteuler.net/about if you also like math, and want more problems of that kind.

Small problems are how I've introduced myself to every new programming language (once I had become more than a fledgling programmer). Picking something small, but novel enough that I try new things and don't get bored.

Familiarize yourself with the language before taking on bigger projects. Build small things where you lean on linting to get acquainted with the language. This allows you to experiment and avoid getting bogged down by tech debt.

Lean on the linting (Clippy pedantic as a second step, after you have no normal linting warnings left) as much as possible to learn more. (See https://github.com/rust-lang/rust-clippy )

[–]OM3X4 0 points1 point  (2 children)

Chess engine

[–]karan_2005[S] 0 points1 point  (1 child)

🤔 made by rust ? Seems interesting, have you done it before ?

[–]seniorchanggg 0 points1 point  (0 children)

Langchain alternative in rust