我注意到Java、Python、Perl和Haskell/Clojure对静态函数有不同的处理方式。特别地,
1)静态函数在不同语言中的实现和使用方式有哪些不同之处。
2)这些语言中有些语言对静态方法和状态方法有“更完整”的分离和支持吗?
例如:
在clojure中,所有函数本质上都是静态的--允许极高的模块化可组合性,而不是与对象-以太中的任何东西相关联。闭包函数编程可以被java程序员描述为类似于静态函数。
同时,在传统的惯用Java中,常常存在一种混合的方法,其中面向对象的特性保持内部状态,依赖外部静态方法来进行特定的、通常是无状态的转换操作。
然后是脚本世界:我在Perl和Python中注意到,区分静态代码和有状态代码的概念没有那么强调(更新:如注释所示,这可能是由于多范式的性质)。
最后,我们有面向对象的PHP-5开发人员,他们在处理静态和有状态(对象作用域)函数时,似乎与java开发人员的代码类似。
对于来自不同背景的不同程序员对待静态功能的不同之处,任何其他见解都将有助于我与几个PHP/Perl开发人员一起审查代码。
https://stackoverflow.com/questions/8611211
复制相似问题