最近麻省理工学院和英特尔的软件开发人员一起研究并创建了一种可以创建自动编程的算法。如果将来能开发出自动编程软件,这可能会从根本上改变软件开发人员的角色。
对于软件工程师而言,编写代码类似于学习一种新语言,但是麻省理工学院和英特尔的研究人员希望能改变其现状,他们提出是构建可编码的代码,即使你不是软件工程师依然可以根据需求由自动化编程工具完成。
该团队研究人员给自动化编程领域叫做机器编程,它涉及自动化软件开发,自动化软件系统可以建立数据库,在数据库中为具有相似结果的软件代码提供相似性评分。基于这种预先存在的代码目录,自动化机器编程可以了解新算法的意图,并通过建议其他编程方法或提供更正和选项来提高代码效率,从而帮助工程师开发软件。
根据英特尔内部人员介绍,目前,英特尔计划在内部使用该工具,以协助开发人员完成调试之类等的日常简单任务,这可能帮助程序员开发时间减少一半以上,英特尔更多开发人也很欢迎该项目的部署。
其实类似的自动化软件早已应用在Facebook公司内部,目前Facebook使用一种名为Aroma的代码推荐系统,该系统类似于自动文本,根据工程师经常编写或已经编写的代码相似,然后为工程师编写的代码段推荐相似代码段。
自动化编程会随着开发工程提出更多的特殊、复杂等要求而发生生产效率低,所以早期自动化编程还是跟随开发工程师需求而改其变算法策略,想要完全自动化编程还需要很长的道路要走。
自动化编程是新技术发展,对未来的影响还不得而知,无论好坏,我们一起期待。