机器编程让代码不再是“手工艺品” 未来全球78亿人都能写代码?
2021-01-04 09:33:12 来源: 科技日报
1%
据统计,全球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事业部部长、图灵机器人首席战略官谭茗洲说。
英特尔公司曾表示,其开发机器编程的愿景是:只要你能以机器可理解的方式表达你的“意图”——可能是用自然语言,或者可视化的图表,甚至是打个手势——机器编程就会帮你开发属于你自己的软件。
对此,谭茗洲解释道:“未来需要更有效的编程意图概要设计,把大的意图拆解为更小的意图,每个意图更容易让机器理解,进而可以让机器编写代码。未来机器编程可能以一种交互式的方式进行,通过多轮对话以交互形式构造编程环境。”
专家预测,从当前人工智能相关技术的发展来看,机器编程得到广泛应用可能仍然需要几十年以上,因为广泛应用意味着机器能更准确地了解人类的意图,但是人类自然语言的表达本身就存在很多不确定性。因此机器编程不可能完全替代人类程序员,特别是在需要多重嵌套的逻辑和多分支的逻辑场景下,这些场景需要确定性更强的逻辑分析,显然这对机器来说是比较困难的。
谭茗洲指出,机器编程可能会首先大规模应用于整体逻辑能够拆解为多个简单逻辑的场景,如工作流固定的场景或简单的计算场景;亦或逻辑简单但精确性要求高的场景,如财会、医疗、金融等。
“要想在人工智能时代做到‘人机共存’,需顺应技术的发展趋势,让机器去做其擅长的部分,例如软件开发中,简单枯燥的部分由机器承担,而人类程序员则可以有更大的自由度、灵活度、时间和精力去创造。”谭茗洲说。(华 凌)
为您推荐
精彩放送
热门文章
-
舆情预警丨搜于特:实控人及其一致行动人合计约2.16亿股持股被司法冻结 占公司总股本比例7.08%
-
热推荐:中科江南:已就数字人民币在财政国库资金支付领域应用进行试点
-
今日报丨超500家企业签约参展 第六届进博会公布首批参展商名单
-
环球通讯!交易所债券收盘:地产债多数下跌 “21旭辉01”跌超4%
-
环球观焦点:舆情预警丨如皋沿江开投:企业本部涉及重大诉讼
-
世界热资讯!小米汽车数字钥匙专利公布,可提升设备续航
-
双枪科技投资设立自动化设备新公司
-
世界头条:山高环能于天津投资新设生物能源销售公司
-
天天讯息:工信部:2022年全国家用电冰箱产量8664.4万台 同比下降3.6%
-
微信已全面支持“小号” 全量开放辅助账号注册功能
-
自然资源部:取消集中供地制度系误读
-
机构:2022年Q4苹果全球智能手机市场份额达到历史最高水平
精彩图片
-
成本大减!新一轮的旗舰大战也将在即将到来的9月正式拉开帷幕
-
博览会开幕 中国首款具有自主知识产权的国产通用型科学计算软件正式发布
-
技术下降!Intel独立显卡驱动一次评测就发现43个Bug
-
高性能的台式机彻底告别“光污染” 雷克沙推出简洁纯白外观设计
-
韩国媒体率先报道:三星电子236层NAND闪存预计年内开始生产 市场竞争更激烈
-
新科技!苹果正在积极研发某种形式的AR/VR头显或智能眼镜
-
谷歌测试开展新功能 向用户展示哪些云流媒体服务拥有特定的视频游戏
-
支付宝积极响应国家为小微降费的政策号召 一年降费让利近80亿
-
京东汽车就与浦林成山旗下新能源车轮胎品牌浦林达成战略合作 助力轮胎“电动化转型”
-
苹果新专利公布:暗示未来 iPhone手机或许有陶瓷材质版
-
盖茨和韩国能源供应商SK共同牵头 其中SK投资2.5亿美元
-
海底捞早已经捞不动了 据统计上半年最高亏损达2.97亿
热文
-
谷歌母公司下季度将调整财报:AI研究部门将单独披露
-
我国新增18处国际重要湿地 总数达82处 面积764.7万公顷
-
激发国企科技创新活力
-
爱一个人是什么感觉的说说_爱一个人是什么感觉
-
安徽省有哪些市区县名称_安徽省有哪些市区县
-
北京海淀区GDP首破万亿元大关
-
广东移动大数据解码春节:跨省出行热度高 莞深空城率超70%
-
世界动态:挪威称雷克萨斯的自费混合广告误导
-
今日要闻!又一批跨国公司地区总部和研发中心落户上海
-
环球微头条丨科大讯飞与杭州市签署全面战略合作协议
-
奥维睿沃:海信系电视2022年12月单月出货量居全球首位
-
南财投资日历(2月3日)
-
珠海:涉及知名大盘!11家房企、中介因违法违规被查处
-
世界焦点!证监会:更好保护中小投资者合法权益 树牢“大投保”理念
-
环球消息!Q4“固收+权益”理财定价下行明显,近6月收益猛跌101BP丨机警理财日报(2月2日)
-
证监会:稳妥有序化解私募基金、地方交易场所、债券违约等重点领域风险
-
当前热文:恒瑞医药人事变动频繁?董事长孙飘扬回应
-
银川优化生育措施征求意见:提高二三孩生育住院分娩医疗费报销比例
-
热门:国家卫健委发布国家血液病医学中心和国家血液病区域医疗中心设置标准
-
环球观焦点:长三角G60科创走廊:锚定“科创+产业+金融+人才”高水平融合发展
-
北京:到2025年新孵化国家高新技术企业2000家
-
环球简讯:《煤矿安全改造中央预算内投资专项管理办法》发布
-
美国联邦快递管理层将裁员超10%
-
巴比食品:2022年净利润2.22亿元 同比下降29.21%
-
空客与卡塔尔航空就A350订单纠纷达成和解
-
动态焦点:国家能源局负责人会见香港中电总裁
-
全球快资讯:北京这个区 GDP总量首次突破一万亿元!
-
天天快报!高质量发展 | 亮出“作战图” 跑出“加速度”
-
北京关停三里屯酒吧街?官方回应
-
中汽协:2022年全国汽车商品累计进出口总额为2486.5亿美元 同比增长11.7%
-
龙虎榜丨中国长城今日涨停,上榜营业部席位全天成交2.83亿元
-
立讯精密董事长王来春:未来20年立讯要有30%产品进入全球行业无人区
-
当前观点:ChatGPT热度爆棚 谷歌开测“学徒巴德”等多款竞品
-
环球即时:沪硅产业:向专业投资者公开发行不超过13.4亿元科技创新公司债券申请获批
-
天天微资讯!商务部:继续稳定和扩大汽车消费 支持新能源汽车消费
-
新年“开门红” 江苏中欧班列今年首月开行突破200列
-
舆情预警 | 小米汽车设计泄密供应商被处罚100万
-
股票破位怎么办?股票破位必须止损吗?
-
股票一字线会持续几天?股票丁字线说明什么?
-
每日速递:商务部:研究制定海南自由贸易港禁止、限制进出口货物物品清单
-
焦点短讯!舆情预警 | 交通银行四川省分行原党委委员、副行长刘志刚被“双开”
-
股票分红对以后走势有没有影响?分红和股票涨跌有关系吗?
-
环球热点!舆情预警丨云天化:从未在任何网络平台开展众筹集资
-
【环球播资讯】商务部:研究制定海南自由贸易港禁止、限制进出口货物物品清单
-
环球简讯:上海浦东GDP突破1.6万亿元
-
博亚精工:公司目前与成飞集团无业务往来
-
【天天报资讯】商务部:2022年社会消费品零售总额44.0万亿元,与2021年基本持平
-
世界最资讯丨银保监会就人身保险公司分类监管办法业内征求意见 涉及高风险业务、分支机构和非标资产投资
-
商务部:2023年要强化贸易促进 合理扩大进口
-
每日看点!沪指震荡收涨0.02% 半导体和白酒板块表现强势