2
| 本文作者: 潔穎 | 2016-05-04 15:18 |

說(shuō)實(shí)話,如果古希臘的西西弗斯是一個(gè)在2016年編寫開源代碼的開發(fā)者,那他會(huì)有賓至如歸的感覺。著名的西西弗斯處罰,是神話流傳下來(lái)的,他被迫推一塊巨大的石頭上山,當(dāng)?shù)琼斨?,只能眼睜睜看著它滾下去,周而復(fù)始直到永遠(yuǎn)。悄無(wú)聲息的,全球的開發(fā)者在過(guò)去的幾年里,也在接受類似的處罰。而且巨石還在不斷變大。
美國(guó)國(guó)會(huì)圖書館擁有約2400萬(wàn)本各種類型的圖書。它是人類有史以來(lái),創(chuàng)造的書寫人類知識(shí)最大的寶庫(kù)。
2009年,GitHub成立。它現(xiàn)在擁有超過(guò)3500萬(wàn)軟件庫(kù)或信息庫(kù),有著幾十萬(wàn)億行代碼。研究表明,這一數(shù)額以指數(shù)速度增長(zhǎng),每14個(gè)月左右還會(huì)雙倍增長(zhǎng)。開放源代碼是毫無(wú)疑問今天編程技術(shù)的前沿,是人類知識(shí)最大的、功能最強(qiáng)大、最先進(jìn)的寶庫(kù)。
那么,為什么90%-98%的開放式源代碼,12個(gè)月后會(huì)被拋棄?
我們先來(lái)看一組驚人的數(shù)字:今天寫的代碼,明年今日,90%以上將永遠(yuǎn)不會(huì)被再次使用。
它們變得無(wú)效、過(guò)時(shí),在時(shí)間的流沙中被遺忘。在2015年調(diào)查中,Stack Overflow發(fā)現(xiàn),每個(gè)開發(fā)者在工作之外一周平均花費(fèi)大約7小時(shí)來(lái)編程。 GitHub的報(bào)告指出超過(guò)1200萬(wàn)用戶在開源項(xiàng)目工作。數(shù)百萬(wàn)聰明的人花了數(shù)百萬(wàn)個(gè)小時(shí)的工作就這樣被人們置之不理了。
最瘋狂的一部分是似乎沒有人問“為什么?”。為什么絕大多數(shù)開放源代碼被掩埋,被忘記了?為什么我們每一天一遍又一遍地編寫相同的代碼,而同一時(shí)間該代碼幾乎可以肯定就在開源平臺(tái)的某處, 在等待被我們使用的?
這種事發(fā)生的主要原因是,因?yàn)槿藗冎皇前研畔?kù)作為存儲(chǔ)庫(kù)。開發(fā)者都知道AngularJS,或JQuery的或React,但很少有人知道超過(guò)10個(gè)開源軟件包。這就是讓人瘋狂的部分,因?yàn)槿藗儾恢?、或者不使用整個(gè)開源軟件包,所以沒有人使用其中的代碼。寫于2015年的軟件包可能對(duì)一個(gè)人來(lái)說(shuō)不是整體都有用,但也許它恰好就包含了所需的功能。最有用的部分不總是整個(gè)包,有時(shí)是其中的一段代碼。
比方說(shuō),有人正在尋找一個(gè)JavaScript的功能以在數(shù)組中洗牌元素,或不同的功能來(lái)創(chuàng)建隨機(jī)的字符串。這些小的代碼片段在開源平臺(tái)有幾百個(gè)相同的。但是,沒有人知道他們的存在,即使他們知道,也沒有人知道如何找到它們。因此,這些有價(jià)值的知識(shí)被丟棄或遺忘,只是因?yàn)樗鼈冸y以獲得。實(shí)在太扯了,對(duì)所有人而言都沒好處。
那么,我們要如何解決這個(gè)爛攤子?回答這個(gè)問題很容易,做起來(lái)就很難,你需要做三件事情:
1.從功能方面整理所有開放的源代碼,對(duì)它們進(jìn)行詳細(xì)分類
2.建立一個(gè)模型來(lái)表示這些不同代碼的實(shí)際功能
3.創(chuàng)建一個(gè)容易簡(jiǎn)單的方法來(lái)搜索和查找這些代碼片段。
這就是我們建立Cocycles的原因。Cocycles滿足上述所有的條件,同時(shí)還在繼續(xù)完善。它的算法可以處理大量的開源代碼,閱讀和理解每一條不同的代碼的功能。然后,它可以讓人們使用簡(jiǎn)單的英文來(lái)搜索代碼。
例如,用戶只需要輸入“洗牌陣列”或“創(chuàng)建隨機(jī)字符串”,然后它們會(huì)用各種開放源代碼執(zhí)行、文檔、用法示例和更多的方式呈現(xiàn)。它甚至?xí)峁┥傻陌械母綄俸妥庸δ艿挠杏闷巍?/p>
在未來(lái)的幾年后,人工智能軟件也許能夠用它來(lái)尋找和學(xué)習(xí)新的代碼;不斷完善和改變代碼。
via readwrite
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。