学习大量的词汇—— 对软件重用的一个可预见,但还没有被预言的问题
思索的层次越高,所需要处理的基本思考要素也就越多。因此,编程语言比机器语言更加复杂,而自然语言的复杂程度更高。高级语言有更广泛的词汇量,更复杂的语法以及更加丰富的语义。
作为一个科目,我们并没有就程序重用的实际情况,仔细考虑它蕴涵的意义。为了提高质量和生产率,我们需要通过经过调试的大型要素来构建系统。在编程语言中,这些函数的级别远远高于语句。所以,无论采用对象类库还是程序库的方式,我们必须面对编程词汇规模彻底扩大的事实。对于重用,词汇学习并不是思维障碍中的一小部分。
现在人们拥有成员超过3 000个的类库。很多对象需要10~20个参数和可选变量的说明。如果想获得所有潜在的重用,任何使用类库编程的人员必须学习其成员的语法(外部接口)和语义(详细的功能行为)。
这项工作并不是没有希望的。一般人日常使用的词汇超过了10 000个,受过教育的人远多于这个数目。另外,我们在自然而然地学习着语法和非常微妙的语义。我们可以正确地区分巨大、大、辽阔、大量和庞大。人们不会说:庞大的沙漠或者辽阔的大象。
对软件重用问题,我们需要研究适当的学问,了解人们如何拥有语言。一些经验教训是显而易见的:
● 人们在上下文中学习,因此我们需要出版一些复合产品的例子,而不仅仅是零部件的库;
● 人们只会记忆背诵单词而语法和语义是在上下文中通过使用逐渐地学习的;
● 人们根据语义的分类对词汇组合规则进行分组,而不是通过比较对象子集。
图书导读







