据统计,全球78亿人中,只有2700万人会编写代码,占比不到1%。美国有50万个编程人员岗位空缺,欧盟目前只有10%的编程人员受过计算机科学专业训练。
据报道,英特尔公司在2020年12月推出的机器编程研究系统ControlFlag是全球首个自我监控系统,不需要标记数据就能学习。在初步测试中,这个系统利用超过10亿行未标记的产品级别代码进行训练,还可以自主检测代码中的错误,发现了许多过去被开发人员忽略的违规和异常。
英特尔首席科学家、英特尔研究院机器编程研究主任及创始人贾斯汀·戈茨利希认为,这款软件能够“大幅减少评估和Debug(修补漏洞)所需的时间和成本”。 英特尔研究院的研究人员发现,软件开发者会花费大约一半的时间用来Debug,通过ControlFlag以及类似的系统,程序员有望大幅减少Debug的时间并把更多时间用于人类程序员最擅长的工作。
机器编程的实质究竟是搬运代码模型,还是具有一定的自主开发特征?目前机器编程的主要方法有哪些,效能如何,具备怎样的优势?为什么有专家认为机器编程不仅不会取代程序员,还会创造出大量就业机会?
机器编程让代码不再是“手工艺品”
快速发展的科技领域几乎离不开编程。传统编程看似简单,其实对操作者的要求很高。尽管大多数人可以熟练使用自然语言表达自己的想法,但是让所有人都去学习编程却并不是件容易事,这需要人的逻辑思维和对底层原理的理解作为支撑。
据统计,全球78亿人中,只有2700万人会编写代码,占比不到1%。根据美国非盈利组织code.org的数据,美国有50万个编程人员岗位空缺,欧盟目前只有10%的编程人员受过计算机科学专业训练。
“如同好的作家不一定是好的编剧,作家描写人的内心活动可以用‘心如刀绞’这类语言进行描述,但是编剧需要通过场景搭建和细节设置把这种情绪细致地表现出来,演员才能沿着这个逻辑栩栩如生地表演出来。”西安电子科技大学电子工程学院教授吴家骥介绍说,好的程序员就如同代码“编剧”,往往需要通过长时间学习和实践才能掌握编程的基本规则。
传统编程是基于计算机语言规则和逻辑,利用规范化的编程语言,把人的意图在计算机世界里实现的过程,程序员就像传统工厂流水线上的员工一样,只需按照定义好的标准接口和编程规范,把需求意图拆解为正确的逻辑,用代码写出来。
然而,在软件飞速发展的今天,软件的开发和维护却依然是既耗时又容易出错的工作。贾斯汀·戈茨利希认为,这从软件诞生之日就困扰着一代又一代程序员的问题其实并非无解,他认为:“我们能创造一个人人都是软件开发者的社会,届时机器将会承担编程部分的工作即机器编程,让代码不再是‘手工艺品’。”
吴家骥向记者介绍,所谓机器编程,就是通过机器学习和其他自动化方法,设计可以自动编写软件的软件,它涉及形式化方法、编程语言、编译器、计算机系统等多个领域。机器编程所使用的自动编程技术既有精确方法(比如形式程序合成),也有概率方法(比如可微分编程)。
“人类的编程过程侧重于逻辑业务,很少关心编程的语法、格式等。而机器编程实质是搬运代码模型,因为目前还没有成熟的编程机器可以达到自主开发软件的程度,包括英特尔最新提出的ControlFlag。”吴家骥指出。
有助于大幅降低开发和维护成本
其实机器编程并非新生事物,早在上世纪50年代,就已经有学术机构开始涉足机器编程的研究。
在贾斯汀·戈茨利希看来,当下正是发展机器编程的好时机。“机器编程汲取了我们迄今为止获得的所有软硬件知识。今日与往时不同的是,我们站在了历史的拐点上,我们现在有新的机器学习算法、新硬件与优化硬件、海量而多样的编程数据,而这三者是发展机器编程的必备要素。”
目前机器编程的效能如何,具备怎样的优势?吴家骥介绍说,有了机器编程,软件的开发和维护将有望实现完全自动化,编程人才的缺口、编程精确度有待提升等问题也迎刃而解。
据了解,机器编程的方法主要分为两种:一种需要依赖编程领域专家知识和已经设定好的模板库,即编程机器把专家制定的规则和大量模板库组合起来,进而满足人们的编程意图。但其问题在于,专家的知识储备和模板库需要不断积累更新。此外,编程中存在很复杂的逻辑和多样化的语法差异,仅靠少数专家很难做到全面掌握所有信息,其制定的规则也无法做到近乎完美。
第二种是利用机器学习进行自我监督去适应编程规则,让机器通过海量给定的代码学习正确的编程规则,常用于进行程序代码测试。这种方式包括两个阶段:模式挖掘阶段,主要学习用户指定的GitHub(一家开源平台)存储库中的特殊编码模式,当学习完成时,该模式将生成一个优先级字典,为后续机器编程提供知识储备;扫描阶段,主要是根据所学的特异性模式字典分析给定的源代码存储库,当识别到异常模式时,将发出报警信息并为用户提供可能的替代方案或进行自动校正。
“利用自我学习的方法可提高机器编程效率,这是由于自监督学习可以不断自我完善自我进化,使得机器越来越聪明——在编程时可以快速把人类意图或自然语言转变为编程语言,在代码调试过程中可以智能地提示错误。”吴家骥指出,机器编程的快速发展将有望大幅提高软件开发和维护的效率,同时可以有效降低成本。
据统计,全球IT行业每年花费的1.25万亿美元软件开发成本中,大约有50%用于Debug。目前,ControlFlag已经证实了其可以在广泛使用的产品级代码中发现隐藏的bug(漏洞),比如在分析cURL(程序员广泛使用的实现互联网下载的开源命令行工具)时,ControlFlag发现了一个以前没有发现的异常,促使cURL开发者提出了更好的解决方案。
为人类程序员省出时间去创造
程序能够自动化的高效构建,意味着程序员要失业了吗?贾斯汀·戈茨利希的观点是,机器编程真正过人之处是创造数千万到数亿个就业机会,并且专业程序员也不会被替代。
“未来机器编程不仅不会取代程序员,还会创造出大量就业机会,可能多达上百万个。这是由于机器编程实质上大幅度降低了编程门槛,就如同电脑上的很多操作工具,它们的出现提高了人类的工作效率,可以让更多的普通人参与到编程中,实现更多的工作流,即业务过程的部分或整体在计算机应用环境下的自动化。”远望智库AI事业部部长、图灵机器人首席战略官谭茗洲说。
英特尔公司曾表示,其开发机器编程的愿景是:只要你能以机器可理解的方式表达你的“意图”——可能是用自然语言,或者可视化的图表,甚至是打个手势——机器编程就会帮你开发属于你自己的软件。
对此,谭茗洲解释道:“未来需要更有效的编程意图概要设计,把大的意图拆解为更小的意图,每个意图更容易让机器理解,进而可以让机器编写代码。未来机器编程可能以一种交互式的方式进行,通过多轮对话以交互形式构造编程环境。”
专家预测,从当前人工智能相关技术的发展来看,机器编程得到广泛应用可能仍然需要几十年以上,因为广泛应用意味着机器能更准确地了解人类的意图,但是人类自然语言的表达本身就存在很多不确定性。因此机器编程不可能完全替代人类程序员,特别是在需要多重嵌套的逻辑和多分支的逻辑场景下,这些场景需要确定性更强的逻辑分析,显然这对机器来说是比较困难的。
谭茗洲指出,机器编程可能会首先大规模应用于整体逻辑能够拆解为多个简单逻辑的场景,如工作流固定的场景或简单的计算场景;亦或逻辑简单但精确性要求高的场景,如财会、医疗、金融等。
“要想在人工智能时代做到‘人机共存’,需顺应技术的发展趋势,让机器去做其擅长的部分,例如软件开发中,简单枯燥的部分由机器承担,而人类程序员则可以有更大的自由度、灵活度、时间和精力去创造。”谭茗洲说。
标签: 机器编程
-
实发工资和应发工资的区别是什么?实发工资是到手的工资吗?
-
死期存款是什么意思?死期存款能否在到期前提取出?
-
外汇折算风险指的是指什么?外汇风险的类型有哪些?
-
投资结构合理包括哪两重含义?投资结构指的是什么意思?
-
理财产品逾期兑付是什么意思?理财产品逾期兑付怎么办?
-
理财风险评估有效期是多久?理财产品风险是怎么划分的?
-
买银行理财产品需要多久做一次评估?理财评估应该怎么做?
-
现金类理财产品是什么?现金类理财产品具有什么特点?
-
理财产品冻结能否自动解除?购买理财产品生效前冻结资金有利息吗?
-
太平臻享金生终身寿险可靠吗?太平臻享金生终身寿险投保条件是什么?
-
众安保险的产品和服务有哪些?与其他保险公司相比众安保险有什么优势?
-
新华多倍保障重大疾病保险值得买吗?新华多倍保障重大疾病保险需要多少钱一年?
-
商业医疗保险一年大概需要多少钱?商业医疗保险怎么买最好?
-
农村合作医疗怎么在网上缴费?农村合作医疗缴费后多长时间生效?
-
职工养老保险交多少年就不用交了?职工养老保险退休后每月可以领多少?
-
养老金多少岁之后可以领取?养老金一个月领多少钱?
-
定期寿险一年一般交多少钱?定期寿险怎么买比较合适?
-
世界关注:长沙县住建局开展“政策服务进企业”活动
-
新基金老基金怎么选择?基金买入几天可以取出来?
-
基金认购和申购哪个好?不管认购还是进行申购,需要结合哪些因素考虑?
-
量子之歌旗下讲真学堂推出《国画训练营》 助力民众丰富精神世界
-
百度皮肤怎么设置(百度皮肤)
-
【世界时快讯】03月20日11时益阳最新疫情防疫管控出入政策通知
-
天天快看点丨周杰伦下载量(周杰伦下载)
-
【焦点热闻】03月20日11时岳阳最新疫情防疫管控出入政策通知
-
甘肃张掖遭沙尘暴袭击沙墙高达百米 甘肃省民勤县发布沙尘暴黄色预警(今日/头条)
-
新动态:美媒:知情人士称硅谷银行或将被拆分出售
-
天天即时:03月20日10时铜仁最新疫情防疫管控出入政策通知
-
资讯:03月20日10时遵义最新疫情防疫管控出入政策通知
-
环球观天下!03月20日10时黔西南最新疫情防疫管控出入政策通知
-
天天资讯:03月20日10时六盘水最新疫情防疫管控出入政策通知
-
麻将新手入门基本规则(麻将怎么打初学图解)
-
世界快资讯:夏普液晶电视机图片(夏普液晶电视好吗)
-
装十三是啥意思是什么(装十三)
-
全球热点评!2023杭州余杭数字消费券淘宝入口在哪里?
-
今亮点!本轮甲流高峰是否已过去?最新回应来了→
-
每日热议!本轮甲流高峰是否已过去?最新回应来了→
-
板栗去皮妙招内皮方法(板栗去皮)
-
海关总署回应集装箱空箱问题:2月下旬以来出口集装箱用箱量持续增长
-
海关总署回应集装箱空箱问题:2月下旬以来出口集装箱用箱量持续增长
-
云南发现新记录植物大花舟翅桐
-
2023直招军士预报名通道已开启!400余个专业可报
-
每日精选:跨境电商监管将有哪些新措施 海关总署回应→
-
云南发现新记录植物大花舟翅桐
-
快消息!怎样包粽子视频教程(粽子怎样包)
-
天天新消息丨文化和旅游部决定全年开展“四季村晚”活动 鼓励各地“村晚”常态化
-
跨境电商监管将有哪些新措施 海关总署回应→
-
环球速读:符文精金棒id(符文精金棒)
-
环球今亮点!全站仪的使用心得体会(全站仪的使用)
-
2023直招军士预报名通道已开启!400余个专业可报
-
国家老年大学开启线下第一课 800余名中老年人重返校园
-
文化和旅游部决定全年开展“四季村晚”活动 鼓励各地“村晚”常态化
-
讯息:国家老年大学开启线下第一课 800余名中老年人重返校园
-
动态焦点:硅谷银行倒闭暴美金融体系深层危机 硅谷银行破产原因
-
十年又十年——美国谎言将伊拉克推向战乱深渊
-
环球快播:蜂蜜什么时间喝最好能通便(蜂蜜什么时间喝最好)
-
荣耀50和一加9R哪个好
-
推动国民经济整体持续好转
-
【环球新视野】广东打出助企高质量发展“组合拳”
-
联通通话详单查询(联通查话费短信)
-
世界焦点!什么?个人退税可以多退几千?小心骗局新套路!
-
每日观察!win7系统中wmiprvse.exe占高cpu的详细处理步骤
-
环球头条:佩洛西批特朗普事在煽动骚乱 预言自己将被捕后特朗普现身露面摔跤锦标赛挥拳示意
-
通讯!国台办:大陆方面欢迎马英九先生来访
-
国台办:大陆方面欢迎马英九先生来访
-
精选!什么?个人退税可以多退几千?小心骗局新套路!
-
央行3月LPR报价公布:1年期3.65% 5年期以上4.3%
-
央行3月LPR报价公布:1年期3.65% 5年期以上4.3%
-
世界快资讯:迪士尼被曝大幅裁员!什么情况?
-
世界热文:美联储和几家西方主要中央银行宣布通过常设美元流动性互换额度增加流动性供应
-
世界热点评!美国银行业危机!巴菲特与拜登的团队进行对话
-
当前速看:美联储等6央行出台措施提高美元流动性
-
每日时讯!李白夜宿山寺写作背景_夜宿山寺写作背景
-
全球新动态:内地与香港科技合作掀开新篇章
-
南京大学闻海虎团队重复实验再次推翻美国室温超导轰动性研究
-
南京大学闻海虎团队重复实验再次推翻美国室温超导轰动性研究
-
天天热推荐:凯西替补打进西甲首球帮助巴萨绝杀 凯西获胜对巴萨和这座城市很重要取得进球对我来说意义重大(今日/头条)
-
父母去世后遗产铁定归儿子吗?四川眉山法院判决确认男女平等享有继承权
-
魅族18Max采用什么处理器
-
父母去世后遗产铁定归儿子吗?四川眉山法院判决确认男女平等享有继承权
-
“白色石油”,价格大跌超40%!啥“锂”由?
-
【环球播资讯】美联储加息之下,除了银行还有哪些潜在“雷区”?
-
瑞士信贷银行将被瑞银集团收购
-
央行最新发声!提及硅谷银行
-
焦点资讯:全国两会、地方省会多次提及,这件事为何如此重要?
-
每日动态!WTT新加坡大满贯赛:国乒包揽五冠
-
祝贺!00后李诗沣首夺世界羽联全英赛男单冠军
-
【播资讯】WTT新加坡大满贯赛:国乒包揽五冠
-
全球新资讯:台媒:马英九将赴大陆祭祖并率青年学子与大陆学生交流
-
填补空白!我国第一口海上二氧化碳封存回注井开钻
-
环球消息!oppowatch怎么开通esim
-
世界视点!祝贺!00后李诗沣首夺世界羽联全英赛男单冠军
-
填补空白!我国第一口海上二氧化碳封存回注井开钻
-
全国两会、地方省会多次提及,这件事为何如此重要?
-
前沿热点:台媒:马英九将赴大陆祭祖并率青年学子与大陆学生交流
-
vivoX50怎么投屏
-
全球速看:硅谷银行前CEO在该银行破产前疯狂套现!白宫最新声明→
-
03月20日04时吐鲁番最新疫情防疫管控出入政策通知
-
03月20日04时乌鲁木齐最新疫情防疫管控出入政策通知
-
环球新消息丨03月20日04时阿里最新疫情防疫管控出入政策通知