Rust is just a tool
Tech Tribalism & “Rust Evangelism”
- Several commenters note that tools often become identity markers, leading to religion‑like behavior, hiring filters, and long‑term obsolescence anxiety.
- The supposed “Rust Evangelism Strike Force” is debated: some see constant hype and dogmatism; others say actual zealots are rare and that anti‑Rust complaints vastly outnumber evangelistic comments.
- Comparisons are drawn to past waves (Java, Go, iPhone, Linux), where genuine enthusiasm was misread as fanboyism.
- Some observe equally dogmatic factions in C/C++ communities, especially around minimizing memory‑safety concerns.
Memory Safety, Type Systems, and Limits
- Rust’s memory safety is praised as a major advance but not unique; earlier safe languages (Ada, ML, GC’ed languages) are repeatedly mentioned.
- Disagreement over “most errors are not type errors”: some argue strong typing can turn most bugs into type errors; others say empirical evidence is mixed, and many real defects are logic or domain issues.
- Cloudflare’s Rust outage is cited to show safety is not a panacea; replies note that linters and stricter error handling could have prevented it.
- Deep discussion of undefined behavior, bounds checks, use‑after‑free, arenas/batching, and alternatives like GC, CHERI, and Fil‑C; consensus that Rust reduces large bug classes but does not eliminate all memory or logic bugs.
Rust’s Strengths, Weaknesses, and Alternatives
- Strengths noted: strong type system, algebraic data types, traits, culture of “make illegal states unrepresentable,” good standard library, cargo unifying builds.
- Weaknesses: steep learning curve, slow compilation, verbose boilerplate vs C, rough UI story, dependency/supply‑chain concerns, heavy IDE/LSP resource use, and an “ugly” or joyless feel for some.
- Many emphasize Rust is “just a tool”: excellent for systems and safety‑critical work, but Go/Java/Swift/etc. may be better in other domains (e.g., UIs, GC’d server code, simpler teams).
- Some argue Rust is a carefully curated integration of known PL ideas, not fundamentally novel; others say the overall package is new in practice.
Community Culture and Discourse
- Experiences diverge: some report toxic, self‑righteous reactions to criticism (up to doxxing); others find the Rust community overwhelmingly polite and see more uninformed Rust‑bashing than evangelism.
- The technical meaning of “safe” (statically proven absence of UB in safe code) is highlighted; confusion over this fuels emotional arguments.
- Several comments call for recognizing multiple viable approaches (RAII, arenas, GC, different languages) and for criticizing languages separately from the people who use them.
Language Choice, Future Tools, and LLMs
- Many stress there is no “One True Language”; Rust, C, Python, Java, etc. each triggered past “phase changes” and will eventually feel dated.
- Speculation that future languages or even Rust evolutions will better balance safety, ergonomics, compilation speed, and formal verification—possibly in tight integration with LLM‑based tooling.
- Some see Rust as particularly well‑suited to LLM‑generated code because compile‑time checking provides stronger immediate feedback than dynamic languages.