Goodbye, Rust. I wish you success but I'm back to C++ (sorry, it is a rant)
Rust Adoption and Job Market
- Many commenters see Rust as still young; adoption is slow but not a death knell. Comparisons are made to how long C++ standards took to spread.
- Rust jobs are perceived as fewer and more niche than C++: often crypto, trading, specialized infra, or defense. This deters some who want broader or less specialized work.
- Others report growing Rust usage at large vendors (cloud providers, OS vendors) and say substantial Rust is being written even if not visible in public job ads.
- Some view Rust as a strong “talent magnet” for high-caliber developers; others are content to be “COBOL/C++ people” long term.
Rust vs C++: Safety, Productivity, Refactoring
- Broad agreement that Rust delivers stronger memory safety than C/C++ and is attractive where reliability and security matter.
- Dispute over productivity: some find Rust slow for initial prototyping and large refactors; others say the compiler and type system make big changes easier and safer than in C++, Go, or dynamic languages.
- Several argue C++ is still preferred where iteration speed and “getting it done” trump safety, especially in games and some systems areas.
Ease of Use, Syntax, and Learning Curve
- Some dislike Rust syntax (lifetimes, turbofish, annotations) and crates culture; others find it clean and well designed.
- Complaints that Rust’s “surface area” (language + ecosystem) makes it hard to pick up again after a pause.
- Counterpoint: for developers already close to hardware and manual memory management, the borrow checker becomes intuitive and a net productivity gain.
Use Cases and Alternative “Safe” Languages
- Rust is seen as a strong C++ alternative for OS kernels, browsers, firmware, high‑performance backends, and network services.
- Ada/SPARK is cited as more mature for high‑integrity systems, but hampered by hiring and ecosystem; Rust is winning mindshare despite being newer.
- Go is praised for simplicity and fast iteration in web/backend work but viewed as less suitable for low‑level or high‑load systems due to GC.
- Swift, D, Carbon, Odin, Zig, V, etc. are mentioned as other attempts at “better C++,” with varying trade‑offs.
Popularity, Legacy Code, and Policy Pressure
- Debate over whether “superior tech” must win: legacy C/C++ codebases, ecosystems, and developer supply strongly favor incumbents.
- Some expect gradual replacement of unsafe code as CVEs and government pushes for memory-safe languages accumulate; others think massive rewrites are too risky and expensive.
- Popularity is criticized as an overly dominant criterion, but many accept it as decisive for career choices.
Tooling, Ecosystem, and Binary Size
- Rust tooling (cargo, rust‑analyzer, diagnostics, linting) is widely praised and contrasted with C++’s fragmented toolchains.
- Ecosystem breadth is seen as both a strength and a cognitive burden; choosing among many crates and keeping up is nontrivial.
- Embedded/firmware developers complain about Rust’s relatively large standard library footprint and statically linked binaries; some work around this (busybox‑style binaries), but see it as a real disadvantage versus C/C++.