职业规划系列:软件工程师的十大层次

Copyright © 1900-2016, NORYES, All Rights Reserved.程序员

http://www.cnblogs.com/noryes/算法

欢迎转载,请保留此版权声明。数据库

---------------------------------------------------------------------------------------编程

 

    自西方文艺复兴以来,中国在天然科学方面落后西方不少,软件领域也不例外。固然如今中国的许多程序员们对此可能有许多不一样的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员我的能力并不比西方的程序员差,只是整个软件产业落后而已。设计模式

    那么,到底中国的程序员水平比西方程序员水平差,仍是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员有多少种技术层级,每一个层级须要什么样的技术水平,而后再比较中国和西方在各个技术层级的人数,就能够知道到底有没有差距,差距有多大。数组

    固然,对于如何划分程序员的技术层级,不一样公司或不一样人会有不一样的划分标准,下面的划分仅表明我的的观点,若有不当之处,还请砸板砖予以纠正。服务器

 

第1层 菜鸟网络

    第1层楼属于地板层,迈进这层楼的门槛是很低的。基本上懂计算机的基本操做,了解计算机专业的一些基础知识,掌握一门基本的编程语言如C/C++,或者Java,或者JavaScript,...,都可入门迈进这层。数据结构

    在这层上,中国有着绝对的优点,除了从计算机专业毕业的众多人数外,还有大量的通讯、自动化、数学等相关专业的人士进入这一行,此外还有众多的其余专业转行的人士,人数绝对比西方多出甚多。而且还有一个优点就是咱们这层人员的平均智商比西方确定高。多线程

    没有多少人愿意一生作菜鸟,由于作"菜鸟"的滋味实在是不咋的,成天被老大们吆喝着去装装机器,搭建一下测试环境,或者对照着别人写好的测试用例作一些黑盒测试,好一点的能够被安排去写一点测试代码。固然若是运气"好"的话,碰到了国内的一些做坊式的公司,也有机会去写一些正式的代码。

    因此,菜鸟们老是在努力学习,但愿爬更高的一层楼去。

 

第2层 大虾

    从第1层爬到第2层相对容易一些,以C/C++程序员为例,只要熟练掌握C/C++编程语言,掌握C标准库和经常使用的各类数据结构算法,掌握STL的基本实现和使用方法,掌握多线程编程基础知识,掌握一种开发环境,再对各类操做系统的API都去使用一下,搞网络编程的固然对socket编程要好好掌握一下,而后再学习一些面向对象的设计知识和设计模式等,学习一些测试、软件工程和质量控制的基本知识,大部分人通过2~3年的努力,均可以爬到第2层,晋升为"大虾"。

    中国的"大虾"数量和"菜鸟"数量估计不会少多少,因此这层上仍然远领先于西方。

    大虾们一般仍是有些自知之明,知道本身只能实现一些简单的功能,作不了大的东西,有时候还会遇到一些疑难问题给卡住,因此他们对那些大牛级的人物一般是很是崇拜的,国外的如Robert C. Martin、Linus Torvalds,国内的如求伯君、王志东等一般是他们崇拜的对象。其中的有些人但愿有一天也能达到这些大牛级人物的水平,因此他们继续往楼上爬去。

 

第3层 牛人

    因为"大虾"们常常被一些疑难问题给卡住,因此有了"大虾"们只好继续学习,他们须要将原来所学的知识进一步熟练掌握,好比以熟练掌握C++编程语言为例,除了学一些基础性的C++书籍如《C++ Primer》,《Effective C++》,《Think in C++》,《Exception C++》等以外,更重要的是须要了解C++编译器的原理和实现机制,了解操做系统中的内部机制如内存管理、进程和线程的管理机制,了解处理器的基础知识和代码优化的方法,此外还须要更深刻地学习更多的数据结构与算法,掌握更深刻的测试和调试知识以及质量管理和控制方法,对各类设计方法有更好的理解等。

    学习上面说的这些知识不是一挥而就的,不看个三五十本书并掌握它是作不到的。以数据结构算法来讲,至少要看个5~10本这方面的著做;以软件设计来讲,光懂结构化设计、面向对象设计和一些设计模式是不够的,还要了解软件架构设计、交互设计、面向方面的设计、面向使用的设计、面向数据结构算法的设计、情感化设计等,不然是很难进到这个楼层的。

    固然除了上面说的知识外,大虾们还须要去学习各类经验和技巧。固然这点难不倒他们,如今出版的书籍众多,网络上的技术文章更是不胜数,而后再去各类专业论坛里泡一泡,把这些书籍和文章中的各类经验、技能、技巧掌握下来,再去学习一些知名的开源项目如Apache或Linux操做系统的源代码实现等。此时对付通常的疑难问题一般都不在话下,菜鸟和大虾们会以为你很"牛",你也就爬到了第3层,晋升为"牛人"了。

    看了上面所讲的要求,可能有些大虾要晕过去了,成为牛人要学这么多东西啊!要求是否是过高了?其实要求一点也不高,这么点东西都掌握不了的话,怎么能让别人以为你"牛"呢?

    须要提一下的是,进入多核时代后,从第2层爬到第3层增长了一道多核编程的门槛。固然要迈过这道门槛并不难,已经有不少前辈高人迈进了这道门槛,只要循着他们的足迹前进就能够了。想迈进这道门槛者不妨去学习一下TBB开源项目的源代码(连接:http://www.threadingbuildingblocks.org/),而后上Intel的博客(http://softwareblogs-zho.intel.com/)和多核论坛(http://forum.csdn.net/Intel/IntelMulti-core/)去看看相关文章,再买上几本相关的书籍学习一下。

    在国内, 一旦成为"牛人",一般能够到许多知名的公司里去,运气好者能够挂上一个架构师的头衔,甚至挂上一个"首席架构师"或者"首席xx学家"的头衔也不足为奇。有很多爬到这层的人就觉得到了楼顶了,能够眼睛往天上看了,开始目空一切起来,觉得本身什么均可以作了,什么都懂了,常常在网络上乱砸板砖是这个群体的最好写照。由此也看出,国内的牛人数量仍然众多,远多于西方的牛人数量,在这层上仍然是领先的。

    也有很多谦虚的"牛人",知道本身如今还不到半桶水阶段。他们深知爬楼的游戏就像猴子上树同样,往下看是笑脸,往上看是屁股。为了多看笑脸,少看屁股,他们并无在此停步不前,而是继续寻找到更上一层的楼梯,以便继续往上爬。

 

第4层 大牛

    从第3层爬到第4层可不像上面说过的那几层同样容易,要成为大牛的话,你必需要能作牛人们作不了的事情,解决牛人们解决不了问题。好比牛人们一般都不懂写操做系统,不会写编译器,不懂得TCP/IP协议的底层实现,若是你有能力将其中的任何一个实现得象模象样的话,那么你就从牛人升级为"大牛"了。

    固然,因为各个专业领域的差异,这里举操做系统、编译器、TCP/IP协议只是做为例子,并不表明成为"大牛"必定须要掌握这些知识,以时下热门的多核编程来讲,若是你能比牛人们更深刻地掌握其中的各类思想原理,能更加自如的运用,并有能力去实现一个象开源项目TBB库同样的东西,也能够成为"大牛",又或者你能写出一个相似Apache同样的服务器,或者写出一个数据库,均可以成为"大牛"。

    要成为"大牛"并非一件简单的事情,须要付出比牛人们多得多的努力,通常来讲,至少要看过200~400本左右的专业书籍并好好掌握它,除此以外,还得常常关注网络和期刊杂志上的各类最新信息。

    当"牛人"晋升为"大牛",让"牛人们"发现有比他们更牛的人时,对"牛人"们的心灵的震撼是可想而知的。因为牛人们的数量庞大,而且牛人对大虾和菜鸟阶层有言传身教的影响,因此大牛们一般能得到很是高的社会知名度,几乎能够用"引无数菜鸟、大虾、牛人竞折腰"来形容,看看前面提过的Linus Torvalds等大牛,应该知道此言不虚。

    虽然成为"大牛"的条件看起来彷佛很高似的,可是这层楼并非很难爬的一层,只要经过必定的努力,素质不是不好,仍是有许多"牛人"能够爬到这一层的。由此可知,"大牛"这个楼层的人数其实并不像想像的那么少,例如比尔·盖茨之类的人好像也是属于这一层的。

    因为"大牛"这层的人数很多,因此也很难统计除究竟是中国的"大牛"数量多仍是西方的大牛数量多?我估计应该是个旗鼓至关的数量,或者中国的"大牛"们会更多一些。

    看到这里,可能会有不少人会觉得我在这里说瞎话,Linus Torvalds写出了著名的Linux操做系统,我国并无人写出过相似的东西啊,我国的"大牛"怎么能和西方的比呢? 不知你们注意到没有,Linus Torvalds只是写出了一个"象模象样"的操做系统雏形,Linux后来真正发展成闻名全球的开源操做系统期间,彻底是由于许多支持开源的商业公司如IBM等,派出了许多比Linus Torvalds更高楼层的幕后英雄在里面把它开发出来的。

    可能有些菜鸟认为Linus Torvalds是程序员中的上帝,不妨说个小故事:

    Linus,Richard Stallman和Don Knuth(高德纳)一同参加一个会议。

    Linus 说:"上帝说我创造了世界上最优秀的操做系统。"

    Richard Stallman天然不甘示弱地说:"上帝说我创造了世界上最好用的编译器。"

    Don Knuth一脸疑惑的说:"等等,等等,我何时说过这些话?"

    由此能够看出,Linus Torvalds的技术水平并不像想像中那么高,只是"牛人"和"大虾"以为"大牛"比他们更牛吧了。在我国,有一些当时还处于"大虾"层的人物,也能写出介绍如何写操做系统的书,而且书写得很是出色,并且写出了一个有那么一点点象模象样的操做系统来。我想中国的"大牛"们是不会比西方差的,之因此没有人写出相似的商业产品来,彻底是社会环境的缘由,并非技术能力达不到的缘由。

    "大牛"们之因此成为大牛,主要的缘由是由于把"牛人"给盖了下去,并非他们本身以为如何牛。也许有不少菜鸟、大虾甚至牛人以为"大牛"这层已经到顶了,但大多数"大牛"估计应该是有自知之明的,他们知道本身如今尚未爬到半山腰,也就勉强能算个半桶水的水平,其中有些爬到这层没有累趴下,仍然能量充沛,而且又有志者,仍是会继续往更上一层楼爬的。

    看到这里,也许有些菜鸟、大虾、牛人想不明白了,还有比"大牛"们更高的楼层,那会是什么样的楼层?下面就来看看第5层楼的奥妙。

 

第5层 专家

    当大牛们真正动手作一个操做系统或者相似的其余软件时,他们就会发现本身的基本功仍然有不少的不足。之内存管理为例,若是直接抄袭Linux或者其余开源操做系统的内存管理算法,会被人看不起的,若是自动动手实现一个内存管理算法,他会发现如今有关内存管理方法的算法数量众多,本身并无所有学过和实践过,不知道到底该用那种内存管理算法。

    看到这里,可能有些人已经明白第5层楼的奥妙了,那就是须要作基础研究,固然在计算机里,最重要的就是"计算"二字,程序员要作基础研究,主要的内容就是研究非数值"计算"。

    非数值计算但是一个很是庞大的领域,不只时下热门的"多核计算"与"云计算"属于非数值计算范畴,就是软件需求、设计、测试、调试、评估、质量控制、软件工程等本质上也属于非数值计算的范畴,甚至芯片硬件设计也一样牵涉到非数值计算。若是你尚未真正领悟"计算"二字的含义,那么你就没有机会进到这层楼来。

    可能有人仍然没有明白为何比尔·盖茨被划在了大牛层,没有进到这层来。虽然比尔·盖茨大学未毕业,学历不够,可是家有藏书2万余册,进入软件这个行业比绝大部分人都早,撇开他的商业才能不谈,即便只看他的技术水平,也能够算得上是学富五车,顶上几个普通的计算机软件博士之和是没有问题的,比起Linus Torvalds之类的"大牛"们应该技高一筹才对,怎么还进不了这层楼呢?

    很是遗憾的是,从Windows操做系统的实现来看,其对计算的理解是很肤浅的,若是把Google对计算方面的理解比作大学生,比尔·盖茨只能算作一个初中生,因此比尔·盖茨永远只能作个大牛人,成不了"专家"。

    看到这里,也许国内的大牛们要高兴起来了,原来比尔·盖茨也只和我等在同一个层次,只要再升一层就能够超越比尔·盖茨了。不过爬到这层可没有从"牛人"升为"大牛"那么简单,人家比尔·盖茨都家有2万多册书,让你看个500~1000本以上的专业书籍并掌握好它应该要求不高吧。固然,这并非主要的条件,更重要的是,须要到专业的学术站点去学习了,到ACM,IEEE,Elsevier,SpringerLink,SIAM等地方去下载论文应该成为你的按期功课,使用Google搜索引擎中的学术搜索更是应该成为你的平常必修课。此外,你还得常常关注是否有与你研究相关的开源项目冒出来,例如当听到有TBB这样针对多核的开源项目时,你应该第一时间到Google里输入"TBB"搜索一下,将其源代码下载下来好好研究一番,这样也许你的一只脚已经快迈进了这层楼的门槛。

    当你象我上面说的那样去作了之后,随着时间的推移,总会有某天,你发现,在不少小的领域里,你已经学不到什么新东西了,全部最新出来的研究成果你几乎都知道。此时你会发现你比在作"牛人"和"大牛"时的水平不知高出了多少,可是你一点也"牛"不起来,由于你学的知识和思想都是别人提出来的,你本身并无多少本身的知识和思想分享给别人,因此你还得继续往楼上爬才行。

    我不知道国内的"专家"到底有多少,不过有一点能够确定的是,若是把那些专门蒙你们的"砖家"也算上的话,咱们的砖家比西方的要多得多。

 

第6层 学者

    当"专家"们想继续往上一层楼爬时,他们几乎一眼就能够看到楼梯的入口,不过令他们吃惊的是,楼梯入口处竖了一道高高的门槛,上面写着"创新"二字。不幸的是,大多数人在爬到第5层楼时已经体能消耗过分,无力翻过这道门槛。

    有少数体能充足者,能够轻易翻越这道门槛,可是并不意味着体力消耗过分者就没法翻越,由于你只是暂时尚未掌握恢复体能的方法而已,当掌握了恢复体能的方法,将体能恢复后,你就能够轻易地翻越这道门槛了。

    怎么才能将体能恢复呢?咱们的老祖宗"孔子"早就教导过咱们"温故而知新",在英文里,研究的单词是"research",其前缀"re"和"search"分别是什么意思不用我解释吧。或许有些人以为"温故而知新"和"research"有些抽象,很差理解,我再给打个简单的比方,好比你在爬一座高山,爬了半天,中途体力不支,怎么恢复体力呢?天然是休息一下,从新进食一些食物,体力很快就能够获得恢复。

    由此可知,对体能消耗过分者,休息+从新进食一般是恢复体能的最佳选择。惋惜的是,国内的老板们并不懂得这点,他们的公司里不只连正常国家规定的休息时间都不给足,有些公司甚至有员工"过劳死"出现。因此国内能翻越"创新"这道门槛的人是"少之又少",和西方比起来估计是数量级的差异。

    再说说从新进食的问题,这个从新进食是有讲究的,须要进食一些基础性易消化的简单食物,不能进食山珍海味级的复杂食物,不然很难快速吸取。以查找为例,并非去每天盯着那些复杂的查找结构和算法进行研究,你须要作的是将二分查找、哈希查找、普通二叉树查找等基础性的知识好好地复习几遍。

    以哈希查找为例,首先你须要去将各类冲突解决方法如链式结构、二次哈希等编写一遍,再试试不一样种类的哈希函数,而后还须要试试在硬盘中如何实现哈希查找,并考虑数据从硬盘读到内存后,如何组织硬盘中的数据才能快速地在内存中构建出哈希表来,...,这样你可能须要将一个哈希表写上十几个不一样的版本,并比较各个版本的性能、功能方面的区别和适用范围。

    总之,对任何一种简单的东西,你须要考虑各类各样的需求,以需求来驱动研究。最后你将各类最基础性的查找结构和算法都了然于胸后,或许某天你再看其余更复杂的查找算法,或者你在散步时,脑壳里灵光一现,忽然间就发现了更好的方法,也就从专家晋升为"学者"了。

    学者所作的事情,一般都是在前人的基础上,进行一些小的优化和改进,例如别人发明了链式基数排序的方法,你第1个发现使用必定的方法,能够用数组替代链表进行基数排序,性能还能获得进一步提升。

    因为学者须要的只是一些小的优化改进,所以中国仍是有必定数量的学者。不过和国外的数量比起来,估计少了一个数量级而已。

    也许有人会以为如今中国许多公司申请专利的数量达到甚至超过西方发达国家了,咱们的学者数量应该不会比他们少多少。所以,有必要把专利和这里说的创新的区别解释一下。

    所谓专利者,只要是之前没有的,新的东西,均可以申请专利;甚至是之前有的东西,你把他用到了一个新的领域的产品里去,也能够申请专利。好比你在房子里造一个水泥柱子,只要之前没有人就这件事申请专利,那么你就能够申请专利,而且下次你把水泥柱子挪一个位置,又能够申请一个新的专利;或者你在一个柜子上打上几个孔,下次又把孔的位置改一改,...,都可申请专利。

    这层楼里所说的创新,是指学术层面的创新,是基础研究方面的创新,和专利的概念是彻底不一样的,难度也是彻底不一样的。你即便申请了一万个象那种打孔一类的专利,加起来也够不到这层楼里的一个创新。

    当你爬到第6层楼时,你也许会有一种突破极限的快感,由于你终于把那道高高的写着"创新"二字的门槛给翻过去了,实现了"0"的突破。这时,你也许有一种"独上高楼,欲望尽天涯路"的感受,可是很快你会发现看到的都是比较近的路,远处的路根本看不清楚。若是你还有足够的体力的话,你会想爬到更高一层的楼层去。

 

第7层 大师

    从第6层楼爬到第7层楼,并无多少捷径可走,主要看你有没有足够的能量。你若是能象Hoare同样设计出一个快速排序的算法;或者象Eugene W. Myers同样设计出了一个用编辑图的最短路径模型来解决diff问题的算法;或者象M.J.D. Powell同样提出了一个可以处理非线性规划问题的SQP方法;或者你发现基于比较的排序算法,它的复杂度下界为O(NLogN);或者你发现用栈能够将递归的算法变成非递归的;或者你设计出一个红黑树或者AVL树之类的查找结构;或者你设计出一个象C++或Java同样的语言;或者你发明了UML;...,你就爬到了第7层,晋升为"大师"了。

    上面举的这些例子中,其中有些人站的楼层比这层高,这里只是为了形象说明而举例他们的某个成就。从上面列出的一些大师的贡献能够看出,成为大师必需要有较大的贡献。首先解决问题必须是比较重要的,其次你要比前辈们在某方面有一个较大的提升,或者你解决的是一个全新的之前没有解决过的问题;最重要的是,主要的思路和方法必须是你本身提供的,再也不是在别人的思路基础上进行的优化和改进。

    看了上面这些要求,若是能量不够的话,你也许会以为有些困难,因此不是每一个人都能成为"大师"的。中国软件业里能称得上是"大师"的人,用屈指可数来形容,估计是绰绰有余。值得一提的是,国外的"大师"就象咱们的"大牛"同样满天飞的多。

    我把我猜想本国有可能进到这层楼的大师列一下,以起个抛砖引玉的做用。汉王的"手写识别"技术因为是彻底保密的,不知道它里面用了什么思想,原创思想占的比重有多少,所以不知道该把它划到这层楼仍是更高一层楼去。原山东大学王小云教授破解DES和MD5算法时,用到的方法不知道是否是彻底原创的,若是是的话也可进到这层楼来。

    陈景润虽然没有完全解决哥德巴赫猜测,但他在解决问题时所用的方法是创新的,所以也能够进到这层楼来。固然,若是能完全解决哥德巴赫猜测,那么能够算到更高的楼层去。

    求伯君和王志东等大牛们,他们在作WPS和表格处理之类的软件时,不知是否有较大的原创算法在里面,若是有的话就算我错把他们划到了大牛层。因为所学有限,不知道国内还有那些人可以得上"大师"的级别,或许有少许作研究的教授、院士们,能够达到这个级别,有知道的不妨回个帖子晾一晾。

    鉴于"大师"这个称号的光环效应,相信有很多人梦想着成为"大师"。或许你看了前面举的一些大师的例子,你会以为要成为大师很是困难。不妨说一下,如今有一条通往"大师"之路的捷径打开了,那就是多核计算领域,有大量的处女地等待你们去挖掘。

    之前在单核时代开发的各类算法,如今都须要改写成并行的。数据结构与算法、图像处理、数值计算、操做系统、编译器、测试调试等各个领域,都存在大量的机会,可让你进到这层楼来,甚至有可能让你进到更高一层楼去。

 

第8层 科学家

    科学家向来都是一个神圣的称号,所以我把他放在了“大师”之上。要成为科学家,你的贡献必须超越大师,不妨随便举一些例子。

    若是你象Dijkstra同样设计了ALGOL语言,提出了程序设计的三种基本结构:顺序、选择、循环,那么你能够爬到第8层楼来。顺便说一下,即便抛开这个成果,Dijkstra凭他的PV操做和信号量概念的提出,一样能够进到这层楼。

    若是你象Don Knuth同样,是数据结构与算法这门学科的重要奠定者,你也能够进到这层楼来。固然,数据结构和算法这门学科不是某我的开创的,是许多大师和科学家集体开创的。

    若是你象巴科斯同样发明了Fortran语言,并提出了巴科斯范式,对高级程序语言的发展起了重要做用,你也能够进到这层楼来。

    或者你象Ken Thompson、Dennis Ritchie同样发明了Unix操做系统和功能强大、高效、灵活、表达力强的C语言,对操做系统理论和高级编程语言均做出重大贡献,那么你也能够进到这层楼来。

    或者你有Frederick P. Brooks同样机会,能够去领导开发IBM的大型计算机System/360和OS/360操做系统,并在失败后反思总结,写出《人月神话》,对软件工程做出里程碑式的贡献,你也能够进到这层来。

    或者你提出了面向对象设计的基本思想,或者你设计了互联网的TCP/IP协议,或者你象Steven A.Cook同样奠基NP彻底性的理论基础,或者你象Frances Allen同样专一于并行计算来实现编译技术,在编译优化理论和技术取得基础性的成就,…,都可进入这层。

    固然,若是你发明了C++语言或者Java语言,你进不到这层来,由于你用到的主要思想都是这层楼中的科学家提出的,你本身并无没有多少原创思想在里面。

    看了上面列出的科学家的成就,你会发现,要成为“科学家”,一般要开创一门分支学科,或者是这个分支学科的奠定者,或者在某个分支学科里做出里程碑式的重大贡献。若是作不到这些的话,那么你能象Andrew C. Yao(姚期智)同样在对计算理论的多个方向如伪随机数生成,密码学与通讯复杂度等各个方向上做出重要贡献,成为集大成者,也能够进入这层楼。

    成为“科学家”后,若是你有幸象Dijkstra同样,出如今一个很是重视科学的国度。当你去世时,你家乡满城的人都会自动地去为你送葬。不过若是不幸生错地方的话,能不挨“板砖”估计就算万幸了。

    从上面随便举的一些例子中,你可能能猜到,西方科学家的数量是很是多的,因而你会想中国应该也有少许的科学家吧?我能够很负责任地告诉你一个不幸的结果,中国本土产生的科学家的数量为0。目前在国内,软件领域的惟一的科学家就是上面提过的姚期智,仍是国外请回来的,并非本土产生的。

    可能你不一样意我说的本土科学家数量为0的结论,由于你常常看到有许多公司里都有所谓“首席XX科学家”的头衔。我想说的是,这些所谓的“首席XX科学家”都是远远够不到这层楼的级别的,有些人的水平估计也就是一个“牛人”或“大牛”的级别,好一点的最多也就一个“学者”的级别。尤为是那些被称做“首席经X学家”的,基本上能够把称号改成“首席坑你们”。

    虽然我国没有人能爬到这层楼上来,可是西方国家仍然有许多人爬到了比这层更高的楼上。若是要问咱们比西方落后多少?那么能够简单地回答为:“落后了三层楼”。下面就来看看咱们作梦都没有到过的更高一层楼的秘密。

 

第9层 大科学家

    进入这层楼的门槛一般须要一些运气,好比某天有个苹果砸到你头上时,你碰巧发现了万有引力,那么你能够进到这层楼来。固然,万有引力几百年前就被人发现了,若是你如今处处嚷嚷着说你发现了万有引力,恐怕立刻会有人打110,而后警察会把你送到不正常人类的汇集地去。所以,这里举万有引力的例子,只是说你要有相似的成就才能进到这层楼来。

    牛顿发现万有引力定律开创了经典物理运动力学这门学科,若是你也能开创一门大的学科,那么你就从科学家晋升为“大科学家”。好比爱因斯坦建立了相对论,从一个小职员变成了大科学家。固然大科学家可远不止这两人,数学界里比物理学界更是多得多,如欧几里得建立了平面几何,笛卡尔开创解析几何,还有欧拉、高斯、莱布尼茨等数不清的人物,跟计算相关的大科学家则有图灵等人。

    从上面列出的一些大科学家能够发现,他们的成就不只是开创了一个大的学科,更重要的是他们的成就上升到了“公理”的层面。发现公理一般是须要一点运气的,若是你的运气不够好的话,另外还有一个笨办法也能够进到这层楼来,那就是成为集大成者。例如冯·诺伊曼,对数学的全部分支都很是了解,许多领域都有较大的贡献,即便撇开他对计算机的开创贡献,成为大科学家照样绰绰有余。

    固然,程序员们最关心的是本身有没有机会变成大科学家。既然计算机这门大学科的开创性成果早就被冯·诺伊曼、图灵等人摘走了,那么程序员们是否是没有机会变成大科学家了呢?咱们的古人说得好:“江山代有才人出,各领风骚数百年”,如今在计算机这门学科下面诞生了许多很是重要的大的分支,因此你仍是有足够的机会进到这层楼的。

    若是你可以完全解决天然语言理解(机器翻译)这门学科中的核心问题, 或者你在人工智能或者机器视觉(图像识别)方面有突破性的发现,那么你一样能够轻易地晋升为“大科学家”。这样当某天你老了去世时,或许那天国人已经觉醒,你也能享受到如Dijkstra同样的待遇,有满城甚至全国的人去为你送葬。

    如今还剩下另一个你们感兴趣的问题没有讨论,那就是这层中已经出现了牛顿、爱因斯坦、高斯等咱们日常人都认为是顶级的科学家,是否是这层已是楼顶了呢?相信还记得本文标题的人应该知道如今仅仅是第9层,还有第10层没有到达呢。可能很多人如今要感到困惑了,难道还有人站在比牛顿、爱因斯坦、高斯等人更高的楼层上?

    这个世界上确实存在能够用一只手的手指数得清的那么几我的,他们爬到了第10层楼上。所以,第10层楼不是虚构的,而是确实存在的。若是对此有疑惑或者认为我在胡诌一番的话,那么不妨继续往下看下去,窥一下第10层楼的秘密。

 

第10层 大哲

    看了这层楼的名字“大哲”,可能很多人已经猜到了这层楼的秘密,那就是你的成果必需要上升到哲学的高度,你才有机会能进到这层来。

    固然,上升到哲学高度只是一个必要条件,牛顿的万有引力彷佛也上升到了哲学的高度,由于不知道引力究竟是怎么来的,可是牛顿没有被划到这一层,由于进到这层还有另外的条件,那就是你的成果必须引发了哲学上的深度思考,并能让人们的世界观向前跨进一大步。窃觉得牛顿、爱因斯坦等人的成就还达不到让人们世界观向前跨进一大步的程度。

    因此,这层楼中的人的成就对咱们普通人认识世界很是重要,你能够不学相对论,可是你不能够不对这层楼的人所做出的成就不了解,不然你的世界观就是极其不完整的,会犯许多认识上的错误。不幸的是,中国的科普知识普及还不够到位,知道这层楼成就的人好像并很少,程序员中恐怕更少。下面就来看看这些用一只手的手指数得清的大哲们,到底有什么成就,能比万有引力定律和相对论还重要。

 

一、希尔伯特 (1862~1943)

    第1位进到此楼层是一位名叫“希尔伯特”的大数学家,若是你学过《泛函分析》,那么你在学习希尔伯特空间时可能已经对这位大数学家有所了解;若是你不是学数学出身的,又对数学史不感兴趣的话,恐怕你历来没有据说过这个名字。不过若是我问一下,知不知道二次世界大战前世界数学中心在那里,你确定会有兴趣想知道。

    不妨说一下,二战前整个世界的数学中心就在德国的哥廷根,而咱们这位大数学家希尔伯特即是它的统帅和灵魂人物。即便在二战期间,希特勒和丘吉尔也有协定,德国不轰炸牛津和剑桥,做为回报,英国不轰炸海德堡和哥廷根。

    整个二十世纪上半期的超一流数学家,几乎都出自其门下。这里不妨举几个咱们熟悉的人物,例如冯·诺伊曼就曾受到他和他的学生施密特和外尔的思想影响,还到哥廷根大学任过希尔伯特的助手,钱学森的老师冯·卡门是在哥廷根取得博士学位的。顺便提一下,这位大数学家发现当时物理学上出了不少大的成果如相对论和量子力学,可是这些物理学家的数学功力明显不足,所以有一段时间带领他的学生们研究过物理学,并独立发现了广义相对论,只是很差意思和物理学家争功劳,将广义相对论的功劳所有让给了爱因斯坦。

    广义相对论相对于这位大数学家在数学上的贡献,实际上是算不了什么的,只是由此可看出这位大数学家品格的高尚之处。若是再去看看牛顿之流的人物的品行,成天和莱布尼茨、虎克等人争功劳,利用本身的优点地位打压他人,甚至闹得上法庭,和这位希尔伯特先生比起来,简直就是个小丑。

    说到这里,你可能对这位大数学家“希尔伯特”有了一些初步映象,感受到了他的重要性,不过他在数学上的主要成就可不是几句话说得清楚的。首先,他是一位集大成者,精通当时数学全部分支领域,在数学的各个领域都有较大的贡献,固然这些成就只能让他成为一个大科学家,不能带他进入这层楼。事实上这位“希尔伯特”解决的任何一个数学问题都够不到这层楼的高度,那么他怎么混到这层楼来了呢?

    话得从1900年提及,当时还很年轻的希尔伯特在当时的世界数学大会上作了一个报告,高屋建瓯地提出了著名的23个未解决的数学问题,而后整个二十世纪上半期,全世界的数学家们都在这23个问题的指导下展开研究,直到如今仍然有许多数学家受这23个问题的指导在进行研究。例如咱们熟知的哥德巴赫猜测,就属于其中第8个问题素数分布的一个子问题。

若是用“高瞻远瞩”来形容这位大数学家的话,那么这个世界上恐怕没有第二我的再配得上“高瞻远瞩”这四个字,不管是欧拉、高斯、牛顿、爱因斯坦仍是被誉为最有才华的数学家伽罗华,概不例外。

    虽然那23个问题是概括总结出来的,并不全是原创,可是其中有很多问题是能够上升到哲学的高度,引发深度思考的。可能大多数人都会以为希尔伯特是进不到这层楼的,咱们知道提出问题的人和解决问题的人是同样伟大的,况且他提出的问题是如此之多,基于这点,我的以为应该让希尔伯特跨进这层楼的门槛里。

    看完这位希尔伯特的成就,你可能会以为对你的世界观并无产生任何影响。确实如此,他提出的问题不是用来影响你的,而是用来影响其余大科学家和大哲的,下面再来讲说另外一位对他提出的23个问题中的第2个问题有杰出贡献的大哲,你就会感受到大哲们的成果的威力了。

 

二、哥德尔 (1906~1978)

    这位大哲的名字叫“哥德尔 (G?del) ”,你可能历来也没有据说过这个名字,即便你读了一个数学系的博士学位,若是你的研究方向不和这位大哲对口的话,你也不必定了解这位大哲的成就,更不知道他的成果对咱们这个世界有何意义。

    简单地说,这位大哲20多岁时就证实了两个定理,一个叫作“哥德尔彻底性定理”,另外一个更重要的叫作“哥德尔不彻底性定理”。你也许会以为奇怪,第9层楼的成就就已经上升到了公理的高度,这种证实定理的事情不是学者和大师们作的事情吗?怎么能比第9层楼的成就还高呢?下面就来简单说一下这两个定理的含义,你就会明白这属于系统级的定理,毫不是普通的定理和公理所能比拟的。

    “哥德尔彻底性定理”证实了逻辑学的几条公理是完备的,即任何一个由这些公理所产生出的问题,在这个公理系统内能够断定它是真的仍是假的,这个结论代表了咱们人类所拥有的逻辑思惟能力是完备的。这条定理并不能将其带入这层楼来,带其进入这层楼的是另外一条定理。

    “哥德尔不彻底性定理”是在1930年证实的,它证实了现有数学的几条公理(ZF公理系统)是不完备的,即由这些公理产生出的问题,没法由这几条公理判断它是真的仍是假的。例如希尔伯特23个问题中的第1个问题,也就是著名的康托尔连续统假设,哥德尔在1938年证实了现有公理系统中不能证实它是“假”的,科恩(Cohen,或许也能够称得上是“半”个大哲)在1963年证实了现有公理系统不能证实它是“真”的。最有趣的是,即便你将某个不可断定的问题,做为一条新的公理加入进去,所组成的新的公理系统仍然是不完备的,即你没法构造一个有限条公理的系统,让这个公理系统是完备的。

    也许你仍然没法理解上面这段话的含义,不妨先说一下它对咱们现实世界的影响。你可能知道1936年出现的图灵机是现代计算机的理论模型,若是没有哥德尔不彻底性定理的思想,图灵机何时能出来是很难说的,因此这位哥德尔能够算做计算机理论的奠定者的奠定者。计算机对咱们这个世界产生的影响比原子弹大了多少,我想不用我说你们也都清楚。固然,对现实世界的影响只能把哥德尔同图灵等人同样划到大科学家那一层去,能进入这层乃是另有缘由。

    可能你看过《将来战士》、《黑客帝国》、《I,Robot》之类的科幻电影,因而你产生制造一个和人同样或者比人更高一级的智能机器人的想法,这就引入了一个达到哲学高度的问题,“人到底能不能制造出具备和人同样的思惟能力的机器来?”。

    我只能告诉你,“你的愿望是良好的,但现实是残酷的”。若是你仔细思考一下不彻底性定理的含义,并结合现代计算机所具备的能力分析一下,你会发现这个问题的答案暂时是否认的。若是你想造出和人同样思惟能力的机器,那么你须要去好好学习这位大哲及其后续研究者的成果,并在他们的基础上有新的突破才行。

    为了说明这位大哲所研究领域的重要性,这里顺便再讨论一个咱们平常争议不休的问题,那就是孔夫子的“人之初、性本善”以及西方认为“人之初、性本恶”的观点孰优孰劣的问题。可能有许多人发现西方社会如今领先咱们,因而就认为“性本恶”是对的,“性本善”是错的,中国应该抛弃之前的旧思想,改用西方的思想。固然也有一些老学究们,认为中国的人文思想是领先于西方的,天然而然地认为“性本善”是对的,“性本恶”是错的。

    若是你学过大哲用过的公理化的分析方法,你就知道一套系统的多条公理间只要不会推导出矛盾的地方,便可以自圆其说,那么它能够看做是对的。这样你能够很轻易地给这个问题下一个结论,即“性本善”和“性本恶”是对等的,不存在孰优孰劣的问题,更不存在谁对谁错的问题。只要你不一样时将“性本善”和“性本恶”放入一个系统内,那么是不会有问题的,甚至你也能够认为“人之初、既无善、亦无恶”,或者认为“人之初、部分善、部分恶”,都是能够自圆其说的,因此咱们的老祖宗提出的思想并无问题,之因此落后乃是其余缘由形成的。这个问题其实在高斯所处的时代就有告终论,那时有人提出了非欧几何,即平行线公理问题,有人认为过一点能够做多条平行线,还有人认为平行线在无穷远点是相交的,和欧氏几何关于过一点只能做一条平行线的公理都是矛盾的,可是他们各自的系统内推导出的结论都是正确的。

    上面说的只是对哥德尔不彻底性定理的一些粗浅解析,实际上若是深刻思考一下它的含义的话,你会发现它对物理学等许多学科有重大影响,包含的道理实在是深入,远非通常的思想所能比拟,有兴趣者不妨“google”或“百度”一下“哥德尔”。或许只有咱们的老祖宗“老子”提出的哲学思想,深度能够有得一比。

    哥德尔不彻底性定理也给那些认为科学是严谨的人当头一棒,原来连数学这样的纯理论学科都是不严谨的,其余学科就更不用说了。

    至此,已经说完数学上的大哲,下面不妨再看看物理学上的大哲,物理学上好像只出过一位叫“海森堡”的大哲(注:因为本人对物理学不甚了解,不知道“霍金”够不够得上大哲的称号)。

 

三、海森堡 (1901~1976)

    海森堡这个名字相信没有几我的不知道的,大部分人在学习物理时都学过他的“测不许关系”,也就是由于这个“测不许关系”,海森堡爬到了第十层楼。

    若是你看过《时间简史》和《霍金讲演录-黑洞、婴儿宇宙及其余》,你也许已经了解测不许关系的威力,因此这里不想作过多的讨论,只谈一些和本土产生的哲学思想相关的东西。

    首先看看争论了几千年,而且如今仍然有人在争论不休的“宿命论”问题。霍金认为,只要这个宇宙有一个初始状态,粒子的运动是按照必定物理定律进行的(好比相对论、量子力学属于这些物理定律的一部分),那么全部的粒子运动轨迹将是肯定的,而后只要你认可惟物论,即精神是由物质决定的,那么宿命论就是“对”的。固然因为测不许关系的存在,对人而言,又是没法准确预测的,所以也能够将其看做是“不对”的。简单的说,能够认为宿命论是“对”的是绝对的,宿命论是“不对”的是相对的。

    可能上面这段话你如今仍然难以理解,或许你又以为你的命运并非上天注定的,而是能够经过本身的努力能够改变的。我要告诉你的是,你在想什么也是事先已注定的,包括你在预测自己也是事先注定的,由于大脑思考问题最终是基本粒子运动的结果,而这些粒子的运动必然要遵循物理定律进行,因此你会不会努力,想不想努力,包括你在想你该不应努力这件事自己也是事先注定的。顺便说一下,你如今正在看这篇文章,可能正在想这个宿命论问题值得怀疑,或者以为写得不够好,准备砸个板砖上来;或者你在想这篇问题写得有点意思,准备看完后转给朋友看一看;又或者你看到这里,以为很累了,准备休息一下;…;这些都是上天事先就注定的。从你自身的相对角度看,由于你事先不知道后来会发生什么,也能够认为不是事先注定的,可能这句话有些很差理解,不妨好好理解前面说过的公理化思想。

    若是你没看过《霍金讲演录-黑洞、婴儿宇宙及其余》,你可能会以为很惊讶,宿命论从来不都被认为是惟心论吗,怎么由惟物论推导出了宿命论呢?现实就是这样和你开了一个大的玩笑,不过这个玩笑也是事先注定的。若是你再仔细用公理化的方法思考一下惟物论和惟心论的矛盾性,就像前面分析性善论和性恶论同样,你会发现惟物论、惟心论不必定就是冲突的,矛盾的双方是能够统一的,只要你不要同时将惟物和惟心放进同一个系统中就行。

    固然也有聪明者仍然会怀疑宿命论问题的正确性,由于这里有一个前提条件,即宇宙要有一个初始状态。宇宙有没有初始状态,咱们并不知道啊,虽然有大爆炸学说,但那也只是假说而已,并无获得确证,有些人就认为宇宙是一直都存在的。这样看来彷佛你又有合理的理由在怀疑宿命论了,不过我仍然要告诉你,你如今在怀疑宿命论仍然是事先注定的,不相信的话就来看看下面的分析。

    虽然宇宙的初始状态值得怀疑,可是这个宇宙至少已经存在了一段时间,这点我想是毋庸置疑的。咱们能够在咱们已知的宇宙存在的这段时间内,任意取一个时间点t0,那么在这个时间点t0上,全部的粒子都有一个运动状态。在时间点t0以后的时间里,因为粒子运动是按照物理定律进行的,所以粒子运动轨迹由时间点t0的状态决定。说白一点,若是取100年前的一个时间点做为t0,那么如今的全部粒子运动状态100年前就已经肯定了,若是取10000年前一个时间点做为t0,那么最近10000年内全部粒子运动的轨迹在10000年前就肯定了,固然,你能够取更早的时间,好比100亿年前的时间点。

    总之,如今你会发现宇宙有没有初始状态并不会影响宿命论的正确性,因此这个世界的一切都是注定的。只不过因为粒子间相互影响过于复杂,咱们没法知道这些粒子的运动轨迹而已。固然,若是将测不许关系用上的话,那么就是这个运动轨迹对人来讲是没法准确预测的,因此不妨开个玩笑:“算命先生常常算得不许大概是测不许关系的缘故吧”。

    若是你再深刻思考一下测不许关系,你会发现这是一个测量系统的问题。因为宿命论的存在,这个世界自己其实是肯定的,是“准“的,之因此测不许乃是咱们人类所具备的测量能力依赖于基本粒子形成的。因此我在前面说宿命论是“不对”的是相对的,它是相对于咱们人类的测量能力而言的。根岑(Gentzen,曾任希尔伯特的助手)在一个更强的系统内证实了ZF系统内的问题都是可断定的,从一个侧面说明这个世界自己是肯定的。(注:它和哥德尔不彻底性定理并不矛盾,因为数学上的复杂性,这里就不详细解释了)

    不妨再想一想咱们老祖宗提出的“是庄周梦见了蝴蝶?仍是蝴蝶梦见了庄周?”,“风动?幡动?仍是心动?”之类的问题,固然之前你都认为这是纯粹的惟心主义,甚至认为是封建糟粕,可是若是结合测不许关系的内涵,再结合前面所说的公理化分析方法进行分析,估计你如今不敢轻易地下结论。

   

    也许到如今你仍然没法理解为何把大哲们划在了大科学家的上一层,你可能仍然以为万有引力、相对论等成果是最伟大的。下面就来谈谈为何大哲比大科学家高一层。

    若是把人类在现有能力状况下,未来所可以拥有的知识总集当作是一个集合A,人类如今已有的知识总集当作是集合B,显然,集合B只是集合A的一个子集,而且是很小的一个子集。牛顿力学、相对论这些理论只能算做集合B里的一个子集,相对于集合A,只能算做是沧海一粟。 换句话说,在人类现有能力可作的事情集合中,牛顿力学和相对论等理论给出了详细的办法让你能够作其中的一些事情,固然剩下的更多的事情是牛顿力学和相对论所没法解决的。

    哥德尔不彻底性定理和测不许关系的意义在于,它指出集合A的范围,即将人类现有能力发挥到极限的状况下,那些事情是你能作到的,那些是你不能作到的。固然,它并无给出具体的方法让你去作你能作到的事情,它只是告诉咱们咱们人类如今发现的能力所能达到的极限。或许未来发现人类有其余新的未发现的能力,那么这个极限就被打破了。好比未来能发现不依赖于基本粒子的其余测量方法,而且测量过程当中不会改变其余粒子的状态,那么测不许关系就被打破了。

    看到这里,估计你已经发现了一些秘密,科学兜了一大圈,最终仍是回到了哲学,也就是咱们所认为的玄学上。同时你也会发现,咱们老祖宗提出的所谓玄学,原来和现代科学是相通的,并不是象某些人想像的那样全是糟粕。若是有人认为西方现代暂时领先咱们,进而就认为西方古代就已经超越咱们,咱们老祖宗就已经落后西方,他们的思想都是糟粕的话,那么我认为他可能犯了崇洋媚外的毛病。我不得不化用一句周杰伦在春晚上的歌词送给他:“你不妨抓一副咱们祖传的中医良方,治一治你那崇洋媚外的内伤”。顺便告诉他一下,中医用的阴阳五行理论,它的前提假设就是宿命论。

    上面说的这几位大哲的成果,可能对你的世界观会有很大的影响,因而你可能会羡慕起这些大哲们的成果来。若是你有大志的话,你会但愿有朝一日你也能变成大哲,可是你发现上面的大哲是研究数学和物理学的,而你是学计算机的程序员,那么是否是没有机会变成大哲呢?

    若是你能将NP难题给完全解决掉,意味着计算机内的计算的奥秘基本被揭开,或许你能够进到这层楼来;或者你能发现另一套计算机能够理解的数学公理系统,而且这个公理系统是完备的,那么计算机取代人类进行思惟的一个必要条件就知足了,计算机将具备真正意义上的“逻辑思惟和推理能力”,你能够轻松地进到这层楼来。若是你发现了新的方法能够打破测不许关系,一样你也能够轻松地进到这层楼来。

    若是你能完全揭开人类抽象思惟的奥妙,并让计算机懂得了如何建立抽象,具有抽象思惟能力,那么也就具有了“设计能力”,能够取代人类进行各类设计了,你也能够轻松地进到这层楼来。顺便说一下,若是你对软件设计有真正深入理解的话,就会明白这不是在写科幻小说。对此感兴趣者,不妨好好地研究一下程序切片方面的技术,会让你对软件设计和测试等方面的理解有质的提升,或许有一天你能打开这扇大门。

    固然,计算机要彻底取代人还有其余必要条件,后面还会说起。

    值得一提的是,虽然第10层楼是本文中所写的最高层,可是大哲们并无以为他们到了顶层,他们一般都还会努力寻找通往更高一层的楼梯。若是你也有成为天下第一的想法,那么你或许会想要作什么事情才能超越大哲们的成就,固然,这都得依赖于找到更高一层楼的楼梯。

    我的认为,再往上一层楼的楼梯是通往天堂的道路,也就是说第11层楼的名字叫“天堂”,是“上帝”住的地方,而不是人住的地方。若是未来某天有人能爬到天堂的话,那么他已经不是人了,而是由人变成了“上帝”。

    你也许会怀疑这个世界到底有没有“天堂”,“上帝”是否根本就不存在,我也颇有同感。所以有必要再写上一段文字,讨论一下“上帝”的问题。若是你想了解天堂的奥妙,有没有办法让你变成“上帝”,不妨看看继续往下看看第11层楼的玄妙。注意我这里用的是“玄妙”二字,由于上帝在大部分人眼里估计都是“玄之又玄”的东西。

 

第11层 上帝

    看了上面的小标题,你可能会以为奇怪,这篇文章不是讲“程序员的十层楼”吗?怎么冒出了第11层来了?

    其实这并不矛盾,程序员确实只有十层楼,由于爬到第11层时,已经变成上帝,再也不是程序员了;因此超出10层楼自己并不重要,关键的问题是看你有没有能力变成上帝。

一、谁是上帝?

    菜鸟们认为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层楼是不存在的,天然没有人能够骑到“上帝”的头上。

    宿命论将在有时间的时间里永远统治这个世界。

相关文章
相关标签/搜索