C is a pretty good portable assembly language. As such, programming in it is a useful skill to have, both for understanding what’s really going on on the hardware, and if you happen to be writing a compiler for a higher-level language and want to avoid writing your own backend for every computer architecture out there.
For normal software applications, though, choose a language with at least automatic memory management. I like the functional languages, e.g. Haskell, Elm, Elixir/Erlang.