为什么Covariance和Contravariance这样命名?

ziz*_*raj 6 c# statistics conceptual

我想知道为什么Covariance和Contravariance这两个术语在编程领域被命名.通常在概率论或统计学中听到这些术语,表明相对于均值测量的量的扩散.

  • 从统计学中借用这些术语的想法是什么?
  • 这些术语如何描述编程领域的这种传播?
  • 编程领域的意思是什么?

我知道Covariance能够将更具体类型的表达式分配给不太具体的类型的变量,但是,还有另一种解释吗?
与这两个领域相关的示例将是有帮助的.

小智 2

我不是数学家,所以我不会尝试自己回答这个问题,但您可以在Tomas Petricek 的博客上找到对您的问题的精彩解释。

他在那里详细解释了编程中的协变和逆变如何与纯数学范畴论相关。