给孩子的编程思维课-15为什么餐馆里的服务员不炒菜?
为什么餐馆里的服务员不炒菜呢?看到今天这一讲的题,你可能会觉得有点奇怪,这不废话吗?服务员要是会炒菜,那还要厨子干什么?不过听完这一讲就会发现服务员不炒菜也涉及一种特别厉害的编程思维,那就是模块化思维。
给孩子的编程思维课-15为什么餐馆里的服务员不炒菜?
为什么餐馆里的服务员不炒菜呢?看到今天这一讲的题,你可能会觉得有点奇怪,这不废话吗?服务员要是会炒菜,那还要厨子干什么?不过听完这一讲就会发现服务员不炒菜也涉及一种特别厉害的编程思维,那就是模块化思维。
为了帮助你理解这个模块化思维,我们还是要从一个老熟人讲起。他就是巴贝奇。咱们前头说过,巴奇想要制造一台差分机,就从英国Z府申请了很多很多钱。结果花了好多好多钱也没有制造出完整的器。当时我就说过,巴贝奇没有制造出差分机,是因为这台机器的精度要求太高,对当时的技术来说难实现了。不过这只是巴贝奇失败的一个重要原因。
其实他的失败还有另一个重要原因。实际上就在巴贝奇之后的大约100年,在加工精度没有本质提高情况下一个德国工程师就成功了。他的名字叫做楚泽。这个储则一没有Z府资金的支持,二没有其他学家的帮助,光是靠着自己的力量就造出了一台机械计算机。而楚则能成功的一个原因,就是因为使了模块化思维,这是怎么回事呢?我们从头讲起。1910年,楚泽出生在德国柏林的一个普通家庭。他小就特别喜欢制作一些稀奇古怪的小玩意儿,后来读大学就干脆选了土木工程专业。
25岁楚泽大学毕业了,来到了柏林飞机制造厂工作。你可能会想,小时候做小玩意儿,长大了造机,楚泽这是梦想成真了,他肯定特别开心。事实恰好相反,原来楚子在飞机场的任务是给飞机做强分析,也就是通过一大通复杂的数学计算,最后要得出结论这个飞机结不结实。那时候人们都是手工算,要是算一个简单的式子就要花一天多的时间,复杂一些的花上几天几个月都是有可能的。而且如算完了,发现出了错那,还要从头再算。楚泽本身就讨厌做计算题,现在的工作却正好是一天到头做算题他可真是烦透了,估计算到不耐烦的时候,撕了演算本的信都有了。
有一天又是烦躁的时候,楚子突然来了灵感,计算这么枯燥,为啥不让机器来干呢?我来造飞机,本是想创造新发明,可不是来做计算题的。按现在的干法,我还不如直接回家创造计算机。于是在飞机造厂干了两个月之后,楚泽就回家做计算机去了。
其实在那个时候,图灵已经提出了通用图灵机的思想。可楚泽只是一个工程师,他对图灵这些科学家思想一点都不了解。造出计算机靠的完全是自己的热情……