The Verge
作者很懒,什么都没留下

2

文章/篇

9582

阅读/次

拜访信息

为了给您提供更快更好的服务,在获取作者联系方式前,想对您有个简单了解. 邀请您填写如下信息

提交成功

非常感谢您的配合,我们的作者会尽快通过您的微信,
请耐心等待~

微信号

15701235851

程序员再也不用担心脱发啦,这款神奇能够帮你补全编程代码

The Verge
2019-07-29 · 08:55
[ 亿欧导读 ] “打个比方,程序员常用的编程方法就像‘用手机键盘打字’,而使用Deep TabNine就像转换到‘电脑键盘一样’。”滑铁卢大学学生研发了一款名为Deep TabNine的代码自动补全器。
大数据 代码 屏幕 数字 计算机,深度学习,代码自动补全器,机器学习,计算机编程

文章来源于:The Verge,图片来自“东方IC”

“打个比方,程序员常用的编程方法就像‘用手机键盘打字’,而使用Deep TabNine就像转换到‘电脑键盘一样’。”

近日,滑铁卢大学学生研发了一款名为Deep TabNine的代码自动补全器。该软件可通过机器学习算法,在无需解析大量已有代码的情况下,为程序员提供高质量的编程建议。

近年来,人工智能技术已经被大规模用以生成文本内容。通过扫描大量的文本集,许多机器学习应用可以生成歌词、诗句、短篇小说、新闻稿等逻辑严明的文本,已十分接近真人撰稿的水平。

现在,滑铁卢大学学生将AI应用到计算机编程领域。其研发的Deep TabNine代码自动补全器,利用GPT-2模型,经过200多万份文件的训练,可以为20多种语言的编程工作提供高质量建议。Deep TabNine已可以在相关网站上付费下载,目前没有进一步商业化的计划。

Deep TabNine

使用Python编程时提供建议的Deep TabNine

利用机器学习模型,提升代码补全效果

程序员可以将Deep TabNine插件安装到他们的代码编辑器中,当他们开始编程时,该插件会建议下一行代码写什么,每次会提供一小块建议。

“这类代码补全器插件并不少见,但是通过机器学习技术这款插件的补全效果获得了大大的提升。”Deep TabNine的缔造者Jacob Jackson表示。

去年2月,Jackson开始开发TabNine软件的原始版本,并于同年11月发布。但本月,他发布了一个更新版本,使用了OpenAI的实验室设计的名为GPT-2的深度学习模型生成算法,以提高其算力。OpenAI是由马斯克等诸多硅谷大亨联合建立的人工智能非营利组织。

程序员:TabNine的代码建议更准确

这一更新使许多程序员给予了Deep TabNine正面反馈,他们在Twitter上称其是“惊人的”、“绝对令人兴奋的”。

一位名叫Franck Nijhof的用户是一名IT经理,他在业余时间常常自己研究家庭自动化软件。Nijhof向The Verge写邮件称:“在使用Deep TabNine的第一个小时,我并没有得到什么帮助,因为我简直为它着迷了。我不停地问自己,它是怎么知道的?”

像这样的自动补全工具并不新鲜,但是Nijhof说Deep TabNine的建议更加准确。他说:“我过去试过一些不错的通用软件,它们把事情变复杂了,并且也怎么不实用。TabNine无疑是游戏规则的改变者。”

截图

学习200多万份文件,无需解析已有代码

Jackson说,市面上大多数自动补全器都必须解析用户已经编写的代码,以便提出建议,就像处理数学公式中的步骤一样处理代码。相比之下,Deep TabNine则依赖于机器学习在数据中发现统计模式,进而做出预测。

就像文本生成算法需要用大量的图书、文章及电影脚本的大型数据集来训练一样,Deep TabNine也需要用编码库GitHub中的200多万份文件进行训练。

Deep TabNine利用由这些数据训练出的模型,来提示程序员接下来可能出现的在任何给定代码行中的内容,无论是变量名还是函数。

支持约22种编程语言,建议质量高

Jackson说,使用深度学习来创建代码补全软件有几个优点。

首先,它支持添加新语言,而且操作简易。据称,你只需要把更多的训练数据放入TabNine中,它就会导出相关模型。Deep TabNine支持大约22种不同的编码语言,而大多数其他的代码补全器都只支持一种语言。

使用C++编写代码时提供建议的Deep TabNine

使用C++编写代码时提供建议的Deep TabNine

(Deep TabNine支持的语言的完整列表如下:Python、JavaScript、Java、C++、C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、TypeScript、Haskell、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS和Bash)

同时,依托深度学习分析能力,Deep TabNine提出的建议综合质量很高。由于该软件不会查看用户自己的代码来提出建议,所以它可以从一开始就帮助程序员推进工作,而不是等着从程序员编写的代码中获得提示。

不适合开创性的编程工作,有时会出错

当然,这个软件也有缺陷。它在建议中有时候会出错,且并不是对所有类型的代码都有用。黑客新闻等编程网站及论坛上有许多专业人士对该软件展开了讨论,其中有许多正面评论,也有一些指出了问题。

其中有一条差评是Deep TabNine的缔造者Jackson也表示赞同的,即Deep TabNine更适合一部分特定类型的编程指令。当自动完成相对死记硬背的代码时,Deep TabNine的工作效率最高,因为这类代码用的频率很高,且往往变化很小。当用户需要解决新问题时,面对开创性的编码需求,它就有些“压力山大”了。据称,这个问题的存在也是合理的,主要是由于该软件的智能来自对存档数据的学习。

那么它对程序员到底有多大用处呢?这将取决于很多因素,比如他们使用什么编程语言以及他们想要实现什么。但是Jackson说,它更像是一种更快的输入方法,而不是程序员编码伙伴,不是一种常见的结队编程应用。

Jackson说:“打个比方,程序员常用的编程方法就像‘用手机键盘打字’,而使用Deep TabNine就像转换到‘电脑键盘一样’。”软件提高了你输入信息的速度,这让你更有效率,“因此你可以花更多的时间思考高层次的东西,而不是细节。”但它不会为你编写代码,你也需要检查验证,不能过于依赖它。

未确定是否商业化,但花49美元可买到

目前,Jackson正在考虑下一步如何使用该软件,以及是否值得将其商业化。他说:“我在一家大型科技公司做全职工作,我不想放弃这份工作。很多来自各行各业的人找到我,表示对Deep TabNine感兴趣。但我还没有想好下一步怎么做。”

TabNine的个人使用许可价格为49美元,商业使用许可价格为99美元,用户必须注册Deep TabNine beta版才能使用新的深度学习功能。在相关网站上,Jackson这样解释该价格:“TabNine每分钟将为你节省至少1秒钟时间。如果你把时间的价值定在每小时1.40美元以上,不到一年就能收回成本。”

“我的梦想是未来能建成一个程序,它能根据程序员的需求直接生成代码。目前我们离这个目标还很远,但我认为Deep TabNine可以让你更快捷地表达想法。”Jackson表示。

本文经授权发布,版权归原作者所有;内容为作者独立观点,不代表亿欧立场。如需转载请联系原作者。

各工作岗位将被AI取代的概率

选择岗位,查看结果

制图员和摄影师

87.9%

广告

参与评论

最新文章

1、 若贵平台是网站或者APP,在进行单篇原创文章转载时,需在文章标题或者导语下方,注明文章来源以及作者名称;若寻求5篇及以上的长期内容合作,需与亿欧公司内容运营部门取得联系,并签订转载合作协议。

【若贵司平台转载亿欧公司原创文章已经超过5篇,请及时与我们联系补签转载合作协议,计算时间以2019年2月10日之后为准】

2、 若贵平台是微信公众号,在进行单篇原创文章转载时,请联系亿欧公司内容运营人员进行单篇文章的白名单开通,同样需要注明文章来源及作者名称;若寻求2篇及以上的长期内容合作,需与亿欧公司内容运营部门取得联系,并签订转载合作协议。可将公司全称(简称)、公司网址、微信公众号、微信或者电话等信息发送至hezuo@iyiou.com,会有工作人员与您取得联系。

关闭

快来扫描二维码,参与话题讨论吧!

快捷登录 密码登录
获取验证码

新用户登录后自动创建账号

登录表示你已阅读并同意《亿欧用户协议》

快捷登录 密码登录

账号为用户名/邮箱的用户 选择人工找回

关联已有账户

新用户或忘记密码请选择,快捷绑定

账号为用户名/邮箱的用户 选择人工找回

快速注册

获取验证码

创建关联新账户

发送验证码

找回密码

获取验证码
账号为用户名 / 邮箱的用户 选择人工找回

未完成注册的用户需设置密码

如果你遇到下面的问题

我在注册/找回密码的过程中无法收到手机短信消

我先前用E-mail注册过亿欧网但是现在没有办法通过它登录,我想找回账号

其他问题导致我无法成功的登录/注册

请发送邮箱到service@iyiou.com,说明自己在登录过程中遇到的问题,工作人员将会第一时间为您提供帮助

账号密码登录

乐乐呵呵@微信昵称

该亿欧账号尚未关联亿欧网账户

关联已有账户

曾经使用手机注册过亿欧网账户的用户

创建并关联新账户

曾用微信登录亿欧网但没有用手机注册过亿欧的用户

没有注册过亿欧网的新用户

先前使用邮箱注册亿欧网的老用户,请点击这里进入特别通道
意见反馈
意见反馈
亿欧公众号 亿欧公众号
小程序-亿欧plus 小程序-亿欧plus
返回顶部