如今,计算资源变得越来越异构化,需要专家级的程序员,也就是我们所说的“Ninja programmer”,他们更了解硬件以及如何最大限度地利用硬件。但与此同时,为了提高工作效率,软件开发人员越来越青睐于使用更抽象的语言,这反过来会导致硬件难以发挥出它本身的性能,而且这种差距正在扩大。
机器编程与机器学习有很大的不同,它是教系统自己编程。其核心原则是根据人的意图自动创建完成该意图所需的所有软件。在2020 年英特尔研究院开放日上,英特尔首席科学家、英特尔研究院机器编程研究主任及创始人Justin Gottschlich介绍了机器编程的三大支柱:意图(intention)、创造(invention)和适应(adaptation)。据介绍,英特尔要让机器编程从两个方向为人们提供帮助:
首先,机器编程系统能够提高编码员和非编码员的工作效率。其次,确保机器编程系统生成的是高质量、快速、安全的代码。
基于这俩大方向,英特尔认为改进软件调试(Debug)是实现机器编程最关键的一步,减少Debug就意味着程序员的工作效率以及软件的质量的提高。