程序员的十层楼 (第一、二、三层):
http://blog.sina.com.cn/s/blog_496316280100e998.html
程序员的十层楼 (第四、五层):
http://blog.sina.com.cn/s/blog_496316280100e99d.html
程序员的十层楼 (第六、七层):
http://blog.sina.com.cn/s/blog_496316280100e99g.html
程序员的十层楼 (第八、九层):
http://blog.sina.com.cn/s/blog_496316280100e99m.html
程序员的十层楼 (第十层):
http://blog.sina.com.cn/s/blog_496316280100e99n.html
程序员的十层楼 (第十一层):
http://blog.sina.com.cn/s/blog_496316280100e99q.html
第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层楼的秘密。
分享到:
相关推荐
在IT行业中,程序员被视为一座不断攀升的“十层楼”,每一层都代表了程序员的不同阶段和技能水平。这个概念形象地描绘了程序员的成长路径,激励着我们不断学习和提升自己。下面,我们将详细探讨这十层楼的具体内容,...
### 程序员十层境界详解 #### 第一境界:初学者 在这个阶段,程序员刚刚踏入编程领域,对各种编程语言如C/C++、Java、JavaScript等有初步的了解。这一阶段的重点在于掌握基本的语法和编程逻辑,能够编写简单的程序...
第八层:部门经理 部门经理负责整个技术部门的运营,包括人员管理、项目分配、预算控制等。他们需要有战略眼光,能够平衡短期目标与长期规划。 第九层:技术总监 技术总监负责公司的整体技术战略,与高层管理层合作...
#### 第八层:技术大师 技术大师已经超越了单一领域的限制,在多个领域都有着深厚造诣。他们能够跨学科地思考问题,并将不同领域的知识融会贯通。这个层次的程序员往往被视为行业的标杆人物,他们的观点和建议受到...
在IT行业中,一份精心制作的简历是求职者打开成功之门的关键。对于程序员而言,简历不仅需要展示技术能力,还要突出项目经验、学习能力和...记住,简历是你与潜在雇主的第一接触,务必让它充分展示你的专业性和潜力。
### 知识点一:计算机系统的程序员视角概览 **标题**:“程序员角度深入理解计算机系统” **描述**:“本书名为《计算机系统:程序员视角》(Computer Systems: A Programmer’s Perspective),强调用较少的资源...
这本pdg格式的书籍共计十章,内容涵盖了325页的知识点,大小为3.72M,适合那些希望在C语言编程领域更上一层楼的程序员们。 首先,第一章通常会介绍C语言的历史和发展,以及其在现代软件开发中的地位。C语言因其高效...
- **第八章**:从头至尾漫谈虚函数 - **第九章**:闲话链表追赶问题 - **第十章**:如何给10^7个数据量的磁盘文件排序 - **第十一章**:最长公共子序列(LCS)问题 - **第十二至十五章**:中签概率、IP访问次数、...
### 黑马程序员Android视频教程知识点解析 #### 一、Android基础概述 - **定义与特点**:Android是一种基于Linux内核(不包括GNU组件)的开源操作系统,主要用于移动设备。它由Google公司及其领导下的开放手机联盟...
第八章反射——程序员的快乐! 第九章会修电脑不会修收音机?——聊设计模式原则 第十章三层架构,分层开发 第十一章无熟人难办事?——聊设计模式迪米特法则 第十二章有了门面,程序员的程序会更加体面 第十三章...
#### 第八章:列表,菜单和其它Views 1. **视图组件**:介绍各种视图组件,如ListView、Menu、Button、CheckBox、EditText、RadioGroup、Spinner等,以及它们的使用场景和方法。 2. **属性定制**:教授如何修改视图...
#### 十、程序员与猎头 - **利用猎头资源:** 合理利用猎头资源可以帮助个人更快地找到合适的工作机会。 - **避免猎头陷阱:** 谨慎对待猎头提供的信息,并确保对方是可信的合作伙伴。 #### 十一、职场秘籍——...
[原网页] 程序员编程艺术第二十八~二十九章:最大连续乘积子串、字符串编辑距离 [原网页] 数据挖掘中所需的概率论与数理统计知识、上 [原网页] 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法 [原网页] 九月十月...
#### 九、CSS+DIV布局的优势 1. **结构与表现分离**:CSS+DIV可以使HTML文档的结构更加清晰,有利于SEO优化。 2. **易于维护和更新**:样式可以在CSS文件中统一定义,便于管理和修改。 3. **更好的可访问性和兼容性...
第八章............反射——程序员的快乐! 第九章............会修电脑不会修收音机?——聊设计模式原则 第十章............三层架构,分层开发 第十一章............