I have been programming in Rust for about 8 years now. I love the language. But I feel I have some confessions I must make.
-
I don’t know if I use tabs or spaces in my final code. I just assume that it all get solved correctly by cargo fmt. I don’t even understand that people have been arguing about this for real? I vaguely remember this being important in C and C++, but I am hoping I never go back to those dark days.
-
I never do linebreaks, not even when adding my semicolons. I hit “:w” and if shit doesn’t move around on my screen, I fucked up somewhere.
-
The only lifetime I ever use is '_, 'a or 'static otherwise I give up
-
Wtf is the 'de lifetime in serde deserialize??
-
Rocket is the best web server
-
I actively chose software written in Rust over other software, even if it’s not better, and I argue that it is.
Okay, got that of my chest. Never dared telling anyone this before. Feels scary
But seriously, I don’t have much Rust proficiency and I still pick software in Rust because 1. installing and updating rust itself and things installed with it is a bliss; and 2. the CLI experience of Rust programs tends to be much better than alternatives.
Contrasting that with installing something with Go, which is a common alternative for things written in Rust:
gvm list
works, but to list versions for download it’sgvm listall
instead ofgvm list --all
)Now for Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
cargo install cargo-update
to update everything else withcargo install-update -a
:D mostly, there are still a few nice tools written in go that is quite useful, I just hope they will be replaced by rust software soon. Following the iroh project quite closely, I’m guessing someone will rewrite syncthing using that or p2panda soon.
But yeah, the rust Cli tools are just godsent compared to everything else. Ripgrep, fd-files, helix are used daily by me. Started using smartcat recently but I feel dirty knowing that Ollama is actually Go software…