Rust didn’t just teach me a new language; it taught me to think differently.
Ownership, safety, simplicity... and some hard compiler love.
Final reflections here:
woodruff.dev/final-reflec...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust didn’t just teach me a new language; it taught me to think differently.
Ownership, safety, simplicity... and some hard compiler love.
Final reflections here:
woodruff.dev/final-reflec...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
I finally ran the performance tests.
Rust starts faster, uses less memory, and feels... sharp.
It doesn’t just run. It flies.
Here’s what I found:
woodruff.dev/performance-...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
I finally ran the performance tests.
Rust starts faster, uses less memory, and feels... sharp.
It doesn’t just run. It flies.
Here’s what I found:
woodruff.dev/performance-...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Packaging and releasing a CLI tool with Cargo is way easier than I expected.
One config file. One command. Done.
Here’s how it works:
woodruff.dev/packaging-an...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Packaging and releasing a CLI tool with Cargo is way easier than I expected.
One config file. One command. Done.
Here’s how it works:
woodruff.dev/packaging-an...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Writing tests in Rust is simple, fast, and built right in.
No frameworks, no fluff, just #[test] and cargo test.
Here’s how it compares to .NET:
woodruff.dev/writing-test...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Writing tests in Rust is simple, fast, and built right in.
No frameworks, no fluff, just #[test] and cargo test.
Here’s how it compares to .NET:
woodruff.dev/writing-test...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Parsing CLI arguments with clap is clean, fast, and surprisingly fun.
Add a little match, sprinkle in some ?, and boom, real logic.
Here’s what I built:
woodruff.dev/parsing-argu...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Parsing CLI arguments with clap is clean, fast, and surprisingly fun.
Add a little match, sprinkle in some ?, and boom, real logic.
Here’s what I built:
woodruff.dev/parsing-argu...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
I built my first CLI app in Rust!
Used clap, wrangled modules, and finally saw it all click together.
It was fast, clean, and honestly? Kinda fun.
Here’s the story:
woodruff.dev/building-a-c...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
I built my first CLI app in Rust!
Used clap, wrangled modules, and finally saw it all click together.
It was fast, clean, and honestly? Kinda fun.
Here’s the story:
woodruff.dev/building-a-c...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Traits blew my mind. Lifetimes melted it.
It was powerful, painful, and pretty awesome once it all started to click.
Here’s the recap:
woodruff.dev/week-5-refle...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Traits blew my mind. Lifetimes melted it.
It was powerful, painful, and pretty awesome once it all started to click.
Here’s the recap:
woodruff.dev/week-5-refle...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
If you love LINQ, Rust’s iterators and combinators will feel like home, with a twist.
Lazy, composable, and shockingly fast.
Here’s what makes them click:
woodruff.dev/iterators-an...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
If you love LINQ, Rust’s iterators and combinators will feel like home, with a twist.
Lazy, composable, and shockingly fast.
Here’s what makes them click:
woodruff.dev/iterators-an...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Closures in Rust feel like lambdas until the borrow checker gets involved.
Fn, FnMut, FnOnce... it’s functional programming with personality.
Here’s what I learned:
woodruff.dev/closures-in-...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Closures in Rust feel like lambdas until the borrow checker gets involved.
Fn, FnMut, FnOnce... it’s functional programming with personality.
Here’s what I learned:
woodruff.dev/closures-in-...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust generics feel like C# generics with more power and more punctuation.
Trait bounds, zero-cost abstraction, and compile-time safety? Yes, please.
Here’s how they compare:
woodruff.dev/generics-in-...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust generics feel like C# generics with more power and more punctuation.
Trait bounds, zero-cost abstraction, and compile-time safety? Yes, please.
Here’s how they compare:
woodruff.dev/generics-in-...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust doesn’t do virtual, but it does have dyn.
Trait objects give you polymorphism without the inheritance party.
Here’s how it works:
woodruff.dev/trait-object...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust doesn’t do virtual, but it does have dyn.
Trait objects give you polymorphism without the inheritance party.
Here’s how it works:
woodruff.dev/trait-object...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Traits are like interfaces—but with superpowers.
Default methods are behavior-focused and way more flexible.
Here’s why I’m loving them:
woodruff.dev/traits-in-ru...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Traits are like interfaces—but with superpowers.
Default methods are behavior-focused and way more flexible.
Here’s why I’m loving them:
woodruff.dev/traits-in-ru...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
This one was all about structure and errors:
Custom errors, the ? operator, panic!, modules, and real logging.
Less chaos, more clarity.
Here’s the recap:
woodruff.dev/week-4-refle...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
This one was all about structure and errors:
Custom errors, the ? operator, panic!, modules, and real logging.
Less chaos, more clarity.
Here’s the recap:
woodruff.dev/week-4-refle...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
The ? operator is the cleanest error-handling tool I didn’t know I needed.
It says “bubble this up” without all the boilerplate.
Here’s why I love it:
woodruff.dev/error-propag...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
The ? operator is the cleanest error-handling tool I didn’t know I needed.
It says “bubble this up” without all the boilerplate.
Here’s why I love it:
woodruff.dev/error-propag...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
NuGet, meet Cargo.
Rust’s package manager handles builds, tests, docs, and deps from one CLI.
It’s like NuGet, but with less XML and more joy.
Check it out:
woodruff.dev/crates-and-d...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
NuGet, meet Cargo.
Rust’s package manager handles builds, tests, docs, and deps from one CLI.
It’s like NuGet, but with less XML and more joy.
Check it out:
woodruff.dev/crates-and-d...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
C# has namespaces. Rust has modules.
One feels automatic, the other makes you think. A lot.
Here’s how organizing code in Rust compares and why it eventually clicks:
woodruff.dev/organizing-c...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
C# has namespaces. Rust has modules.
One feels automatic, the other makes you think. A lot.
Here’s how organizing code in Rust compares and why it eventually clicks:
woodruff.dev/organizing-c...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust doesn’t throw exceptions—it returns them.
Result
Here’s why that’s a good thing:
woodruff.dev/result-a-bet...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust doesn’t throw exceptions—it returns them.
Result
Here’s why that’s a good thing:
woodruff.dev/result-a-bet...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust doesn’t do nulls.
Instead, you get Option
It’s like null handling, but without the fear.
Here’s how it works:
woodruff.dev/optiont-wher...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust doesn’t do nulls.
Instead, you get Option
It’s like null handling, but without the fear.
Here’s how it works:
woodruff.dev/optiont-wher...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Destructuring in Rust feels like unlocking a secret power.
Pull apart structs, tuples, and enums cleanly—no mess, no fuss.
Here’s why it’s my new favorite move:
woodruff.dev/destructurin...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Destructuring in Rust feels like unlocking a secret power.
Pull apart structs, tuples, and enums cleanly—no mess, no fuss.
Here’s why it’s my new favorite move:
woodruff.dev/destructurin...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust’s match is what I always wanted switch to be.
No fallthrough, no missing cases, just clean, safe pattern matching that works.
Here’s why it feels like switch on steroids:
woodruff.dev/match-switch...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Rust’s match is what I always wanted switch to be.
No fallthrough, no missing cases, just clean, safe pattern matching that works.
Here’s why it feels like switch on steroids:
woodruff.dev/match-switch...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Enums in Rust aren’t your basic list of values. They’re powerful, data-carrying, pattern-matching champs.
Discriminated unions done right.
Here’s why I’m impressed:
woodruff.dev/enums-discri...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Enums in Rust aren’t your basic list of values. They’re powerful, data-carrying, pattern-matching champs.
Discriminated unions done right.
Here’s why I’m impressed:
woodruff.dev/enums-discri...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
No classes. No inheritance. No constructors.
Rust structs keep it simple and make you rethink how much you really need.
Here’s why less is more:
woodruff.dev/rust-structs...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
No classes. No inheritance. No constructors.
Rust structs keep it simple and make you rethink how much you really need.
Here’s why less is more:
woodruff.dev/rust-structs...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Ownership, borrowing, move semantics, the stuff that makes your head spin, but your code safer.
My brain hurts (in a good way). Here’s what I learned:
woodruff.dev/week-2-refle...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Ownership, borrowing, move semantics, the stuff that makes your head spin, but your code safer.
My brain hurts (in a good way). Here’s what I learned:
woodruff.dev/week-2-refle...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Shadowing allows you to redeclare a variable with the same name intentionally.
No hacks. No temp2 or tempFinal. Just clean, intentional redeclaration.
Here’s how it works:
woodruff.dev/shadowing-in...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
Shadowing allows you to redeclare a variable with the same name intentionally.
No hacks. No temp2 or tempFinal. Just clean, intentional redeclaration.
Here’s how it works:
woodruff.dev/shadowing-in...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
No StringBuilder. No problem.
Rust’s slices and strings make you rethink how to work with text, without all the copying and overhead.
Here’s what I learned:
woodruff.dev/slices-and-s...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs
No StringBuilder. No problem.
Rust’s slices and strings make you rethink how to work with text, without all the copying and overhead.
Here’s what I learned:
woodruff.dev/slices-and-s...
#RustLang #CSharp #DotNet #LearnRust #RustForCSharpDevs