程序哲思(3)


你此时已经隐约感到,程序已经在你的现实世界中,如空气一样。但是你还不确信,因为这种感觉才刚刚开始。

          编程本身算是什么呢?是否是程序呢?是的。

          编程是这样一个过程,你在大脑中首先有了一堆概念,有了概念就隐含的说明有了什么呢?一个概念定义了一个集合,有了概念的同时就有了概念上的操作,概念与数据类型,与集合是同一个东西。你这时候要达到一个目标或某种目的,然后据此而编程。这个目标的本质是什么呢?集合!你要首先要知道这个集合是否存在,你的程序编出来了,目标实现了,就说明你找到了由已知集合向目标集合的一条映射路径,这时候我们就说你证明了这个程序的存在性,你并且找到了它的一个实现。所有的实现组成一个集合,你只需找到一个,它是此集合的一个元素,你已经证明了它的存在。

          如果你还记得,自动机里边的经典结论“任何问题,都可以归结为集合里某元素是否存在的问题”,我想你大概能理解上边的一段话。

         现在可以意识到,整个编程的思维过程仍是形式化得一个过程,似乎没有任何创造性可言。我们平时还很少意识到,编程本身是一个经过高度优化的遍历算法,之所以说高度优化是因为,我们在这个过程中动用了,一系列假设,判断,推理,排除,等思维过程,我们排除了那些理论上不可能的集合映射路径,否则我们在有生之年无法执行完这个算法。这个遍历算法是由我们的大脑执行的,而不是计算机。

         你开始了解到,另一个可以执行程序的东西:人。

         编程如此?人做其他事情呢?比如你早晨起床穿衣,洗漱。这是否也是一个编程并执行的过程呢,是的。你可能说你并没想什么就把这些极为熟练完成了。我要说的是你的程序已经经过了多年的修正,精确无误的代码已经存储在你的大脑了里了,你想要完成这个任务的时候,直管调出来执行,你并不再需要一个编程的过程了,所以你并没想什么就顺利的完成了这一任务。其他的事情,如果你做过一次的事情,你便有一个粗糙的充满BUG的程序存在于大脑中,你要在执行的过程中不断的修正你的代码,最终熟而生巧。如果你生平从未做过某事,你就总要试图从其他有经验的人那里,来个代码拷贝,你会询问那将会怎么样一个流程,过程如同下载转存硬盘,如果大家都没经验,这个程序你就要自己开发了。

          好了,你总算知道自己是一个不折不扣的机器了。

          额?好像完全没了人性。不过下一篇你将因此而感觉到无尽的力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值