有助于大幅降低开发和维护成本
其实机器编程并非新生事物 , 早在上世纪50年代 , 就已经有学术机构开始涉足机器编程的研究 。
在贾斯汀·戈茨利希看来 , 当下正是发展机器编程的好时机 。 “机器编程汲取了我们迄今为止获得的所有软硬件知识 。 今日与往时不同的是 , 我们站在了历史的拐点上 , 我们现在有新的机器学习算法、新硬件与优化硬件、海量而多样的编程数据 , 而这三者是发展机器编程的必备要素 。 ”
目前机器编程的效能如何 , 具备怎样的优势?吴家骥介绍说 , 有了机器编程 , 软件的开发和维护将有望实现完全自动化 , 编程人才的缺口、编程精确度有待提升等问题也迎刃而解 。
据了解 , 机器编程的方法主要分为两种:一种需要依赖编程领域专家知识和已经设定好的模板库 , 即编程机器把专家制定的规则和大量模板库组合起来 , 进而满足人们的编程意图 。 但其问题在于 , 专家的知识储备和模板库需要不断积累更新 。 此外 , 编程中存在很复杂的逻辑和多样化的语法差异 , 仅靠少数专家很难做到全面掌握所有信息 , 其制定的规则也无法做到近乎完美 。
第二种是利用机器学习进行自我监督去适应编程规则 , 让机器通过海量给定的代码学习正确的编程规则 , 常用于进行程序代码测试 。 这种方式包括两个阶段:模式挖掘阶段 , 主要学习用户指定的GitHub(一家开源平台)存储库中的特殊编码模式 , 当学习完成时 , 该模式将生成一个优先级字典 , 为后续机器编程提供知识储备;扫描阶段 , 主要是根据所学的特异性模式字典分析给定的源代码存储库 , 当识别到异常模式时 , 将发出报警信息并为用户提供可能的替代方案或进行自动校正 。
“利用自我学习的方法可提高机器编程效率 , 这是由于自监督学习可以不断自我完善自我进化 , 使得机器越来越聪明——在编程时可以快速把人类意图或自然语言转变为编程语言 , 在代码调试过程中可以智能地提示错误 。 ”吴家骥指出 , 机器编程的快速发展将有望大幅提高软件开发和维护的效率 , 同时可以有效降低成本 。
据统计 , 全球IT行业每年花费的1.25万亿美元软件开发成本中 , 大约有50%用于Debug 。 目前 , ControlFlag已经证实了其可以在广泛使用的产品级代码中发现隐藏的bug(漏洞) , 比如在分析cURL(程序员广泛使用的实现互联网下载的开源命令行工具)时 , ControlFlag发现了一个以前没有发现的异常 , 促使cURL开发者提出了更好的解决方案 。
为人类程序员省出时间去创造
程序能够自动化的高效构建 , 意味着程序员要失业了吗?贾斯汀·戈茨利希的观点是 , 机器编程真正过人之处是创造数千万到数亿个就业机会 , 并且专业程序员也不会被替代 。
“未来机器编程不仅不会取代程序员 , 还会创造出大量就业机会 , 可能多达上百万个 。 这是由于机器编程实质上大幅度降低了编程门槛 , 就如同电脑上的很多操作工具 , 它们的出现提高了人类的工作效率 , 可以让更多的普通人参与到编程中 , 实现更多的工作流 , 即业务过程的部分或整体在计算机应用环境下的自动化 。 ”远望智库AI事业部部长、图灵机器人首席战略官谭茗洲说 。
英特尔公司曾表示 , 其开发机器编程的愿景是:只要你能以机器可理解的方式表达你的“意图”——可能是用自然语言 , 或者可视化的图表 , 甚至是打个手势——机器编程就会帮你开发属于你自己的软件 。
对此 , 谭茗洲解释道:“未来需要更有效的编程意图概要设计 , 把大的意图拆解为更小的意图 , 每个意图更容易让机器理解 , 进而可以让机器编写代码 。 未来机器编程可能以一种交互式的方式进行 , 通过多轮对话以交互形式构造编程环境 。 ”
推荐阅读
- 惠普战66小机器人干嘛的
- 美科研人员开发出可远程控制的变形机器人
- 手机将被小型机器人取代?
- 机器翻译“走红”凭实力
- 可变形的自主机器人船可在水面上搭建活动桥梁
- 少儿编程 编程语言有多少种
- 机器人“操刀” 神经外科手术
- 一个机器人在短时间内学会了自己走路
- 机器人邂逅火车 “五大能手”守护春运安全
- 宝宝巴士原创3D早教动 智能机器狗将取代宠物狗,暖心大作战
