Язык C с нами уже 50 лет и никуда, в обозримом будущем, от нас не денется. Как так получилось, что железо меняется, а он нет? Почему нам не обойтись без языка близкого к железу, но не ассемблера? Ну и почему надо страдать с ручным управлением памятью, если есть сборщики мусора? Собственно, на эти вечные вопросы ищут ответы по ссылке.
https://engineer.yadro.com/publications/sistemnoe-programmirovanie-na-c