Reading 1: Static Checking > Static Typing
原文地址: https://courses.edx.org/courses/course-v1:MITx+6.005.1x+3T2016/courseware/Readings_Videos/01-Static-Checking/
静态类型
因此,Java和Python最大的区别在于其变量n前有类型声明说它的类型是int.
Java是一门静态类型的编程语言.所有变量的类型在编译时(程序运行前)都必须明确,而且编译器因此可以推测出所有表达式的类型.如何a和b都是int类型,编译器可以推测出a+b也是int类型.Eclipse环境在你写代码时就这么做了,实际上,你在敲字时就能发现许多错误.
在动态类型的语言例如Python中,这类检查将推迟到运行时(runtime).
静态类型是静态检测中非常流行的一种,这意味着在编译时就检测bug.Bug是程序的祸害.本课程的许多主意就是目标消灭你代码中的bug,而静态检测就是我们提出的第一个主意.静态检测可以防止很大一类的bug感染你的程序,更准确地说,防止那些运用了错误类型输入参数的函数.如果你写了下面这种代码: "5" + "6".这段代码试图将两个字符串相加,接下来静态检测将会在你码字查到这个错误,而不是等到这一行代码正在被执行时.