Autopredict编码工具和开发人员工作的未来

2020-05-26 14:33:24

在过去的几年中,出现了几种旨在简化编码过程的连锁趋势。我们不仅看到了无代码和低代码应用程序构建平台的兴起,而且一些公司还试图建立“预测器”,利用机器学习来预测开发人员下一步应该编写什么。

例如,Deep TabNine、IntelliSense(Visual Studio的一部分)和Kite Kite都发布了自己版本的代码“AutoCompleters”。Deep TabNine利用神经网络(一种关键的机器学习技术)来预测编码器下一步将键入什么,然后显示一个适合的小代码片段;它目前可用于几种编程语言,包括Python、JavaScript、Go、Objective-C等等。

在过去,Kite采取了与DeepTab9略有不同的方法,这也是它只适用于Python的原因之一。现在,该公司已经改变了它的底层方法,它的代码自动完成也可以用于JavaScript。“我们差不多已经把我们的技术方法转换成了一种可以很容易地跨语言扩展的技术方法。所以这需要大量的前期投资,然后每一种增量语言都不是那么有挑战性,“Kite首席执行官亚当·史密斯最近告诉ZDNet。

如果你感兴趣,Kite在其博客上分析了它的JavaScript自动完成功能的一些功能。该公司声称,他们对深度学习模型进行了“2200万个开源JavaScript文件的培训,以确保Kite能够与你最喜欢的库和框架(如Reaction、Vue、Angel和Node.js)协同工作。”

成为会员有它的好处。注册一个免费的骰子档案,添加你的简历,发现伟大的职业洞察力,启动你的技术职业生涯。现在注册。

这些工具的有效性取决于用于生成这些片段的数据库的全面性,以及初始培训(Deep TabNine使用来自GitHub的200万个文件作为其培训集)。对于任何平台,适应新的框架、库和特性也是关键。例如,如果你正在为Swift设计一个自动完成平台,Swift是苹果公司用于iOS和MacOS开发的快速发展的语言,你需要每六个月左右发布一次相当全面的更新,以便考虑到新的、大量的功能增加。

很容易看出这些工具是如何演变成相当复杂的。但是,这将如何改变开发人员的工作和工作流程呢?虽然一些技术专家可能担心人工智能驱动的编码平台会抢走他们的工作,但软件似乎不太可能最终吞噬大部分开发工作。

例如,以无代码和低代码工具在游戏开发环境中的崛起为例;谷歌新的游戏生成器平台等平台可能会带来一种可能性,即使是那些几乎没有编程经验的人也可以构建一款伟大的游戏。但开发不仅仅是编码;它需要创造力、解决问题和对理论的理解-而工具根本不能复制这些抽象的东西。

微软的PowerApps或谷歌应用程序制造商(Google App Maker)等工具也存在类似的情况,这些工具允许员工构建相当简单的应用程序;但如果你想构建功能更深的东西,你需要一个了解数据库、良好编码原则和有效UI/UX的开发团队。

编码自动完成是一种用于加速编码的工具,但它似乎不太可能打破开发人员的力量平衡,因为您仍然需要对编程语言有相当广泛的知识才能使用它。尽管如此,对于时间紧迫的开发人员来说,这样的工具最终可能会成为救命稻草。