C is a nice language but performance is the least of the concerns for most development and prioritizing it above, for instance, readability is one of the biggest error you can make as a developper.
C is not very strong at being readable. For instance as you said a char* can be anything in any format from binary media stream to text in random encoding. Also char* does not have the same meaning across various architecture. So good luck to be sure of what is happening.
So I think it’s good to let C where it’s good at, low level softwares with performance as first requirement (forget about safety though) and with very senior people as developper.
C is a nice language but performance is the least of the concerns for most development and prioritizing it above, for instance, readability is one of the biggest error you can make as a developper. C is not very strong at being readable. For instance as you said a
char*
can be anything in any format from binary media stream to text in random encoding. Also char* does not have the same meaning across various architecture. So good luck to be sure of what is happening. So I think it’s good to let C where it’s good at, low level softwares with performance as first requirement (forget about safety though) and with very senior people as developper.