任何人都可以提供一些优点和缺点;静态类型检查和动态类型检查?
答案 0 :(得分:4)
这个问题在SO上被点击了几次:
What is the difference between statically typed and dynamically typed languages?
Dynamic type languages versus static type languages
Are dynamic languages slower than static languages?
Dynamically compiled language vs statically compiled language
答案 1 :(得分:3)
静态类型具有以下主要好处:
它允许静态(不运行程序)快速,可靠和自动地检测到许多编程错误。这有助于减少错误数量并减少调试所花费的时间。 类型声明用作自动检查的文档。它们使程序更易于理解和维护。 静态类型可以提高运行时效率。 (请注意,Alore运行时当前不能利用类型声明,但将来可能会发生变化。) 动态类型有一组不同的互补优势:
动态类型在概念上比静态类型更简单易懂,尤其是在使用强大的容器类型(如Alore数组,元组和映射)时。这种效果对非专业程序员来说很明显。 动态类型更灵活。静态类型系统总是限制可以方便表达的内容。使用静态类型系统进行编程通常需要更多的设计和实现工作。 动态类型导致更紧凑的程序,因为它更灵活,不需要拼写类型。 对于大型和复杂的程序,静态类型的好处更为明显。例如,在编写短脚本和原型时,它几乎没有动态类型的好处。在这些情况下,它主要会减慢程序员的速度,最好是动态类型。