说实话,如果古希腊的西西弗斯是一个在 2016 年编写开源代码的开发者,那他会有宾至如归的感觉。驰名的西西弗斯处罚,是神话流传下来的,他被迫推一块微小的石头上山,当登顶之后,只能眼睁睁看着它滚下去,周而复始直到永远。悄无声息的,寰球的开发者在过来的几年里,也在承受相似的处罚。而且巨石还在一直变大。
美国国会图书馆领有约 2400 万本各种类型的图书。它是人类有史以来,发明的书写人类常识最大的宝库。2009 年,Github 成立。它当初领有超过 3500 万软件库或信息库,有着几十万亿行代码。钻研表明,这一数额以指数速度增长,每 14 个月左右还会双倍增长。凋谢源代码是毫无疑问明天编程技术的前沿,是人类常识最大的、性能最弱小、最先进的宝库。那么,为什么 90%-98%的开放式源代码,12 个月后会被摈弃?细节处见代码咱们先来看一组惊人的数字:明天写的代码,明年今日,90%以上将永远不会被再次应用。它们变得有效、过期,在工夫的流沙中被忘记。在 2015 年考察中,Stack Overflow 发现,每个开发者在工作之外一周均匀破费大概 7 小时来编程。GitHub 的报告指出超过 1200 万用户在开源我的项目工作。数百万聪慧的人花了数百万个小时的工作就这样被人们束之高阁了。
最疯狂的一部分是仿佛没有人问“为什么?”。为什么绝大多数凋谢源代码被埋葬,被遗记了?为什么咱们每一天一遍又一遍地编写雷同的代码,而同一时间该代码简直能够必定就在开源平台的某处,在期待被咱们应用的?这种事产生的次要起因是,因为人们只是把信息库作为存储库。开发者都晓得 AngularJS,或 JQuery 的或 React,但很少有人晓得超过 10 个开源软件包。这就是让人疯狂的局部,因为人们不晓得、或者不应用整个开源软件包,所以没有人应用其中的代码。写于 2015 年的软件包可能对一个人来说不是整体都有用,但兴许它恰好就蕴含了所需的性能。最有用的局部不总是整个包,有时是其中的一段代码。比方说,有人正在寻找一个 JavaScript 的性能以在数组中洗牌元素,或不同的性能来创立随机的字符串。这些小的代码片段在开源平台有几百个雷同的。然而,没有人晓得他们的存在,即便他们晓得,也没有人晓得如何找到它们。因而,这些有价值的常识被抛弃或忘记,只是因为它们难以获得。切实太扯了,对所有人而言都没益处。整顿所有代码,并使其不便找到那么,咱们要如何解决这个烂摊子?答复这个问题很容易,做起来就很难,你须要做三件事件:从性能方面整顿所有凋谢的源代码,对它们进行具体分类建设一个模型来示意这些不同代码的理论性能创立一个容易简略的办法来搜寻和查找这些代码片段。这就是咱们建设 Cocycles 的起因。Cocycles 满足上述所有的条件,同时还在持续欠缺。它的算法能够解决大量的开源代码,浏览和了解每一条不同的代码的性能。而后,它能够让人们应用简略的英文来搜寻代码。例如,用户只须要输出“洗牌阵列”或“创立随机字符串”,而后它们会用各种凋谢源代码执行、文档、用法示例和更多的形式出现。它甚至会提供生成的蕴含所有的从属和子性能的有用片段。
在将来的几年后,人工智能软件兴许可能用它来寻找和学习新的代码;不断完善和扭转代码。