《Smalltalk编程:从对象到消息的全面解析》
1. 人力与机器解决问题对比
在解决特定问题时,人力和机器有着不同的方式。人类需要确定解决问题的方法,这可以通过分析问题、思考得出,也可以通过查阅相关资料或回忆之前的解决方案来获取。但无论如何,人类至少要发现一次解决问题的方法。当方法熟悉后,就可以将其应用到具体问题中。
而机器则无需操心方法,程序会以特定的形式为机器提供方法。一旦机器拥有程序,就能将方法应用到给定的值上解决问题,也就是执行程序。
从经济层面看,如果购买和维护机器的成本低于它所替代的劳动力成本,那么使用机器是划算的。特别是在以下情况中,使用机器的优势明显:
- 问题解决方案需要重复执行,如 payroll accounting(薪资核算)。
- 问题需要大量计算,如 construction statics(建筑静力学)。
此外,机器在解决问题方面不断开拓新领域,原因如下:
- 机器速度快且安全,能够解决如太空旅行(登月)、军事工程和天气预报等问题。
- 现代计算机等机器具有普遍适用性,原则上可以解决任何能用机械方式解决的问题,这种能力被称为可编程性,SmaViM 也具备此能力。
2. 寻找算法的难题与方法
寻找解决问题的正确方法并将其转化为无错误的程序并非易事。计算机科学至今尚未开发出能保证程序无错误的方法。软件并不总是能满足需求或正常运行,例如军事上曾因软件错误导致火箭发射后不久爆炸。因此,在使用计算机时,尤其是在人类安全依赖计算机控制系统正常运行的情况下,必须谨慎。
在开发算法时,一种有用的方法是逐步细化(step - by - ste
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



