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

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

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

答:Ctrl+C、Ctrl+V。

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

(图片来源:知乎)

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

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

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

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

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

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

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

小结

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




本文作者:岑大师
本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
3月前
|
前端开发 JavaScript 调度
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
22 1
|
10月前
|
Oracle Java 关系型数据库
神级程序员都在用什么工具?
神级程序员都在用什么工具?
|
10月前
|
数据可视化 搜索推荐 程序员
丝滑!用了这款开发工具,我成了整个公司代码写得最秀的码农
丝滑!用了这款开发工具,我成了整个公司代码写得最秀的码农
|
10月前
|
JavaScript 前端开发 测试技术
6款程序员实用工具,老少皆宜,你一定用得上!
6款程序员实用工具,老少皆宜,你一定用得上!
|
存储 程序员 编译器
【C/调试实用技巧】—作为程序员应如何面对并尝试解决Bug?
【C/调试实用技巧】—作为程序员应如何面对并尝试解决Bug?
106 0
|
JavaScript Java 开发工具
【鸿蒙开发】不是吧~不用敲代码就能编程?
文章目录 前言 1.创建JS工程 2.创建 JS Visual文件 3.效果展示
【鸿蒙开发】不是吧~不用敲代码就能编程?
|
监控 前端开发 jenkins
我用这一招让团队的开发效率提升了 100%!
我在一家做微信营销的公司干技术 leader,带 40 多个人,公司名就不说了。在这个位置上做了好几年,把团队从小带大,公司虽然不算风口浪尖上的高增长业务,但技术这块儿也从来没出过什么问题,我还是蛮自豪的。
|
Rust Java 机器人
是 Rust 太难了,还是主流编程本来就这么折磨人?
本文作者在文章的前部分用了大量笔墨详细描述了自己尝试 Rust 受挫的经历,后半部分分析了 Rust 的问题及发展。自发布以来,这篇文章在 r/rust 上得到了 500 多个赞,在 HN 上有 700 多条评论。我们将其翻译出来,以飨读者,也希望大家可以理性讨论。
460 0
是 Rust 太难了,还是主流编程本来就这么折磨人?
|
IDE 网络协议 安全
程序员必定会爱上的10款软件
程序员必定会爱上的10款软件
195 0
程序员必定会爱上的10款软件
|
C# 数据库 Windows
艾伟_转载:基于.NET平台的Windows编程实战(一)——前言
本系列文章导航 基于.NET平台的Windows编程实战(一)——前言 基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计 基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写 基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现 基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现   前言:本系列文章是一个关于.NET Windows编程的入门实战教程。
1008 0