所以尽管我
当时对于 Ada 一无所知, 我还是回答"好的". 我跟 Dave Musser 一起建立这个
Ada 库. 这是很重
要 的 一 个 时 期 , 从 象 Scheme 那 样 的 动 态 类 型 语 言 (dynamically typed
language)转向 Ada 这
样的强类型语言, 使我认识到了强类型的重要性. 谁都知道强类型有助于纠错.
我则发现在
Ada 的通用编程中, 强类型是获取设计思想的有力工具. 它不仅是查错工具, 而
且是思想工具.
这项工作给了我对于组件空间进行正交分解的观念. 我认识到, 软件组件各自属
于不同的类别.
OOP 的狂热支持者认为一切都是对象. 但我在 Ada 通用库的工作中认识到, 这
是不对的. 二分查找
就不是个对象, 它是个算法. 此外, 我还认识到, 通过将组件空间分解到几个不同
的方向上, 我
们可以减少组件的数量, 更重要的是, 我们可以提供一个设计产品的概念框架.
随后, 我在贝尔实验室 C++组中得到一份工作, 专事库研究. 他们问我能不能用
C++做类似的事.
我那时还不懂 C++, 但当然, 我说我行. 可结果我不行, 因为 1987 年时, C++中还
没有模板, 这玩
艺在通用编程中是个必需品. 结果只好用继承来获取通用性, 那显然不理想.
评论0
最新资源