国内外软件开发上的差距与分析
提高自己,迎接好的未來。
在開始任何其他文字之前,首先有必要正視一個根本現(xiàn)實:國內(nèi)外軟件開發(fā)的水平是有差距的。
這一結論的最直接證據(jù)是每一輪新技術的發(fā)起者基本上都是國外的人或公司:
從方法論(CMMI,敏捷等)到各種框架(近來很熱的Hadoop等)再到新的編程語言都是如此。
總的來看這類差距似乎可以概括為“原創(chuàng)的缺失”,大多時候,我們只是處在一種“跟隨者”的角色上。
RUP出來后我們跟誰RUP,敏捷出來我們跟誰敏捷,云計算出來后我們跟隨云計算,大致如此。
年紀小的時候,會單純的以為造成這種局面的主要原因是個人技術能力不足或努力不夠。
但現(xiàn)在想來,這反倒是次要原因。
單以單兵能力來看,國內(nèi)外的程序員群體未必就有很大的差距。
這點可以反過來看,那么多開源的庫,看過代碼后,那個是國內(nèi)程序員看不懂并完全寫不出來的?
如果說既能看懂,有足夠的時間也可以自己寫出來,那么大致上就不是個人技術能力的問題。
這樣事情就變的有些微妙,我們也就需要在更高的視點上審視一下促成一件事情的因子。
一件事情的成敗大致可以用四個維度去考量:
- 有沒有意識去做?-->創(chuàng)新
- 有沒有能力去做
- 有沒有時間去做?-->環(huán)境
- 有沒有動力持續(xù)去做?-->意愿和環(huán)境
排除第二點能力之外,其余三點可以大致概括為:勇為天下先的意識(創(chuàng)新)和創(chuàng)新得以生長的泥土(意愿和環(huán)境)。
這幾者彼此影響,不可分割。
一提創(chuàng)新,很多人可能會想到其瓶頸是沒有想法,進而認為差距的主要原因是意識問題。
但這很可能是錯的,就我自身的觀感,程序員這個群體里,現(xiàn)實的情形應該是想法很多,但受種種制約,實踐下來的不多。
現(xiàn)實的需要激發(fā)了創(chuàng)新,也提供了實踐創(chuàng)新的場所和養(yǎng)分,脫離實際需要的創(chuàng)新是走不遠的。
這似乎只能寄希望于本土軟件企業(yè)的崛起,為程序員提供相應的環(huán)境(時間+實踐創(chuàng)新的場所),
接下來如果程序員這個群體再有實踐自身追求的意愿,那么事情將會改觀。
國內(nèi)外差距的一個間接證據(jù)是國內(nèi)軟件開發(fā)的工程化的程度過于薄弱。
軟件這東西過度工程化是不行的,但不工程化也一定是不行的。
先不論CMMI這種大型方法論,就說最簡單的軟件工程數(shù)據(jù)收集。
在這點上國外比較容易找到各種數(shù)據(jù),比如下面這樣的表格:
| 代碼行/天?最低值-最高值(典型值) | |||
| 軟件類型 | 10,000代碼行的項目 | 100,000代碼行的項目 | 250,000代碼行的項目 |
| 航空電子 | 15-150(30) | 3-45(7) | 3-30(6) |
| 應用系統(tǒng) | 120-2,700(450) | 30-1050(90) | 15-750(75) |
| 命令與控制 | 30-450(75) | 7-90(15) | 6-75(12) |
| 嵌入式系統(tǒng) | 15-300(45) | 4.5-75(11) | 3-60(9) |
| 公眾因特網(wǎng) 系統(tǒng) | 90-1500(225) | 15-300(45) | 15-225(30) |
| 內(nèi)部內(nèi)聯(lián)網(wǎng) 系統(tǒng) | 225-2700(600) | 45-1050(120) | 30-750(90) |
| 微代碼 | 15-120(30) | 3-30(6) | 3-15(4) |
| 過程控制 | 75-750(150) | 15-150(45) | 13-130(30) |
| 實時系統(tǒng) | 15-225(30) | 3-45(7) | 3-45(6) |
| 科學系統(tǒng)/ 工程研究 | 75-1125(150) | 15-225(45) | 12-150(30) |
| 套裝軟件 | 60-750(150) | 15-150(30) | 10-120(30) |
| 系統(tǒng)軟件/ 驅動程序 | 30-750(90) | 7-150(15) | 6-120(13) |
| 電信軟件 | 30-450(90) | 7-90(15) | 6-75(7) |
即使是在日本,也有一個叫IPA這樣的機構在定義各種指標,并持續(xù)收集數(shù)據(jù)。而國內(nèi)似乎還沒人做這類事情。
這樣的話對軟件開發(fā)個體而言,負面影響可能并不直觀,但從整體來看卻也是一種切切實實的差距。
這點上很難靠個人來推進和改善,需要有一種組織(軟件協(xié)會?)來持續(xù)推進才有可能改觀。
------------------------------------------------------------------------------------------------------------------------------------
理想流口號:創(chuàng)建超一流方法論,為培育超一流軟件公司貢獻力量。
理想流博客:http://blog.csdn.net/leezy_2000
總結
以上是生活随笔為你收集整理的国内外软件开发上的差距与分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 代码疑云
- 下一篇: sql数据库简单增删改查