重复性管理--从泛值到泛型以及泛函(下)--总结

泛型和泛函, 以及一般化(泛化)过程的总结, 还通过一个数学层面的例子进行了对比.

在前面我们谈论了重复性管理上的一些具体做法, 重点探讨了 泛型范式 在解决重复性问题上的应用. 因为前面的篇幅有很多被具体的代码例子占据了, 所以留到现在这篇做一个归纳总结.

与数学的渊源

应该说, 编程与数学还是颇有渊源的, 或者说它们之间有很多相通的地方. 数学的一个突出特点, 那就是数学家总是在不断寻求更加一般化的表述, 更为抽象的表达. 我们来看一个具体的例子.

数学上有所谓的勾股数, 最知名的就是我们所熟知的"勾三股四玄五"了. 具体而言就是 3^2 + 4^2 = 5^2.

注: 3^2 表示 3 的 2 次方(平方), 因为上标较为麻烦, 其余类似.

继续阅读

重复性管理--从泛值到泛型以及泛函(上)--泛型是什么及为什么

为什么用泛型以及它到底解决了什么问题? 文中用大量例子介绍了重复性管理的一些具体做法, 重点分析了泛型范式在解决重复性问题上的应用.

在之前, 我们谈论了 计算机科学是什么, 我们知道了计算机科学重点在于复杂性的管理, 然后在 复杂性管理与重复性管理 里我们又谈到了复杂性一个重要来源, 也就是重复性. 软件开发的一个重要主题就是要管理重复性, 或者简单说, 减少重复.

你也许听过所谓的 DRY 原则: Don’t Repeat Yourself. 别重复(你自己)!

之前的一些都是侧重于理论方面, 现在来看一些具体地例子.

继续阅读