![]() |
|
![]() |
|
I did Rustlings without any knowledge of Rust and I thought it worked great. There are links to guide & documentation pages for every exercise. It worked great to learn the basics through practice.
|
![]() |
|
Rust community members are known Rustaceans which is a play on the word crustacean. Crabs are a well-known crustacean. Crab in a human skull is a visual metaphor for learning Rust.
|
![]() |
|
I do not know the story, but I remembered the book because of that, and now after having mentioned it here, I just bought it. So my n=1 study indicates it was a successful design. :) |
![]() |
|
> Really like it but if you follow the tutorial 1:1 you'll most likely get frustrated I went through it and hated it. It's very tedious and I felt like I learned nothing from following along. |
![]() |
|
One observation I have with Rust, looking at the code in wild, abstractions are usually (always?) leaky - implementation details are exposed/imposed due to the ownership feature of the language.
|
![]() |
|
This reads like the Rust equivalent of the OOP 'animal/cat/dog' intros of yore. Real world comparisons are almost never all that helpful when it comes to computing concepts.
|
![]() |
|
To anyone who has done this and rustlings, how do you think they compare? I've been very happy with rustlings, but I'm curious if it's worth it to finish these too!
|
![]() |
|
Highly specific, but in my operating systems course, we wrote a shell in C, it was very fun. I plan to write it again, but in Rust (mostly out of fun), extend it, make it my daily driver.
|
![]() |
|
You did. Read all of the first page, they tell you where to find the first exercise. > The exercise for this section is located in exercises/01_intro/00_welcome |
![]() |
|
Does anyone have good examples how to write a service that does a lot of data fetching? E.g. analytics events?
|
![]() |
|
https://exercism.io/tracks/c Exercism.io is not just limited to one language it has a track for most popular languages. I've used it a couple of times and can definitely recommend it. You get to compare your solution with other (top-rated) solutions and you also get mentorship at times (depending on availability I guess). |
![]() |
|
Exercises of this type are known as Koans, if I'm not mistaken. Look for " I have to say, this seems like a far more robust set of Koans than I've seen elsewhere! |
![]() |
|
Being the first language to contest C++ in places like the kernal is a pretty big deal, no? It helps that the borrow checker is a new idea around being safe without gc.
|
![]() |
|
This looks like a great resource! https://rust-exercises.com/03_ticket_v1/07_setters This shows why I wouldn't use Rust for anything. Seems like a lot of verbosity for gains that don't really apply whatsoever for the kind of work I do (web apps and APIs). You have to remember let/mut fine, but then ownership/borrowing, and finally this `into()` thing - yuck! Like washing your face with sandpaper. |
![]() |
|
Given your interest in C++/CLI, I wanted to give some clarification in regards to its relationship with .NET platform as a whole. Indeed, there have been historical influences from Midori, C++/CLI, CoreRT[0], .NET Native/UWP and work done that got merged into earlier releases of .NET Core (up until 3.1), in particular, Span However, pretty much all work done since Core 3.1 is independent, rather than "migrating of features from". The last and only exception would be NativeAOT which still uses project RedHawk name in some places in the code that haven't been renamed, referring to Midori and .NET Native (because NativeAOT has started with a big chunk of the codebase from the latter). But NativeAOT aside, pretty much all .NET features are exposed through IL and surrounding metadata, making it possible for any language to target these (rather than being related to C++/CLI), even if initially designed with C# in mind. As far as I'm aware, C++/CLI itself uses MSVC to compile C++ code and then just generates bindings and glue code with other .NET assemblies, embedding itself into final .NET assembly produced that would use it. It did not target CIL with C++, like that new project for targeting CLR with Rust does, but rather CTS which is a quite old concept at this point. It is also limited to Windows only[1]. So the more accurate comparison would be between projects that produce .NET assemblies containing IL and projects that produce LLVM bitcode files containing LLVM-IR. [0] https://devblogs.microsoft.com/dotnet/performance-improvemen... search for CoreRT and this is pretty much the only reference you can find in terms of work migrated from earlier projects [1] https://learn.microsoft.com/en-us/dotnet/core/porting/cpp-cl... |
![]() |
|
> To verify your solutions, we've provided a tool that will guide you through the course. It is the wr CLI (short for "workshop runner"). Install it with: > cargo install --locked workshop-runner I have no idea what this program / package manager is so I was going to throw my hands up and say great another mac-only tutorial, but apparently this is a package manager for rust, and also apparently it comes pre-installed on manjaro lol edit: I'm confused, on the home page I clicked "next" which takes me to this exercise: https://rust-exercises.com/01_intro/01_syntax but on that ostensibly "first" exercise they write: > The previous task doesn't even qualify as an exercise, but it already exposed you to quite a bit of Rust syntax. Let's review the key bits! And keep referring to some prior exercise, that I can't find anywhere. Is there an "exercise 0" hiding somewhere? |
![]() |
|
> And keep referring to some prior exercise, that I can't find anywhere. Is there an "exercise 0" hiding somewhere? It's not hiding, they link to it. >> You can find the exercises in the companion GitHub repository. https://github.com/mainmatter/100-exercises-to-learn-rust And then they tell you to complete the exercises for each section before continuing and tell you exactly where the first exercise is: > The exercise for this section is located in exercises/01_intro/00_welcome Read the section titled "Structure" for all of this information. |
[0] https://github.com/rust-lang/rustlings