我发现了这个陈述,不确定他是否正确使用了这个词,但我之前已经看过它并且没有完全理解它。
静态类型语言和动态类型语言之间的主要区别在于是否在编译时或运行时检查操作。
关于CS,“操作”到底意味着什么?
我熟悉运算符,并且知道2 + 2
是“操作”数学,因为它使用运算符来计算值。
但是“操作”究竟与值,表达式和语句有什么关系?
是否有任何声明操作? print 'hello world'
是否正在运行任何值/表达式? 'hello world'
答案 0 :(得分:2)
通常,任何评估变量值的表达式都可以说是"操作"反对那个变量。所以基本上,任何使用变量。
如果你考虑动态语言的作用,那就有意义了 - 他们需要在运行时内省变量并确定其类型,当"运行"在变量上。静态类型语言不需要内省 - 在编译时,他们知道"类型。
我认为身份表达式(x
或"hello world"
)也有资格作为变量的评估,尽管没有明显的目的。它可能在运行时在非交互式环境中进行优化