- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
好的程序员,效率是普通程序员的亿万倍
2011-5-27
咋看之下,有人肯定认为这是标题党,或者有人或许认为:疯了吧,怎么可能有亿万倍。为了证明我不是标题党,我也没疯,我决定把这篇文章写好!大家先来点掌声,支持一下!^_^
网上流传的“标准观点”是:好的程序员效率是普通程序员的数倍。这句话被很多人、很多文章引用过。而我说:好的程序员是普通程序员的亿万倍。这是不是有点非常非常夸张了?如果真这么好,那么普通程序员都不用干活了,都只由“好的程序员”做了算了。
以我的经验来看,这或许有点夸张,但却基本属实。非常非常好的程序员,的确效率是普通程序员的亿万倍不止。而稍好的程序员,效率也将是普通程序员的百倍不止。
先抛出个问题:既然比的是程序员的好与普通、效率的高低之分,那么什么称得上是程序员的效率呢?
效率是不是可以认为是编码的效率?亦或甚至是编程带来的产品效应,社会效益?
程序员的效率,其实我们很多时候,单单说的是:这个人每天编码的量。一个人是大牛(好的程序员),是不是说,他一天编码的量,就一定比普通程序员的量大呢?我觉得不一定。很多搞外包的,每天编码量达到了上一两千行,这是很正常不过的了。但他们是不是好的程序员呢?而作为最著名的软件公司微软公司,他们的程序员每天的编码量据说不过是50行。差距何其巨大!难道他们的牛人算不得好的程序员?
所以我认为,每天的编码行数比较大,并不代表你是不是一个好的程序员。你能编写正确良好运行的程序,但不能认为你就是好的程序员了!好的程序员是普通程序效率的亿万倍,你觉得你做到哪一份上了呢?(当然,这时候,效率还没定义好呢,接着往下看)
其实,有在大公司工作过的经历,让我从大牛那里学到不少知识。其中对好的程序员,和普通程序员的印象也更为清晰。好的程序员,他们的编码量或许不大,但他们的程序是公司的一切产品的核心!有人肯定猜到了,对,那就是程序库。
好的程序员与普通程序员的差距是否就在于,能否编写一个复用率比较高的程序库。复用率高,意味着其它员工,可以利用上这个库,做一些高质量的编程开发,从而大大提升了整个项目组,甚至是整个部门、公司的效率。并且保证了产品质量,避免了重复的低质量的开发。从而为公司赢得了市场,换取了经济效益。
这里,你或许已经有点明白我说的了。为什么好的程序员是普通程序员的亿万倍了。
好的程序员,编出来的程序,可以做到“一次编写,多人多次多处可用”的。高的复用率,意味着效率。这个效率之高,又怎么会是普通程序员编写的“多次重复编写、个人一次性使用”可以比的呢?
说了这么多,我终于有了“程序员效率”的定义了!
程序员效率定义1:一个程序段(包括其复制版)的运行时间总和(小时)/ 编写该程序段所花时间
大家觉得,按这个定义,什么样的程序员效率会比较高。什么样的程序员算好的程序员、什么样的算普通程序员?
微软那些大牛们,编写的可是操作系统啊。运行于千家万户。累积起来的运行时间肯定是无可比拟的。对比一些小公司的程序员(产品可能卖得不好),效率那可真是相关亿万倍不止。
像linus ,编写了linux内核,估计不少代码仍然在使用。Linux系统如今占据着服务器操作系统市场的不少份额,因而也是效率非常高的一个程序员。
Java创始人 及其 jdk编写者。编写的代码,至今良好运行于多种平台(移动的、PC的、服务器的),并且仍为java平台的储多程序员复用着,编写着大量的商业、娱乐、学习产品,大大提升了人们的编写产品的效率。你说,他们的对人类虚拟世界的贡献大不大?他们算不算好的程序员? 他们的效率是不是非常之高?
Mysql是一个伟大的开源数据库。作为一个成功的数据库产品,他们应用于许许多多的互联网产品当中。使得我们有了更好的管理产品数据的能力,创造了非常大的时间效益、经济效应,社会效应。这当属非常成功的产品。创建他们的人,也是非常好的、伟大的程序员!
现在我们来到某个大型的互联网公司,参观一下他们的世界。一个程序员大牛们。他不是疯狂地在加班,而是在听音乐。是的他在听音乐,而此时,他在构思一个奇妙的构想。通过构建某一个程序库+自动化组件+可配置化系统,能让他们以后的某个业务,能快速的通过这些自动化组件、程序库快速构建起来,从而大大减少人力、提升效率和程序员的生活品质。是的,他以前就是这么做的。因此他成为了公司的骨干!他与公司在一同快速成长起来!(PS,我现在所在的大公司,一个程序员大牛说过:一切皆可自动化!――可自动化学派)
其实,你或许说了,在微软,就算你编写的是狗屎代码,但按我的公式算出来,也算是非常好的程序员。其实,狗屎不是狗屎,市场可以做初步判定。并且从长远来看,如果你的东西真不是狗屎,那么亿万年之后,依然有人在用你的代码。
再举一些或许不那么程序员的例子。但即与《程序员的十层楼》有异曲同工之趣!
二分
文档评论(0)