作者: Zhouweiming 周伟明 (32 篇文章) 日期: 二月 9, 2009 在 9:58 上午
第1~3层 看这里:http://software.intel.com/zh-cn/blogs/2009/02/04/1071/
第4~5层 看这里:http://software.intel.com/zh-cn/blogs/2009/02/04/1073/
第6~7层 看这里:http://software.intel.com/zh-cn/blogs/2009/02/04/1077/
第8~9层 看这里:http://software.intel.com/zh-cn/blogs/2009/02/04/1081/
第10层(上) 看这里:http://software.intel.com/zh-cn/blogs/2009/02/09/1084/
第10层(下) 看这里:http://software.intel.com/zh-cn/blogs/2009/02/09/1088/
第11层 上帝
看了上面的小标题,你可能会觉得奇怪,这篇文章不是讲“程序员的十层楼”吗?怎么冒出了第11层来了?
其实这并不矛盾,程序员确实只有十层楼,因为爬到第11层时,已经变成上帝,不再是程序员了;所以超出10层楼本身并不重要,关键的问题是看你有没有能力变成上帝。
1、谁是上帝?
菜鸟们认为Linus Torvalds是程序员中的上帝,看完了前面各层楼的介绍,此时再看到这句话,相信你要忍不住在心里笑起来。当然,你会不会笑起来是事先注定的。Don Knuth也不是上帝,他离上帝还有三层楼的距离。即使是大哲们,他们离天堂也还差一层楼,因此这个世界上有史以来还没有任何一个人变成过上帝。
我们感兴趣的是,将来会不会有人爬到比大哲们更高的楼层上,变成了上帝。
要变成上帝,你得有上帝一样的能力,上帝会造人,你会吗?
你也许会怯生生地问:“我可以和爱人生小孩,算不算造人?”,你可能还会理直气壮地说:“现在生物学上都可以克隆人了,早就有人掌握了造人的方法”。
事实上克隆人需要有人的体细胞,必须要先有人才会有体细胞。上帝造人时,这个世界上并没有人,是从无生命的物质“尘土”中创造出的人。因此,用最原始的方法生人和克隆人都是从有生命信息的物质中生人,不能算作造人。
这样看来,你根本不会造人,不过我可以告诉你一个“玄方”,让你有机会学会如何造人。
如果你揭开了人类情感的奥秘,让计算机也可以拥有和人类一样的情感,那么计算机将可以理解人类的需求,具有了“情商”,将具有完整的和人一样的能力。此时,人类进化到了机器人,科幻小说将变成现实,也就是说你已经掌握了真正的造人能力,晋升为“上帝”了。
未来到底有没有人能变成“上帝”,人能不能进化到机器人,这是宿命论中事先注定了的。说到这里,不妨再告诉你一个打破宿命论的方法,这个方法就是你要爬到比上帝还要高的楼层。
“还有比上帝还高的楼层?”,你可能会第1时间内冒出这个问题,其实我也有同样的怀疑。因此在写第12层楼前,有必要弄清楚它到底存不存在,即你可不可以骑到上帝的头上的问题。
2. 骑到上帝的头上?
为了解决是否可以骑到上帝的头上这个问题,不妨先假设存在比上帝高的楼层,也就是存在打破宿命论的方法。
宿命论的本质原因是因为时间是单向运行,不可逆转造成的。如果你找到一种可以使时间逆转的方法,那么你就打破了宿命论,爬到了比上帝还高的楼层。
看到这里,你也许会摆脱刚才陷于宿命论的困惑情绪,变得充满希望般高兴起来。不过,如果你的逻辑思维能力足够好,仔细思考一下,会发现存在一个逻辑上的悖论。
在你找到时间逆转的方法之前,显然这个世界仍然是需要服从宿命论的,也就是说你能不能找到打破宿命论的方法是事先注定的。假设你在某个时间点t0处找到了打破宿命论的方法,你在打破宿命论后,想利用时间逆转的方法回到某个时间点t2。下面来看看你到底能不能回到时间点t2。
取位于t0和t2之间的任意一个时间点t1,你在回到时间点t2之前,必须先经过时间点t1,考虑你到达t1的那一时刻,由于t1比t0要早,这个时间点上你还没有找到时间逆转的方法,所以到了时间t1点后,你无法再使用时间逆转的能力回到时间点t2去,所以你永远也回不到时间点t2,由于时间点t2是任意取的,因此,你永远也无法使时间逆转,或者说你根本就没打破过宿命论,这与你在时间点t0打破了宿命论产生了矛盾。
上面这段话看起来似乎有点像“人永远迈不出一步”的诡辩一样,你可能会想返回到时间点t1时,仍然可以拥有时间逆转能力啊。不过你又会发现一个新的问题,时间点t1本来是没有时间逆转能力的,现在又认为时间点t1又有时间逆转能力,那时间点t1到底是有还是没有时间逆转能力呢?或者说在时间点t0前,宿命论注定了时间点t1是没有时间逆转能力的,现在你又认为时间点t1具有时间逆转能力,那么这两个时间点t1究竟是不是同一个时间点?如果不是同一个时间点,说明你没有回到过去;如果是同一个时间点的话,岂不是自相矛盾吗?
为了说得更形象一些,不妨假设你坐一艘超光速飞船,准备从时间点t0回到时间点t2去,假设你回到t2后,随着时间的流逝,又达到了时间点t0,如果这时你又再次坐超光速飞船返回时间点t2,那么一个值得思考的问题就出现了,“你在时间点t2能不能看到上次返回时间点t2的飞船?”
如果回答不能看到飞船,那么上次返回的飞船那里去了呢?显然很难解释通。如果回答能看到飞船,那么你可以到达时间点t2后,下次时间到达t0时,你又坐飞船返回t2,这次你将可以看到上两次的两艘飞船。如果这样一直循环下去,最后你会发现你可以在时间点t2看到无穷多的飞船。用程序员的术语说,叫做“程序陷入了死循环”,最后系统必然会出现“Out of Memory”现象而崩溃。
当然,你也可以认为有其他的方法,不需要飞船,可以一次性从时间点t0直接跳跃到时间点t2,并不需要经过时间点t1。下面不妨来分析一下这个方法是否可行。
既然是直接跳跃到时间点t2,那么你必然是在一个无穷小的时间里出现在时间点t2的某个空间里,例如你要在时间点t2回到某个广场上。首先说明一下为什么是无穷小的时间里出现的,因为如果不是无穷小的时间里出现的话,那么必然可以取到一个时间点t1,会导致前面所说的时间点t1上出现悖论。
你在广场上出现的时,广场上的空气必然要为你让开空间,而这是在无穷小的时间里完成的,那么很容易推导出你周围的空气获得的加速度和速度都是无穷大,因而它具有的动能也是无穷大,无穷大的能量和无穷大的速度意味着什么?一只鸟都可以将飞机撞下来,如果宇宙是有限大的话,它可以让这个宇宙炸毁无穷次;即使宇宙是无限大,它也足以让宇宙炸毁一次。宇宙都毁灭了,又何来的时间?还能说你回到了时间点t2吗?
也许上面说的这些你仍然难以相信,不妨再说得更现实一些,假设你要回到100年前的一个时间点,这100年中,天上有多少流星湮灭了?有多少新星生成了?宇宙膨胀了多少?你有能力让湮灭的流星复原、生成的新星重新返回未生成前的状态,膨胀的宇宙收缩回去吗?如果这些东西的状态没有回复到100年前,又怎么能说明你回到的是100年前的时间点呢?
根据上面的推导和分析,个人认为使时间逆转的方法是不存在的,所以第12层楼是不存在的,自然没有人可以骑到“上帝”的头上。
宿命论将在有时间的时间里永远统治这个世界。
分享到:
相关推荐
所谓的“程序员的十层楼”,正是一种生动的比喻,用以描绘程序员在技术成长的各个阶段。它不仅是一张技术能力的地图,更是国与国之间技术力量角逐的缩影。 首层,乃初出茅庐之辈,人称【菜鸟】。他们带着对编程的...
本书《程序员十层楼》通过对程序员技术能力的细致划分,提出了一个包含十个层次的程序员技能体系,以帮助读者更清晰地了解和定位自己的技术水平。在这一体系中,作者周伟明从自身丰富的软件开发经验和对程序员职业的...
以下是对程序员十层楼(十种境界)的详细介绍和分析: 第1层:菜鸟 在程序员的世界里,菜鸟是指刚入行的初级开发者。他们可能具备基础的编程技能,了解一种或多种编程语言,如C/C++、Java或JavaScript。菜鸟需要...
这篇文章“程序员十层楼:程序员的修炼”旨在描绘程序员从初学者到资深专家的成长路径,为不同阶段的程序员提供一个自我评估和提升的标准。下面将详细探讨这个成长体系中的各个层次及其所代表的知识点。 1. **入门...
但从标题“程序员的十层楼”推测,这份文档可能旨在通过一系列编码示例或编程规则来隐喻性地描述程序员的成长过程或者编程技能的不同层次。以下是对该文档中所涉及知识点的解读: ### 一、程序员成长的十个阶段 1....
在IT行业中,程序员被视为一座不断攀升的“十层楼”,每一层都代表了程序员的不同阶段和技能水平。这个概念形象地描绘了程序员的成长路径,激励着我们不断学习和提升自己。下面,我们将详细探讨这十层楼的具体内容,...
### 程序员十层境界详解 #### 第一境界:初学者 在这个阶段,程序员刚刚踏入编程领域,对各种编程语言如C/C++、Java、JavaScript等有初步的了解。这一阶段的重点在于掌握基本的语法和编程逻辑,能够编写简单的程序...
### 程序员的十个层次:从菜鸟到牛人的成长之路 #### 第1层:菜鸟 菜鸟作为程序员生涯的起点,门槛较低。这一阶段的程序员通常具备基本的计算机操作能力,了解一定的计算机专业知识,并能掌握至少一种编程语言(如...
当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已。 那么,到底中国的程序员水平比...
精彩点评各个等级的程序员,了解各个等级程序员的特点,清楚自己是哪一个等级的程序员。
第十层:CTO(首席技术官) CTO是公司的技术决策者,负责推动技术创新,引领公司技术发展方向。他们不仅要懂技术,还要懂业务,能够将技术与商业策略紧密结合。 以上十个层次并非固定不变,每个程序员的成长路径...
介绍计算机科学界发展的层次,看看你在哪一层。