Why C is not Object Orientef.
When Ritchie wrote C, he was not trying to create a language that was well-suited to creating programs that could use objects to describe real-world problem domains. He was trying to create a higher-level language than assembly which could still have very fine-grained control of the system's hardware.
Object-oriented languages are handy for creating applications that involve discrete entities which send messages to one another to get work done. C is good at efficient memory usage (if you know what you are doing) and direct communication with physical hardware, like disk drives and network ports.
You could just as easily ask, "Why wasn't the Ford Mustang a hovercraft?" When the Mustang was first produced, hovercraft technology had already been figured out. The Mustang could have been a hovercraft - but the hovercraft solved problems (travel over variable terrain & amphibious travel) that Ford wasn't trying to address.
Object-oriented languages are handy for creating applications that involve discrete entities which send messages to one another to get work done. C is good at efficient memory usage (if you know what you are doing) and direct communication with physical hardware, like disk drives and network ports.
You could just as easily ask, "Why wasn't the Ford Mustang a hovercraft?" When the Mustang was first produced, hovercraft technology had already been figured out. The Mustang could have been a hovercraft - but the hovercraft solved problems (travel over variable terrain & amphibious travel) that Ford wasn't trying to address.