扬尼斯定律:程序员的开发效率真相(每6年提高一倍)

我不断的听到各种关于“软件危机”的警言,以及关于软件开发缺少过程规范的批评。我做编程工作超过15年,我认为这些言论基本上都是错的:我确信我能在很短的时间里用如今的开发工具复制出15年前一个不错的程序员开发出的东西。

模仿摩尔定律和Proebsting定律(这个不像是预言,更像是挑唆),我要给出的定律是:程序员的开发效率每6年提高一倍。

为了证实我这个定律里的数字部分,请注意下面我的发现。在1972年的《在分解模块化系统中用到的规范(On the Criteria to Be Used in Decomposing Systems into
Modules)》这篇经典论文里,作者David Parnas写道:

KWIC索引系统接受一个有序的多行信息,每行由有序的多个词组成,每个词由有序的多个字符组成。每行信息都能通过把第一个词挪到行尾这样“循环变换”。 KWIC索引系统的输出是每行内容都通过字母顺序经过“循环变换”后的新行。这是一个小系统,如果不考虑特殊情况(海量数据,没有软件支持),这样一个系统由一个中等水平的程序员来开发,能在一到两周时间里做出来。

现在是2003年,如果一个程序员不能在一或二个小时——而不是1972年的一至二周——做出这个系统,我会认为他是个不可接受的程序员。这就建立起了一个31年里开发效率提高40倍、或者说每年12.5%提高的公式,由此而得到每6年开发效率提高一倍的结论。

请注意,没有一个现代程序员所使用的开发工具是专门针对KWIC系统的需求的:这个问题需要“从头解决”,所以,尽管跟1972年的时代不同,我们仍然可以这样比较。

这种巨大的进步无疑是由于可复用的软件代码、更好的开发工具、更好的编程语言,更好的计算机教育等因素叠加的结果。但同时也是使用更快的机器、允许我们忽略掉底层的操作、使用更便捷但效率稍微次一点的解决方案的结果。


<wbr>【1】<wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014rwm.html" target="_blank"> 海量Android教程、开发资料和源码</a><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

【2】<wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014rwo.html" target="_blank"> 海量Linux学习教程和开发资料</a><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>

【3】<wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014u04.html" target="_blank"> 海量C、C++、MFC和VC++教程、源码和开发资料</a></wbr></wbr></wbr>

【4】<wbr><wbr><wbr><wbr><wbr><wbr><span><strong><a href="http://blog.sina.com.cn/s/blog_a752817501014vty.html" target="_blank">海量Java教程、开发资料和源</a><span><strong><a href="http://blog.sina.com.cn/s/blog_a752817501014vty.html" target="_blank">码</a><a href="http://blog.sina.com.cn/s/blog_a752817501014vty.html" target="_blank"></a></strong></span><span><img title="此博文包含投票" height="15" alt="海量IT开发资料下载导航" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" width="15" align="absMiddle"></span></strong></span></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span><a title="我5年程序员人生的点点滴滴" href="http://blog.sina.com.cn/s/blog_a752817501014rzq.html" target="_blank">我5年程序员人生的点点滴滴</a></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014mgn.html" target="_blank"><span style="font-size:16px">老程序员的忠告:不要做浮躁的软件工程师</span></a><span style="font-size:16px"></span></wbr></wbr></wbr></wbr></wbr></wbr>

成为Java高手的25个学习目标--非常经典<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

古往今来中国最经典的五十句名言

43个不可不知的健康常识,终生受益!43个不可不知的健康常识,终生受益!

2012年-2059年美国、日本和中国GDP预测

2012年4月发布的世界各国/地区人均GDP排名

古代四大美男、四大丑女和四大美女

穷人和富人心态的最大区别

毕业五年决定你的一生

12种最养男人的食物和10种最养女人的食物

永远不要问研究生的15个问题--never

老中医的顺口溜,太实用了!

教你如何看清一个人的本质很靠谱的

<wbr><wbr><wbr><wbr><wbr><p></p> </wbr></wbr></wbr></wbr></wbr>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值