昨天有人问我为什么要有数据类型,我当时没有回答上来,后来思考了一下,应该是这样。
如果当年我设计C语言,去掉了数据类型,我会怎么设计呢?
1) 把C语言设计成脚本语言,不编译了,运行时遇到数据,得到数据的类型和长度时,才生成机器指令,好吧,如果这样设计,估计没人会用C语言了,肯定会很慢。
2)编译时,如果能确定数据类型的,就按照对应的数据类型来生成机器指令,如果不能确定数据类型,比如用户输入,库函数,就统一按照double类型来生成机器指令,好吧,如果这样设计,估计python之父就是我了,不过这样的C语言还是太慢。
总结一下如果没有数据类型,语言的效率就会太慢。