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.