码农福音!CASIL开发代码移植系统,CTRL+C/V快速编程不再是梦想

问:对于码农来说,有哪些可以提高开发效率的技巧?

答:Ctrl+C、Ctrl+V。

(图片来源:知乎)

近日雷锋网发现,麻省理工学院计算机科学与人工智能实验室(Computer Science and Artificial Intelligence Laboratory,CASIL)的一项新技术或将成为千百万码农的福音。他们开发了一个叫CodeCarbonCopy的系统,让码农可以将所需要的代码直接移植到新的程序中。具体来说,程序员可以从第一个程序中选择所需要的代码,然后在第二个程序中选择插入的位置,系统将会自动对代码进行修改——例如,变量名等,使得代码可以上下一致。

很厉害吧?这还没完。更碉堡的是,该系统可以在不同程序的不同文件格式和数据结构中进行转换。举个栗子,不同的图像处理程序可能会需要处理不同的文件格式,例如jpg、tiff或png等,在这个系统内部,它将会用单一的标准化方案表示这些图像格式,尽管不同的程序可能会使用不同的方案,但这个系统会自动进行转换,使得代码真正实现“无缝对接”。

CASIL的研究者在ACM软件工程基金会的研讨会上展示了这一系统。他们使用CodeCarbonCopy在六个流行的开源图像处理程序之间移植代码,总共进行了八次这样的代码移植实验,其中七次均取得了成功。

(在不同数据结构中找到对应关系,雷锋网摘自相关论文)

使用CodeCarbonCopy将代码从一个程序移植到另一个程序的第一步是,将这两个程序都提供给相同的输入文件。然后系统比较两个程序如何处理该文件并自动推断出这些变量在各自的程序中扮演着相同的角色,一旦它确定了变量之间的对应关系,CodeCarbonCopy即可进行相应的处理。如果在两个程序代码中找不到某些变量的匹配项或者这些变量的初始定义,用户可以将这些变量进行标记,同时CodeCarbonCopy将自动从代码移植中消除使用这些变量的操作。

CodeCarbonCopy适用于不同文件格式(例如图像和数据存储)。在图像处理器中,这些程序基本上具备相同大小的存储单元,而在下一步工作中,研究人员正在考虑将文件格式的方法概括为一种,使得程序可以更灵活的组织数据和使用除数组之外的数据结构(如树或链表等)。

小结

让AI来自己编写是近年来人工智能的一个研究方向。如Deepmind开发的DeepCoder就会自己编程,但目前Deepcoder只能解决数行的代码问题,而且在自动拟合的程序中可能会出现很多缺乏逻辑性的代码,但CodeCarbonCopy这种可以大规模移植已有代码的工具的出现,在减轻了码农的负担的同时或许也给他们带来一丝担忧:如果AI也学会用Ctrl+C和Ctrl+V编程,未来还真的是码农们的对手呢。

本文作者:岑大师

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-08-04 06:57:20

码农福音!CASIL开发代码移植系统,CTRL+C/V快速编程不再是梦想的相关文章

于码农而言什么样的代码才能叫做好代码?

好的代码,就像是好的笑话--无需解释就能让别人明白.如果你的代码能够做到不解自明,在大多数时候,你根本无需为其配备说明文档. 好的代码,就像是一辆配备了优秀音响和杯架的汽车,这辆车在行驶到最高速度的时候,你听不到噪音,也不用担心水会洒出来.在它出现故障的时候,任何一名修理工都可以使用最常见的工具,在最短的时间里轻松将其修好. 而坏的代码,就像是一辆向你承诺最高速度可以达到200MPH,但是音响只能播放老式的磁带,而且杯架还不稳的车.你在调整反光镜角度的时候,汽车都会突然出现故障,而且一般的修理工

月薪3000元的码农到首席架构师的经历

"在微博平台,有幸结识了一帮趣味相投资深码农,离开以后很难再有这么一个团队来成长了--想想都是幸运,成天跟一群这么优秀的人在一起,想变差都不容易." 笔者. 我现在负责熊猫 TV 整体基础架构工作,是一个快 9 年工龄的码农.办公地点在 O2O 宇宙中心--望京 SOHO,附近的伙伴们可以随时约起. 我在 2007 年毕业,和很多同行一样,也是从小公司起步,曾做过 ERP,信息安全,互联网社交平台.游戏平台等,现在工作是直播娱乐平台.写过几年的语言有 Java.C/C++.PHP.Go

码农和程序员之间的5个关键差异(转)

  英文原文:5 key differences between hiring a coder and a developer 如果一个企业老板大声嚷嚷说,"我要招个程序员",那么十之八九指的是"码农"--一种纯粹为了钱而写代码的技术人员.这其实是一种非常狭隘和错误的做法,原因么,且听我一一道来. 1. 码农写的是代码,程序员写的是系统 从本质上讲,码农就是你让他写什么他就写什么的"机器人才".所谓的码农大多通晓几门编程语言,但是却于商业上面并不

android开发-android 系统代码移植

问题描述 android 系统代码移植 downloadprovider解析浏览器下载传送过来的uri错误,但uri能正确用log打印出来

老码农:如何写出让自己满意的代码

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 今天有位朋友在微博上问我这样一个问题: "@老码农的自留地 ,最近出于学习目的写一个管理系统,越到后边,越觉得自己前边的代码写得烂.前辈,我想让代码写得更好一点,能不能谈谈你的经验,给我指点一下!" 我在回复里刚写了几句,就意识到140个字很难把我的想法说清楚,本着知无不言言无不尽的好为人师精神,我决定把我的回答写成一篇博

自动写代码工具要颠覆码农?

自动写代码工具要颠覆码农? 时间:2014-11-14 09:23 来源:百度百家 作者:小谦 摘要 : 人类总是会对自己的未来充满了焦虑,在我们对未来心存怀疑的时候,任何一则"消极"一点的消息都能让我们更加否认自己的未来,这一心理近日在对程序员前景心存质疑的人们身上,非常明显. 人类总是会对自己的未来充满了焦虑,在我们对未来心存怀疑的时候,任何一则"消极"一点的消息都能让我们更加否认自己的未来,这一心理近日在对程序员前景心存质疑的人们身上,非常明显. 日前,据 网

ThinkPHP3.2.1版本正式发布了,马年码农们的福音

在这个特别的日子里, ThinkPHP3.2.1版本http://www.aliyun.com/zixun/aggregation/18782.html">正式发布了,祝马年码农们元宵节情人节快乐啊^_^ 在继此前发布的3.2.0版本对ThinkPHP的架构作出重大调整之后,ThinkPHP3.2.1版本在修正一些BUG后,着重优化了性能,并提高了 易用性,同时也增加了不少的扩展功能,是一个比3.2.0版本更加 稳定.安全.高效以及易用的版本.强烈推荐升级. [ 更新 ] 相对于3.2.0

一个经验尚浅的码农五年软件开发的一点自我总结,对工作五年的反思~

class="post_content" itemprop="articleBody"> 一位就要换城市(离开北京)+ 换职业(不做开发),去新公司报道的程序猿,最近反思了自己毕业后的这五年工作,记录下五年以来软件开发的一点自我总结,也算是给过来人提点建议,少走点弯路吧-- 08年顶着名校硕士的光环加入了一家非常有名的非软件公司做软件开发,刚开始一切其实都很美好.大外企的各种好在头一年给自己带来了很多光环,当然自己也学到了很多(主要是非技术的东西).可是从第二

安卓开发-将基于activity的代码移植到基于fragment的页面中

问题描述 将基于activity的代码移植到基于fragment的页面中 private void initView() { expandTabView = (ExpandTabView) findViewById(R.id.expandtab_view); viewLeft = new LeftFilterView(this, FilterDataSource.createPriceFilterItems()); viewMiddle = new MiddleFilterView(this);