解放程序员未来让机器自行编写程序

来源 :发明与创新·大科技 | 被引量 : 0次 | 上传用户:huaqizhang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  前段时间,英特尔公司推出了机器编程研究系统ControlFlag,这是全球首个自我监控系统,可以自主检测代码中的错误,目前仍处于早期阶段。在初步测试中,这个系统利用超过10亿行未标记的产品级别代码进行训练并学习新的缺陷。英特尔首席科学家表示,这款工具可以大幅减少测试和修复bug所需的时间和成本。
  那么,机器编程究竟是什么?它目前发展如何,会在未来给世界带来怎样的改变?它会让未来的程序员丢掉饭碗吗?
  代码将不再是“手工艺品”
  如今,几乎各个行业都离不开编程。传统编程看似简单,其实对人的要求很高。尽管大多数人可以熟练使用自然语言表达自己的想法,但是让其去编程却不是很容易,那需要思想和底层原理支撑。
  据统计,全球78亿人中,只有2700万人会编写代码,占比不到1%。根据美国非盈利组织code.org的数据,美国有50万个编程人员岗位空缺,欧盟目前只有10%的编程人员受过计算机科学专业训练。
  “编程的基本规则往往需要通过长时间的学习和训练才能掌握。如同好的作家不一定是好的编剧,作家描写人的内心活动可以用‘心如刀扎’这类语言进行描述,但是编剧需要把这种情绪明确细致地一一描述出来,这样演员才可以栩栩如生地表演出来。”西安电子科技大学电子工程学院教授吴家骥介绍说。
  传统编程是基于规则和逻辑把人的意图按照编程语言规范化实现的过程,程序员就像传统工厂流水线上的员工和农场里的农民一样,只需按照定义好的标准接口和编程规范,把需求意图拆解为正确的逻辑,用代码写出来,所以程序员也被称为“码农”。
  然而,在软件飞速发展的今天,开发和维护却依然是既耗时又容易出错的工作。英特尔研究院机器编程研究部门总监贾斯汀·戈茨利希认为,这些从软件诞生之日起就困扰着一代又一代程序员的问题,其实并非无解,他说,“相信我们能创造一个人人都是软件开发者的社会,届时机器将会承担‘编程’部分的工作,让代码不再是‘手工艺品’。所以,我们将其称为‘机器编程’。”
  发展尚处于早期
  通过机器学习和其他自动化方法,设计可以自动编写软件的机器编程并非今天才有,20世纪50年代就已有学术机构开始涉足机器编程的研究。
  在贾斯汀·戈茨利希看来,与以往不同,现在的机器编程融合了机器学习、形式化方法、编程语言、编译器、计算机系统等多个领域。它所使用的自动编程技术,既包含精确方法(比如形式程序合成),也有概率方法(比如可微分编程)。机器编程汲取了我们迄今为止获得的所有软硬件知识,站在了历史的拐点上。新的机器学习算法、新硬件与优化硬件、海量而多样的编程数据,这三者是发展机器编程的要素。
  微软亚洲研究院首席研究员楼建光指出,机器学习算法的进步,算力的高速发展以及海量的编程数据,让机器编程的发展进入了新的拐点。不过机器编程发展尚在早期,其难点在于目前机器还没有组合与泛化的能力,只能进行简单的编程,稍微长一点的程序就无法完成。复杂程序是由简单程序组合而成的,而程序组合中有很多逻辑和思想,现在的人工智能没有组合能力,缺乏逻辑思维。
  尽管机器编程的发展尚在早期,但从全球机器编程的进展看,不同领域有不同进展,在特定领域,已经取得不错的突破。但在通用领域,尚未取得实质性突破,仍需要产、学、研各界齐发力,加速机器编程的突破。
  当下,在机器编程的赛道上,越来越多的公司涌了进来。除了微软、谷歌、脸书等,在中国包括百度以及一些创业公司也加入了机器编程的研发行列,不同的公司有不同的技术路线,但他们的每一步探索,都会对未来机器编程产生深刻的影响。
  机器编程将创造大量就业机会
  据统计,全球程序开发人员2019年约为2390万人,每年平均增加约100万人,预估2024年将达到2870万人。有人不禁担忧,现在学计算机以后会不会产生人才饱和,未来机器编程会取代程序员吗?
  “未来机器编程不仅不会取代程序员,还会创造出大量就业机会,可能多达上百万个。这是由于机器编程大幅降低了编程门槛,可以让更多的普通人参与编程,实现更多的自动化工作流。”远望智库AI事业部部长、图灵机器人首席战略官谭茗洲表示。
  英特尔有个愿景:只要你能以机器可理解的方式表达你的“意图”——可能是用自然语言,或者可视化的图表,甚至是打个手势——机器编程就会帮你开发属于你自己的软件。
  对此,谭茗洲解释道:“未來需要更有效的编程意图概要设计,把大的意图拆解为更小的意图,每个意图更容易让机器理解,进而可以让机器人工智能编写代码。未来机器人工智能编程可能以一种交互式的方式进行,如程序设计者通过与人工智能编程机器意图交互和所见所得的反馈,实现机器编程。”
  专家预测,从当前人工智能相关技术的发展来看,机器编程得到广泛应用可能仍然需要几十年以上,因为广泛应用意味着机器能更准确地了解人类的意图,但是人类自然语言的表达本身就会存在很多不确定性。因此机器编程也并不可能完全替代程序员,特别是在需要多重嵌套的逻辑和多分支的逻辑场景下,因为这些场景需要更确定性的逻辑分析,显然对机器来说是比较困难的。机器编程可能首先大规模应用于整体逻辑能够拆解为多个简单逻辑的场景,如工作流固定的场景或简单的计算场景,抑或是逻辑简单但精确性要求高的场景,如财会、医疗、金融等领域。
  谭茗洲指出:“要想在人工智能时代做到人机共存,需顺应技术的发展趋势,让机器去做其擅长的部分,例如软件开发中,枯燥的活儿由机器承担,人们得以有更大的自由、灵活度以及更多的时间精力去创造,可以去从事设计和制造机器人的工作。”
其他文献
本文从湖南省住房保障制度建设的现状入手,根据湖南经济发展状况和城镇居民住房困难现实,提出了 住房保障制度建设的发展原则和步骤,设计了住房保障制度建设的发展模式。
产业集群发展是世界产业发展的普遍趋势,是市场经济条件下工业化发展到一定阶段的必然产物,是产业竞争优势的主要来源,是区域新型工业化和城市化推进的重要战略方式。在我国
2013年4月1日,《文学地理学会通》出版座谈会在京举行,此次座谈会由澳门大学中文系和中国社会科学出版社共同举办。来自中国社会科学院、澳门大学、国家图书馆、国家社科基金办
目的探讨宫腔镜联合超声检查子宫异常出血的临床诊断价值。方法回顾性分析深圳妇幼保健院治疗90例子宫异常出血患者的临床资料,对单独采用宫腔镜、超声和宫腔镜联合超声3种方
针对传统书面测试系统、计算机独立测试系统程序分布式不均匀,导致系统判断结果精准度较低的现状,提出了基于ANFIS模型的用户心理情感动态判断系统设计。在系统架构支持下,设
目的:分析新疆地域某三甲医院新生儿出生时间的高峰期,以探索和掌握其季节性分布特征,为强化产科医疗管理和合理调配人力资源提供科学依据。方法应用圆形分布法分析产科2009至20
目的:探讨妊娠期间妇女鼻出血的治疗和健康教育指导的影响。方法筛选从2011年3月至2013年11月收治的64例妊娠期鼻出血患者。对64例患者实施系统的治疗,其中先来就诊的32例患者
美学精神的核心理念是自由,自由是人类不断实现超越与追求完美的过程。学习审美化既是学习者在学习活动中对美学精神的自主借鉴,是学习者对自身学习活动的审美创造;也是关学精神
网络的隐匿性、隐蔽性、发散性、渗透性、随意性和网络舆情自身的突发性、多变性等特点,使得校园网络舆情具有很强的不确定性。要正确认识校园网络舆情的不确定性,构建科学有效