Submitted by twovests in programming
I first heard of Rust in 2016 on an internship from an Ada guru. (Ada was a DoD-sponsored language meant to be safer than C. Someone once foretold of a future where Ada and Smalltalk were the only languages.) That person forecasted Rust being a short-lived fad like Ada.
I wrote my first Rust program that summer internship: A hello world. Luckily, this gives me the right to say I now have seven years of Rust experience.
I then went on to do a lot of Python, JavaScript, etc. NPM and PIP became my personal hells, and Cargo later became my personal heaven.
In 2019, I did a homework assignment in Rust just for the hell of it. This was when I first started to really fall in love with Rust, but boy howdy, I had a lot of weird issues around borrowing and types and lifetimes.
About a year ago, in 2022, I started using Rust in earnest. Every little half-baked project, I understood Rust a bit better. Everything fit together a little bit better. The Result
and Option
of it all, the impl From<T> for U
wackiness. The way tests are put right alongside the code you write.
The thing I loved the most was its expression-oriented nature. I had some functional programming background, and "everything is an expression" feels like an empowering middle ground with everything I love from both FP and the imperative/OoP/etc world I'm more familiar with.
It's 2023 now and I'm at the point where I can seriously use Rust to make whatever I want. I know how to structure projects, I know what's idiomatic, I know how to use Result
and Option
properly, and I know what all these ::From(...)
and <brackets>
and ->
and =>
and ==>
mean.
I've only been using Rust off-and-on for the past year and I easily have <10000 lines total written in it. Probably closer to 2000.
But now that everything is clicking, I feel crazy powerful. I feel like I can write anything. I feel like some kind of cyberwizard with every new arcane glowing glyph I inscribe on this glass pane. #[cfg(test)] mod just_post_posting_bot{ use super::*; #[test] fn test_i_can_post() { assert!(posting_is_good());}}