查看原文
其他

AI 可以自己编程了,程序猿们该何去何从?

2017-04-13 开源中国

#点击图片报名参加武汉、长沙源创会#

愚蠢的人类,快走开——我的代码我自己写!

现在,机器学习系统获得了一种自动编写代码的能力。

这种程序叫做DeepCoder,由剑桥大学和微软公司的研究人员所研发。对于不会写代码的人来说,DeepCoder简直就是福音。因为这个程序解决了编程的基础问题,不需要任何代码知识,人们就可以编写出一些简单的程序。

作为一个局外人,麻省理工学院的ArmandoSolar-Lezama评论道:“转眼之间,编程的工作效率就可以如此之高,很多以前看来难以建立的模型,现在居然都触手可及。”

工作于英国剑桥微软研究院,同时也是DeepCode创始人之一的Marc Brockschmidt认为,有了这种方式,无论是谁,只需要简单地描述一下目标程序,系统就会自己编出对应的语句。

DeepCoder使用了一种叫做程序合成(program synthesis)的技术,其运行原理与程序员所做的事情差不多,就是从存在的软件中获取已知的代码段,并将它们拼接到一起执行新的程序。只要赋予DeepCoder中每个片段对应的输入和输出,程序就可以“学习”到哪些代码是我们所需要的。

麻瓜也可以写程序

让AI(人工智能)自编代码的好处之一就是,相比人类,AI在搜索时比人类更加全面彻底,因此AI可以用人类完全想不到的方式来编写程序。除此之外,DeepCoder还会使用机械学习方式查阅数据库,并根据可能的用法,整理出各个数据段。

而这一切都让系统变得更加灵敏。在DeepCoder之前,老版的应用程序处理问题可能要花费好几分钟,而这对DeepCoder来说可能只是几秒的事情。在DeepCoder自我编程时,它还能自己判断出哪些语句有用、哪些语句有误并进行修正。因此,它在处理新的问题时,会越来越有经验。

科技可以运用在多种层面上。在2015年,麻省理工大学开发出了一种程序,该程序可以自动修复软件中的BUG:如果某系列代码被检测出了错误,它会抓取其他程序中的语句,将其覆盖到错误语句上以修复BUG。Brockschmidt表示,在未来,我们将很容易抓取网页中的信息,比如自动给脸书里的照片分类,而我们根本都不需要碰一下鼠标。

那么这种程序会不会导致程序员大量失业?

Brockschmidt给出的答案是否定的。因为自动拟合的程序中很可能会出现很多毫无逻辑的代码,而我们依然需要程序员来“拯救”这些复杂的程序。

目前,DeepCoder只能用于解决五行以内的代码问题。不过只要选择对了语句,即使是再复杂的程序问题也可以用短短几行代码解决。

“对于大型程序的编写,想要一蹴而就是很难的。” Solar-Lezama表示,“但是千里之行,始于足下,正是很多短代码组合在一起,才有了各种大型的程序。”

稿源:网易科技




推荐阅读

2017 年移动应用开发十大趋势

DB-Engines 发布 4 月份全球数据库排名,MySQL 跌幅最大

从代码构建到性能分析,高效 Java 开发人员的首选工具

TIOBE 4 月编程语言排行榜:Hack 进入前 50

进行数据挖掘的 8 个最佳开源工具 | 工具推荐

点击“阅读原文”查看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存