this post was submitted on 27 Jun 2023
16 points (100.0% liked)

Programming

13383 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

I'm looking to get a lemmy bot figured out for posting sports scores in real-time (or near it) like Reddit had for NHL games. The lemmy api reference states that rust has the api as a loadable library, but I've only ever done C/C++ and python. Anything Coursera style to get a basic overview of how to get started in Rust?

I did also see lemmy-bot but it looks like it doesn't handle post editing at the moment, and not sure i really want to learn how to use npm to be honest.

top 11 comments
sorted by: hot top controversial new old
[–] [email protected] 10 points 1 year ago

More votes here for “the book”, it got me through publishing my first community app quite nicely.

[–] [email protected] 7 points 1 year ago (2 children)

There are a few resources out there, but a good starting place is the book. There's also Rust by example which has example snippets for doing various tasks.

Also, keep in mind that Rust is a very different language from C, C++, and Python. It's going to be hard to learn it if you try to treat the higher level concepts (structs, enums, traits, etc) like how other languages you know work. Take your time, it takes most people a lot longer to learn Rust than to learn most other traditional languages.

[–] [email protected] 2 points 1 year ago (1 children)

Thank you! And thank you for the tip I had a feeling it looked just similar enough to be deceiving.

[–] [email protected] 2 points 1 year ago

I had a feeling it looked just similar enough to be deceiving.

I think there's a few places where this is true in Rust especially. For example, coming from a C-style language (and Python) the enum keyword throws a lot of people off. In Rust, while you can use an enum to represent a set of "constant" values, it's more common to use it to represent a tagged union, making it more like type from F#:

// a union:
enum Response {
    Html(String),
    Text(String),
    Json(serde_json::Value),
}

// or a more C-style enum:
#[repr(u16)]
enum StatusCode {
    BadRequest = 400,
    NotFound = 404,
    // ...
}

You might find that some concepts look and feel similar to what you might see in traditional OOP languages, but often end up working more like something out of a functional language.

[–] [email protected] 1 points 1 year ago

I recommend The Rust book too. Great for beginners. If you are more advanced developer the Tokio runtime documentation has a tutorial on how to create a mini redis clone https://tokio.rs/tokio/tutorial

[–] [email protected] 4 points 1 year ago

In addition to what others have said, rustlings are great. https://github.com/rust-lang/rustlings

[–] [email protected] 3 points 1 year ago

If you would like to use this project to learn Rust, go for it! However, there are utilities that will convert Lemmy’s TypeScript to Python. There are also a few Lemmy Python packages on GitHub.

[–] [email protected] 3 points 1 year ago

I recommend checking out fasterthanlime's "A half-hour to learn Rust" if you want a brief breakdown of Rust syntax and key features, in addition to The Book and Rust by Example.

[–] [email protected] 2 points 1 year ago

If you have a JetBrains IDE you can install this plugin, which interactively works you through the rustlings course: https://plugins.jetbrains.com/plugin/16631-learn-rust/about

[–] [email protected] 1 points 1 year ago

I learned using Rustlings and The Book. Also a few youtube videos on specific topics I wanted to learn about.

[–] [email protected] 1 points 1 year ago

There is a three day Rust course developed by the Android team — Comprehensive Rust