Skip Navigation

Confession

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.

  1. 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.
  2. 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.
  3. The only lifetime I ever use is '_, 'a or 'static otherwise I give up
  4. Wtf is the 'de lifetime in serde deserialize??
  5. Rocket is the best web server
  6. 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

You're viewing a single thread.

10 comments
    1. What are you talking about, it's always better.

    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:

    • First, I need Go. So if I chose to install it via another package manager - perhaps with the exception of pacman - I may end up with an out of date version that may cause issues when compiling newer code. I had this happen a few times.
    • If I chose to build it myself, first I need an older version of Go to compile a newer Go. Very fun.
    • If I chose to install it via their website, it's a manual .tar.gz download and extraction of an executable that doesn't self-update, so next time I not only have to repeat this, but I need to remember it.
    • Then there's the gvm project, which promises to resolve some of this friction, and it was my method of choice, but I'm not sure it's maintained anymore and I always have to look up their commands because of things like: gvm list works, but to list versions for download it's gvm listall instead of gvm list --all)

    Now for Rust:

    • curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
    • optional cargo install cargo-update to update everything else with cargo install-update -a
10 comments