揚尼斯定律:程序員的開發效率每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年的時代不同,我們仍然可以這樣比較。

這種巨大的進步無疑是由于可復用的軟件代碼、更好的開發工具、更好的編程語言,更好的計算機教育等因素疊加的結果。但同時也是使用更快的機器、允許我們忽略掉底層的操作、使用更便捷但效率稍微次一點的解決方案的結果。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449005.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449005.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449005.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ApiBoot - ApiBoot Quartz 使用文檔

ApiBoot Quartz ApiBoot內部集成了Quartz,提供了數據庫方式、內存方式的進行任務的存儲,其中數據庫方式提供了分布式集群任務調度,任務自動平滑切換執行節點。 引用ApiBoot Quartz 在pom.xml配置文件內添加,如下配置: …

《算法競賽進階指南》0.4二分

102. 最佳牛圍欄 農夫約翰的農場由N塊田地組成,每塊地里都有一定數量的牛,其數量不會少于1頭,也不會超過2000頭。 約翰希望用圍欄將一部分連續的田地圍起來,并使得圍起來的區域內每塊地包含的牛的數量的平均值達到最大。 圍起區域內至少需要包…

Hibernate 自動創建表

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 在 hibernate.cfg.xml 添加這句話&#xff0c;可以自動生成數據表 : <property name"hibernate.hbm2ddl.auto">upd…

程序員越老越優秀嗎?

Peter Knego 向我們展示了一些有趣的東西&#xff1a; 官方數據&#xff1a;程序員年紀越大越出色、越稀有。他使用StackOverflow的聲譽值和其它幾個指標來印證他的觀點。 他的總結是&#xff1a; 隨著年齡的增加&#xff0c;程序員的數量急劇下降。程序員數量的峰值出現在2…

小程序學習(一):點擊愛心變色 -- 最簡單的事件實現

最近在學習小程序&#xff0c;想通過寫文章來記錄自己的學習歷程&#xff0c;希望能做到每周都寫…… 如何綁定一個事件 微信小程序中&#xff0c;綁定事件要在標簽內寫入這兩段代碼&#xff1a; bindtap"fnActive" data-favourite "{{isLike}}" 復制代碼…

安全通信

安全通信 應用層協議大多數自己都沒有實現加解密功能&#xff0c;比如http等。http就是直接把數據加載進來然后做簡單編碼&#xff08;也就是流式化&#xff09;然后響應客戶端&#xff0c;然后數據在瀏覽器展示&#xff0c;這個數據在傳輸過程是明文的&#xff0c;你截獲就可以…

出現 java.lang.NullPointerException 的幾種原因、可能情況

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。一般報 java.lang.NullPointerException的 原因有以下幾種&#xff1a;1. 字符串變量未初始化 。 2. 接口類型的對象沒有用具體的類初始化…

純JPA 入門小案例(2)

2019獨角獸企業重金招聘Python工程師標準>>> JPA中的主鍵生成策略 通過annotation&#xff08;注解&#xff09;來映射hibernate實體的,基于annotation的hibernate主鍵標識為Id, 其生成規則由GeneratedValue設定的.這里的id和GeneratedValue都是JPA的標準用法。 JPA…

spring IoC/DI

一、spring創建對象的三種方式&#xff1a;1、通過構造方法創建無參構造創建&#xff1a;默認情況有參構造創建&#xff1a;需要明確配置<constructor-arg>中配置index&#xff1a;參數索引name&#xff1a;參數名type&#xff1a;參數類型&#xff08;區分基本數據類型和…

并發不是并行,它更好!

原文鏈接&#xff0c;譯文鏈接&#xff0c;譯者&#xff1a;雷哥&#xff0c;饒命&#xff0c;校對&#xff1a;李任 現代社會是并行的&#xff1a;多核、網絡、云計算、用戶負載&#xff0c;并發技術對此有用。 Go語言支持并發&#xff0c;它提供了&#xff1a;并發執行&…

詳解設計模式在Spring中的應用

設計模式作為工作學習中的枕邊書&#xff0c;卻時常處于勤說不用的尷尬境地&#xff0c;也不是我們時常忘記&#xff0c;只是一直沒有記憶。 今天&#xff0c;在IT學習者網站就設計模式的內在價值做一番探討&#xff0c;并以spring為例進行講解&#xff0c;只有領略了其設計的思…

開大你的音響,感受HTML5 Audio API帶來的視聽盛宴

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 話說HTML5的炫酷真的是讓我愛不釋手&#xff0c;即使在這個提到IE就傷心不完的年代。但話又說回來&#xff0c;追求卓越Web創造更美世界…

Microsoft Visual Studio 2010(vs2010) 中文版安裝

Microsoft Visual Studio 2010(vs2010) 中文版安裝 日期&#xff1a;2019-05-12 時間&#xff1a;20:03:36 編輯&#xff1a;張國富 下載地址 基本簡介 Microsoft Visual Studio&#xff08;vs2010是簡稱&#xff09;是微軟公司推出的開發環境。visual studio 2010…

JVM的幾點性能優化

HotSpot&#xff0c;家喻戶曉的JVM&#xff0c;我們的Java和Scala程序就運行在它上面。年復一年&#xff0c;一次又一次的迭代&#xff0c;經過無數工程師的不斷優化&#xff0c;現在它的代碼執行的速度和效率已經逼近本地編譯的代碼了。 它的核心是一個JIT&#xff08;Just-I…

IDEA配置 及 快捷鍵

出處&#xff1a; https://www.cnblogs.com/hero123/p/10120552.html 快捷鍵&#xff1a; 格式化代碼 CtrlaltL 后退Ctrlalt <- 格式化代碼快捷鍵&#xff1a;Ctrl Alt L 刪除整行&#xff1a;CtrlX 實現類 ctrl alt CtrlN 查找類 CtrlShiftN 查找文件 CTRLSHIFTALTN 查找…

LeetCode Decode Ways

123123轉載于:https://www.cnblogs.com/ZHONGZHENHUA/p/10854545.html

SpringBoot 之集成 Spring AOP

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 在開始之前&#xff0c;我們先把需要的jar包添加到工程里。新增Maven依賴如下&#xff1a; <dependency><groupId>org.spri…

9件事把你從消極情緒中解救出來

也許你很難相信&#xff0c;但是情緒可以通過重復形成習慣。消極情緒甚至可以變成某種嵌入你每日生活的東西。 如何將它們趕跑? 你發現你不斷地埋怨世界和自己?你可以輕易地生氣并且對人變得刻薄?那憤怒又是否成為你對事情本能的回應了?如果你對所述問題中的一個回答了“是…

數據庫主鍵自增插入顯示值

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主同意不得轉載。 https://blog.csdn.net/nwsuaf2009012882/article/details/32703597 SQL Server 2008 數據庫主鍵自增插入顯示值 前幾天在工作的時候遇到在刪除數據庫中表的數據的時候。刪除之后&#xff0c;又一次…

解決: This application has no explicit mapping for /error, so you are seeing this as a fallback.

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff0c;出現這個異常說明了跳轉頁面的url無對應的值. 原因1: Application啟動類的位置不對.要將Application類放在最外側…