The C language is unique among modern languages. It does not have any garbage collection and expects users to take care of memory management. It does not come with any predefined data structures. It does not have many of the other things which are standard with other languages like Python and Java, like object-oriented support.
However somehow it is still very much in use today in many places. It’s designers at Bell Labs had evidently chosen it’s structure and design well. The main places where we see C language in use these days is wherever the GNU or Linux kernel is used and wherever there are embedded systems. Wherever there are systems which have memory and processor constraints along with real time processing requirements, it seems good old C is the best approach to take. It is said that “C is one step above assembly”, which makes it ideal for such applications.
In the coming decades, it seems that everything around us is destined to be embedded, with some computer system which can help with system guidance and/or information. There is also the prospect of machine learning systems being fed by these embedded systems. In all these cases, the embedded components would likely be written in C.