As someone fairly new to systems programming, I can still see why you'd want to pick a language like Rust over C. But can someone explain to me the difference between Rust and Erlang? They are both system languages, no? Erlang is much more established. But what are the key differences? And I'd ask, "which should I learn?", but that is generally not a great question...
I'm not super familiar with Erlang, so I may get some things wrong, but heres a few differences:
Erlang prefers GC, wheras Rust tends to eschew it (it's available in a library).
Erlang is dynamically typed where rust is statically typed.
Erlang is single-assignment where rust uses a somewhat more nuanced lifetime system (though that is still changing).
Erlang prefers communication over channels, while rust has immutable types that are safe to share.