As a programmer, one has no choice most of the time on what language a program should have been written, in my career, I have mostly been modifying and adding code than writing new code from scratch. This mostly means C, for anything close to hardware, as electrical/electronics engineers are familiar with it. Another way of saying this is that, "I program in whatever language, my team is programming in".
Embedded systems also have size limitations and the problem of bootstrapping on new hardware. C has time and again proven to be easy.
If you examine a typical GNU/Linux distro, you see all kinds of programs written in C that ought to have been written in a type safe language because most of the time, C's features were not required for the program.
I wish more and more "new" programs are written in all kinds of languages (not just Rust, but in Python or Haskell or OCaml ..) other than C and that we restrict C to the things we really need it for.
Overall, knowledge of C is only going to help. Whether you want to use it to use it for your next project is something that depends on the problem at hand.
> Overall, knowledge of C is only going to help. Whether you want to use it to use it for your next project is something that depends on the problem at hand.
Of course! To be clear, I'm not arguing against learning C in general. I'm very happy that I learned C.
I'm arguing against the point made in the post that you should learn C over newer languages. And like I said, "shit my codebase is in C" (i.e. point #1 from the post) is a totally valid reason to learn C. The other points are not.
As a programmer, one has no choice most of the time on what language a program should have been written, in my career, I have mostly been modifying and adding code than writing new code from scratch. This mostly means C, for anything close to hardware, as electrical/electronics engineers are familiar with it. Another way of saying this is that, "I program in whatever language, my team is programming in".
Embedded systems also have size limitations and the problem of bootstrapping on new hardware. C has time and again proven to be easy.
If you examine a typical GNU/Linux distro, you see all kinds of programs written in C that ought to have been written in a type safe language because most of the time, C's features were not required for the program.
I wish more and more "new" programs are written in all kinds of languages (not just Rust, but in Python or Haskell or OCaml ..) other than C and that we restrict C to the things we really need it for.
Overall, knowledge of C is only going to help. Whether you want to use it to use it for your next project is something that depends on the problem at hand.