I have a love hate relationship with C. I love the simplicity of the language. Although it is simpler, it is certainly possible to emulate many features found in other languages like the encapsulation, though rarely perfectly, and not every feature.
I also like C because I am dealing with code at a lower level leads me to having a much better understanding of what is happening under the hood. However, this lower level access allows you to accidentally write bad code that could introduce a vulnerability
Same. It's not a perfect language, far from such. It is simple but not easy. I too believe it helps with understanding exactly what the code is doing via being lower level.
Shooting yourself in the foot is a great way to learn discipline. It is how I learned to be careful of what I am writing. However, I think in most cases a memory safe language could be better.
JavaScript is much much higher level than C, but there are vulnerability announcements in npm all the time. C does, however, let you implement more kinds of vulnerabilities associated with memory handling.