强弱类型、动静类型、GC 和 VM

王子亭 at 
强类型 Vs. 弱类型强和弱是一个相对的概念,强是指倾向于将未定义的行为视作错误(Java、Python),弱是指倾向于进行隐式的转换、忽略类型相关的错误(JavaScript)。很多设计得不够严谨的语言,虽然大多数情况下(或者我们通常鼓励大家这么做)是强类型的,但也有弱类型的部分(PHP)还有的语言因为提供的抽象能力很弱,我们不得不去用弱类型的部分(C)鸭子类型(duck typing)是强弱类型的一个折中(常见于动态类型中,例如 Python),兼顾了灵活性和严谨性。我们认为弱类型是为了方便,而强类型是为了尽早发现错误。动态类型 Vs. 静态类型静态类型的变量的类型是在编译时确定的(C++……