2014年11月17日
[知乎]Javascript 也能做C、Java 等能做的,但其缺陷主要有哪些?之前那问题没表达好
提问者的问题,并非“JS是否也可以写一个Linux?”,而是“C语言为何不改成弱类型语言?”所以,我认为@pansz 的回答,并不切题。
事实上,提问者的这个问题,本身就是错误的, 严格说来,C语言并非强类型的语言,而是静态类型、弱类型的语言。 这个世界上,存在弱类型的语言、强类型的语言,存在静态类型的语言、动态类型的语言。需要理解的是:各种不同的语言,各有其存在的价值。
这里有一篇维基百科,介绍编程语言的类型系统:
http://zh.wikipedia.org/wiki/%E9%A1%9E%E5%9E%8B%E7%B3%BB%E7%B5%B1
动 态类型、弱类型的语言,通常具有更加灵活,更加高效的特点,但是这样的特点,却是以牺牲安全性与运行性能为代价的。为了追求更高的运行效率,为了追求更高 的稳定可靠性,人们大多会选择强类型的语言。因此,操作系统这样的底层设施,不可能用动态类型的语言,来编写。(玩玩当然是可以的)