软件学习的境界-看袁峰对金旭亮回复有感

人类社会是一个群体,在这个群体中,往往也遵守"二八定律",也就是说,100个人里面,20%或更少的人是最优秀的,80%或更多的人是很一般的.因为这是社会的需要,设想一下,商业经济是来钱比较快的,但如果社会上所有人都去经商,那过不了几天所有人都饿死了--因为,没有人去生产粮食.
在每一个行业里面,同样存在这样的情况.比如,大家所看到的影视明星,万千风采集一身,风光无限,但总共能有几个明星?恐怕一百个影视从业者也出不了一个吧.

在软件开发行业来说,还是同样的情况.

作为袁峰来说,学习软件,那就要学好,不说业界数一数二,起码也要达到数得上号的境界,正如俗说:不想成为将军的士兵不是好士兵.但问题是,不可能每个士兵都成为将军.因为每个人的资质有区别,努力程度有区别,成不了将军,成为一个营长/团长也可以啊,因为起码有一个工作可以养家糊口,虽然水平不算非常高,但起码也能够带兵打仗,不至于会"将熊熊一窝".

而更致命的问题是,学软件就一定要达到袁峰所理想的那种境界吗?

软件本身,是社会需要的产物.为什么需要?那是因为我们要使用软件来实现某种功能,达到某种目的,这就是根本的目的.能够达到这个目的的,就可以说是好软件,并非一定需要多么大的系统,多么高超的编程水平.

试想,我们仅仅是需要一个保育员来做做饭,给小孩子擦擦鼻涕,至于需要使用到一个博士生来做这事吗?你可以说,这没有必要,不做了.但保育员做饭和给小孩子擦鼻涕还确实是非常重要的事,你能保证有保育员的耐心和细心吗?

作为一个普通的程序员,只要他能够按照企业的需要,写出符合需求的功能,相对稳定的系统,良好的用户界面,这就够了,不能说他水平有多高是不是世界级的人物,但起码他通过自己的努力为社会做了贡献,同时自己也获得了相应的报酬----这样的要求,需要会么样的人物和水平呢?

也许,仍然有许多地方需要更加高超的技巧,比如说开发一个操作系统,比如写一个图形引擎,甚至搞一个语音识别什么的,确实需要深厚了基础---但,实在的说,一万个程序员里面,究竟有几个人在他的一生中会去碰到这些东西?

比如,我只需要一个电话号码查询,而且作为企业也真的是非常急需这种东西,我们需要请类似于比尔或C#之父级别水平的人来开发吗?如果真的请来了,我敢保证,他们写的东西或许架构非常精妙/扩展性/容错性/性能等等都无可挑剔,但是我觉得他们写出来的东西会不会有人用?因为,我仅仅是需要一个能够简单操作的快速查询的电话号码查询而已.

所以说,存在就是道理,各得其所,物尽其用是自然界普遍的真理.追求上进是人的天性,但人有高低,物有优劣,仅使用自己的标准来套用他人,肯定会出问题. 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值