2023-05-04

Stop Comparing Rust to C and C-with-classes!

Quick rant. Stop comparing Rust to C!

I saw too much comparsion on the internet about why C is unsafe and Rust is safe. True. But they are NOT even the same class of language. C is minimal. The compiler is easiy to write. And nicknamed "portible assembler" for how low level it is. Rust on the other hand is a big, compilicated language with many features. And a massive standard library. It's not even close. Here's a short list of features Rust have but C does not.

  • Generics
  • Traits
  • Pattern matching
  • Containers
  • Reference counting
  • Object oriented programming
  • First class functions
  • Multithreading primitives
  • Slice
  • Resizible string

C++ is a much fairer comparsion. However, it is not C-with-classes, not in the past decade. It supports most Rust does support. With the noticible exception of the borrow checker, context free grammar and a built-in build system. Also, no one is using raw pointers in C++ anymore. Complaining about how that's unsafe if just outdated. No one writes this in 2023

Label* label = new Label();
label->setText("Hello World");

Instead we do this

auto label = std::make_unique<Label>();
label->setText("Hello World");

Please stop. Make arguments that are actually valid.