机器编程驾到,未来全球78亿人都能写代码?


机器编程驾到,未来全球78亿人都能写代码?



1%
据统计 , 全球78亿人中 , 只有2700万人会编写代码 , 占比不到1% 。 美国有50万个编程人员岗位空缺 , 欧盟目前只有10%的编程人员受过计算机科学专业训练 。
据报道 , 英特尔公司在2020年12月推出的机器编程研究系统ControlFlag是全球首个自我监控系统 , 不需要标记数据就能学习 。 在初步测试中 , 这个系统利用超过10亿行未标记的产品级别代码进行训练 , 还可以自主检测代码中的错误 , 发现了许多过去被开发人员忽略的违规和异常 。
英特尔首席科学家、英特尔研究院机器编程研究主任及创始人贾斯汀·戈茨利希认为 , 这款软件能够“大幅减少评估和Debug(修补漏洞)所需的时间和成本” 。 英特尔研究院的研究人员发现 , 软件开发者会花费大约一半的时间用来Debug , 通过ControlFlag以及类似的系统 , 程序员有望大幅减少Debug的时间并把更多时间用于人类程序员最擅长的工作 。
机器编程的实质究竟是搬运代码模型 , 还是具有一定的自主开发特征?目前机器编程的主要方法有哪些 , 效能如何 , 具备怎样的优势?为什么有专家认为机器编程不仅不会取代程序员 , 还会创造出大量就业机会?
机器编程让代码不再是“手工艺品”
快速发展的科技领域几乎离不开编程 。 传统编程看似简单 , 其实对操作者的要求很高 。 尽管大多数人可以熟练使用自然语言表达自己的想法 , 但是让所有人都去学习编程却并不是件容易事 , 这需要人的逻辑思维和对底层原理的理解作为支撑 。
据统计 , 全球78亿人中 , 只有2700万人会编写代码 , 占比不到1% 。 根据美国非盈利组织code.org的数据 , 美国有50万个编程人员岗位空缺 , 欧盟目前只有10%的编程人员受过计算机科学专业训练 。
“如同好的作家不一定是好的编剧 , 作家描写人的内心活动可以用‘心如刀绞’这类语言进行描述 , 但是编剧需要通过场景搭建和细节设置把这种情绪细致地表现出来 , 演员才能沿着这个逻辑栩栩如生地表演出来 。 ”西安电子科技大学电子工程学院教授吴家骥介绍说 , 好的程序员就如同代码“编剧” , 往往需要通过长时间学习和实践才能掌握编程的基本规则 。
传统编程是基于计算机语言规则和逻辑 , 利用规范化的编程语言 , 把人的意图在计算机世界里实现的过程 , 程序员就像传统工厂流水线上的员工一样 , 只需按照定义好的标准接口和编程规范 , 把需求意图拆解为正确的逻辑 , 用代码写出来 。
然而 , 在软件飞速发展的今天 , 软件的开发和维护却依然是既耗时又容易出错的工作 。 贾斯汀·戈茨利希认为 , 这从软件诞生之日就困扰着一代又一代程序员的问题其实并非无解 , 他认为:“我们能创造一个人人都是软件开发者的社会 , 届时机器将会承担编程部分的工作即机器编程 , 让代码不再是‘手工艺品’ 。 ”
吴家骥向采访人员介绍 , 所谓机器编程 , 就是通过机器学习和其他自动化方法 , 设计可以自动编写软件的软件 , 它涉及形式化方法、编程语言、编译器、计算机系统等多个领域 。 机器编程所使用的自动编程技术既有精确方法(比如形式程序合成) , 也有概率方法(比如可微分编程) 。
“人类的编程过程侧重于逻辑业务 , 很少关心编程的语法、格式等 。 而机器编程实质是搬运代码模型 , 因为目前还没有成熟的编程机器可以达到自主开发软件的程度 , 包括英特尔最新提出的ControlFlag 。 ”吴家骥指出 。

推荐阅读