Is Rust the Future of Software?
Humanity needs the future of software to have the following two properties:
-
Security
-
Simplicity
Rust makes software much more secure, and significantly less simple.
Security
Security-wise, replacing all the world’s C and C++ with Rust is A Big Deal, especially with AI-powered superhackers on the horizon. This fundamentally makes Rust a net positive for the world.
Simplicity
Software simplicity matters a lot because the world runs on software, the future cannot realistically be good for humans without our world (and thus our software) being human-comprehensible, and complex software makes our world much more difficult to comprehend (and thus to effectively repair or replace).
Simplicity-wise, the good news is that Rust will largely replace C++, which is already complex, so Rust’s complexity isn’t hurting us in those cases.
The bad news is that Rust will also replace some C and Go code, which will add complexity to the world.
More broadly, Rust’s complexity makes Rust harder to learn, which is an unnecessary burden placed on those learning it.
If in 2050, programmers are sitting around waiting for their Rust code to compile just to be told that we failed to sacrifice enough to appease the borrow-checker gods, well… let’s just say that’s not exactly the bright, exciting, near-utopian future we all want.
Summary
Rust helps us to secure our future while making our world harder to comprehend. Humans should never write C or C++ code ever again; it’s just too dangerous. In these embedded and ultra-high-performance situations, please use Rust instead!
Overall, I look forward to a future where every operating system, web browser, and WebAssembly runtime is written in (hopefully a simpler variant of) Rust, Vale, or Cone, and where the rest of us can program in some variant of V, Go, or Janet, then compile our software to WebAssembly – a technology which I am quite confident is the future of software.