在開始任何其他文字之前,首先有必要正視一個(gè)根本現(xiàn)實(shí):國內(nèi)外軟件開發(fā)的水平是有差距的。
這一結(jié)論的最直接證據(jù)是每一輪新技術(shù)的發(fā)起者基本上都是國外的人或公司:
從方法論(CMMI,敏捷等)到各種框架(近來很熱的Hadoop等)再到新的編程語言都是如此。
總的來看這類差距似乎可以概括為“原創(chuàng)的缺失”,大多時(shí)候,我們只是處在一種“跟隨者”的角色上。
RUP出來后我們跟誰RUP,敏捷出來我們跟誰敏捷,云計(jì)算出來后我們跟隨云計(jì)算,大致如此。
年紀(jì)小的時(shí)候,會(huì)單純的以為造成這種局面的主要原因是個(gè)人技術(shù)能力不足或努力不夠。
但現(xiàn)在想來,這反倒是次要原因。
單以單兵能力來看,國內(nèi)外的程序員群體未必就有很大的差距。
這點(diǎn)可以反過來看,那么多開源的庫,看過代碼后,那個(gè)是國內(nèi)程序員看不懂并完全寫不出來的?
如果說既能看懂,有足夠的時(shí)間也可以自己寫出來,那么大致上就不是個(gè)人技術(shù)能力的問題。
這樣事情就變的有些微妙,我們也就需要在更高的視點(diǎn)上審視一下促成一件事情的因子。
一件事情的成敗大致可以用四個(gè)維度去考量:
有沒有意識(shí)去做 --》創(chuàng)新
有沒有能力去做
有沒有時(shí)間去做 --》環(huán)境
有沒有動(dòng)力持續(xù)去做 --》意愿和環(huán)境
排除第二點(diǎn)能力之外,其余三點(diǎn)可以大致概括為:勇為天下先的意識(shí)(創(chuàng)新)和創(chuàng)新得以生長的泥土(意愿和環(huán)境)。
這幾者彼此影響,不可分割。
一提創(chuàng)新,很多人可能會(huì)想到其瓶頸是沒有想法,進(jìn)而認(rèn)為差距的主要原因是意識(shí)問題。
但這很可能是錯(cuò)的,就我自身的觀感,程序員這個(gè)群體里,現(xiàn)實(shí)的情形應(yīng)該是想法很多,但受種種制約,實(shí)踐下來的不多。
現(xiàn)實(shí)的需要激發(fā)了創(chuàng)新,也提供了實(shí)踐創(chuàng)新的場所和養(yǎng)分,脫離實(shí)際需要的創(chuàng)新是走不遠(yuǎn)的。
這似乎只能寄希望于本土軟件企業(yè)的崛起,為程序員提供相應(yīng)的環(huán)境(時(shí)間+實(shí)踐創(chuàng)新的場所),
接下來如果程序員這個(gè)群體再有實(shí)踐自身追求的意愿,那么事情將會(huì)改觀。
國內(nèi)外差距的一個(gè)間接證據(jù)是國內(nèi)軟件開發(fā)的工程化的程度過于薄弱。
軟件這東西過度工程化是不行的,但不工程化也一定是不行的。
先不論CMMI這種大型方法論,就說最簡單的軟件工程數(shù)據(jù)收集。
在這點(diǎn)上國外比較容易找到各種數(shù)據(jù),比如下面這樣的表格:
即使是在日本,也有一個(gè)叫IPA這樣的機(jī)構(gòu)在定義各種指標(biāo),并持續(xù)收集數(shù)據(jù)。而國內(nèi)似乎還沒人做這類事情。
這樣的話對(duì)軟件開發(fā)個(gè)體而言,負(fù)面影響可能并不直觀,但從整體來看卻也是一種切切實(shí)實(shí)的差距。
這點(diǎn)上很難靠個(gè)人來推進(jìn)和改善,需要有一種組織(軟件協(xié)會(huì)?)來持續(xù)推進(jìn)才有可能改觀。
-
軟件開發(fā)
+關(guān)注
關(guān)注
0文章
597瀏覽量
27316 -
工程師
+關(guān)注
關(guān)注
59文章
1565瀏覽量
68405
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論