程序员的十层楼概要

作者: 周伟明

原文:

http://software.intel.com/zh-cn/blogs/2009/02/04/400001071/

http://blog.csdn.net/xjbx/archive/2009/02/08/3869314.aspx

 

 

第1层 菜鸟。语言。

第2层 大虾。评议、库、数据结构算法、STL的基本实现和使用方法,多线程编程基础知识,掌握一种开发环境(各种操作系统的API、socket编程)、面向对象的设计知识和设计模式等,学习一些测试、软件工程和质量控制的基本知识

第3层 牛人。C++原理和实现机制,了解操作系统中的内部机制如内存管理、进程和线程的管理机制,了解处理器的基础知识和代码优化的方法更多的数据结构与算法,更深入的测试和调试知识以及质量管理和控制方法,对各种设计方法有更好的理解等。三五十本书。经验和技巧。

第4层 大牛。操作系统、编译器、TCP/IP协议的底层实现,如果你有能力将其中的任何一个实现得象模象样的话,那么你就从牛人升级为"大牛"了。更深入地掌握其中的各种思想原理,能更加自如的运用,并有能力去实现一个象开源项目。200~400本左右的专业书籍并好好掌握它,除此之外,还得经常关注网络和期刊杂志上的各种最新信息。如Linus Torvalds、比尔·盖茨。

第5层 专家。做基础研究,主要的内容就是研究非数值"计算"。如"多核计算"与"云计算"属于非数值计算范畴,就是软件需求、设计、测试、调试、评估、质量控制、软件工程等本质上也属于非数值计算的范畴,甚至芯片硬件设计也同样牵涉到非数值计算。500~1000本以上的专业书籍。需要到专业的学术站点去学习了,到ACM,IEEE,Elsevier,SpringerLink,SIAM等地方去下载论文应该成为你的定期功课,使用Google搜索引擎中的学术搜索。

第6层 学者。"创新",指学术层面的创新,是基础研究方面的创新。学者所做的事情,通常都是在前人的基础上,进行一些小的优化和改进。
第7层 大师。有较大的贡献。首先解决问题必须是比较重要的、有一个较大的提高、或者你解决的是一个全新的以前没有解决过的问题,而且思路和方法必须是你自己提供的。如Hoare(快速排序的算法)、Eugene W. Myers(用编辑图的最短路径模型来解决diff问题的算法)、M.J.D. Powell(处理非线性规划问题的SQP方法)。或者你发现基于比较的排序算法,它的复杂度下界为O(NLogN);或者你发现用栈可以将递归的算法变成非递归的;或者你设计出一个红黑树或者AVL树之类的查找结构;或者你设计出一个象C++或Java一样的语言;或者你发明了 UML。

第8层 科学家。开创一门分支学科,或者是这个分支学科的奠基者,或者在某个分支学科里作出里程碑式的重大贡献,或是集大成者。如Dijkstra(设计了ALGOL语言,提出了程序设计的三种基本结构:顺序、选择、循环),Dijkstra(PV操作和信号量概念),Don Knuth(数据结构与算法这门学科的重要奠基者),巴科斯(Fortran语言,并提出了巴科斯范式),Ken Thompson、Dennis Ritchie(Unix操作系统和C语言),Frederick P. Brooks(System/360和OS/360操作系统,并在失败后反思总结,写出《人月神话》),Steven A.Cook(奠定NP完全性的理论基础),Frances Allen(并行计算来实现编译技术,在编译优化理论和技术取得基础性的成就),Andrew C. Yao(姚期智)(在对计算理论的多个方向如伪随机数生成,密码学与通信复杂度等各个方向上作出重要贡献),…。

第9层 大科学家。开创了一个大的学科,更重要的是他们的成就上升到了“公理”的层面。如,图灵、冯·诺伊曼。

第10层 大哲。如希尔伯特 (1862~1943)、哥德尔 (1906~1978)、海森堡 (1901~1976)。

第11层 上帝。没有人可以骑到“上帝”的头上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值