Although type theory originated (e.g. already discussed by Russell in 1910s) much earlier than programming languages, I have this feeling that languages such as C considered type-checking from a very engineering-oriented approach. For example, it may have more to do with CPU/bus width than the correctness of reasoning in a program.
Is my guess true? What are the considerations for data types in C, Pascal, ALGOL 68, etc? Any early design documents?