2022 IDEA 大会上,IDEA 研究院基础软件中心讲席科学家张宏波主持“基础软件之路”圆桌论坛,圆桌邀请了华为编程语言实验室主任、南京大学计算机科学与技术系教授冯新宇,IDEA 研究院 AI 安全普惠系统研究中心讲席科学家王嘉平,前端框架 Vue.js 及前端构建工具 Vite 作者尤雨溪以及 CODING 创始人张海龙,五位围绕基础软件的开发、人才培养、开源趋势等展开深度讨论。
软件是新一代信息技术的灵魂,是数字经济发展的基础,是制造强国、网络强国、数字中国建设的关键支撑。2021 年,工信部印发的《“十四五”软件和信息技术服务业发展规划》明确指出,要聚力攻坚基础软件,关键基础软件补短板,夯实开发环境、工具等产业链上游基础软件实力。
基础软件的发展已不单单是一个行业的发展,更关乎着国家产业结构转型。基础软件是支撑信息产业升级的“根技术”,而作为连接软硬件桥梁的程序语言、编译器及开发者工具,则是基础软件生态建设的基础。如今,这一行业存在两个明显趋势:一是云原生,即各项研发工作开始向云端迁移,二是开源。两大趋势之下,基础软件如何发展?有哪些机遇需要关注?圆桌嘉宾们各抒己见。
基础软件领域的新工具、新语言层出不穷,近年最受关注的当属全球首个跨平台、跨操作系统的虚拟指令集—— WebAssembly 。它最初的设计是应用在浏览器上,但随着技术的发展与社区的广泛接受,目前它的应用场景已拓展到云计算时代的无服务器架构(serverless)、移动端与桌面应用程序等等。
论坛开头,圆桌嘉宾们结合所处领域和研发经历,对 WebAssembly 在 Web 、云原生、区块链等应用和发展情况发表了各自看法。其中,张宏波指出,基础软件开发是一个需要长期积累的过程,后发者劣势很大,很难在短时间内赶上先发者。然而一个新的指令集诞生,让众多开发者能站在同一起跑线出发,或将为国产基础软件进入乃至领先世界带来可能。
作为构建软件的最底层技术,编程语言的重要程度不言而喻。全球范围内,新的编程语言持续涌现,但遗憾的是,这些被广泛使用的编程语言中,一直未有国产编程语言的身影。在信息强国的发展追求下,未来中国能否拥有自主开发的、同时流行全球的编程语言?
冯新宇结合华为研发经验剖析了编程语言的研发动机,并指出自主研发编程语言的重要性:“对国家来说,有自己的(编程)语言,对应的是从人才的培养、开发者社区的建立以及相关技术的演进,(我们)都能有更多的掌控能力。”
“语言和系统是相辅相成的,当计算机科学往前发展时,每一个新系统的出现,同时蕴含着语言的机会。”王嘉平从系统的角度出发,认为底层系统的发展将为新的语言诞生提供舞台。在区块链蓬勃发展的背景下,他所在团队正在研发 PREDA 并行区块链语言,突破了国内没有区块链语言的现况,他以此为例分享了针对分布式系统研发语言的经验及启示。
张海龙认为,基础软件技术本身是不分国界的,过往做基础软件在中国很困难,原因在于未有新的平台或范式产生,很难颠覆现有的东西。“但在新的云时代,有很多新的数据库出来,新的计算平台出现,包括区块链。国内基础软件团队有机会实现跟其他人同样起跑,许多投资机构开始意识到这个领域值得支持,我觉得,做这个领域一定要抱着非常长期的心态去做
云原生时代下,探讨基础软件研发时一个必谈的话题,就是 IDE(Integrated Development Environment,集成开发环境)。随着各类云计算服务如 Serverless 的兴起与发展,传统 IDE 逐渐无法满足当下云原生服务的特殊需求,云端 IDE 的研发及落地众所期待,但过往产品往往存在“叫好不叫座”、留存差的结果。
究其原因,张海龙结合团队探索云端 IDE 的 8 年经验总结,从软件工程关注的三个本质——开发效率、开发质量和可维护性出发,现有云原生 IDE 都未能真正解决实际的软件工程问题。如何构建一个真正面向云平台的软件?在他看来,一个新的语言的出现,才能带来全新的开发平台,“在目前的软件工程范式下,做 WebIDE 应该不可能成功,除非创建一个新的软件工程范式,比如做个全新语言。必须在特定的 IDE 环境下去开发。”
“以前,大家把编程看成非常重的东西,因为我们很多时候是在搭建整个系统。云原生出现后,我们更多是在写代码片段,通用部分已由‘云’全部做好了。这是云原生 IDE 的机会 。”王嘉平指出,在区块链系统发展的未来,云原生 IDE 将更具价值。全世界越来越多的开发者共同搭建区块链体系,在同一条链上部署和互相调用智能合约,过程中系统是动态变化的,更需要云原生 IDE 的支持。
基础软件是一切软件的基石。随着近年云计算发展,开源逐渐成为基础软件领域的一大趋势,一方面能让用户检验软件的安全可信,另一方面也为基础软件的创业公司带来新的引领模式及发展可能。
做出华人世界知名开源项目 Vue 前端框架的尤雨溪,列举了开源与商业结合的多种方式,如基金会合作支持、大型企业主动开源产品等等。他认为,由企业开源的模式在实现企业商业化战略的同时,能为推动生态发展发挥积极作用,并强调企业在开源项目之前,“应当对自身开源的目的和定位有正确的理解,只有开源行为和企业的利益很好契合,才能让项目更具可持续性。”
王嘉平从安全的角度出发,指出开源是让整个软件体系变得可信赖的重要方式,是商业化的基础之一。
根据全球最大的开发者社区 GitHub 2021 年度报告,中国开发者用户已达 755 万,位居全球第二。然而,人才短缺仍是当前中国基础软件产业发展受限的原因之一。
“在开发 ReScript 编程语言时,我发现虽然项目创始人是中国人,但来自于中国的贡献者相较于海外还是少很多,基本上都是来自于欧洲或者北美的贡献者。”从 ReScript 开发情况为例,张宏波指出,发展基础软件本质上还是人才培养的问题,“只有找到相应的人,才能把基础软件做起来。”
冯新宇认为,基础软件教育包含系统和编程语言两个方向,目前国内已有许多高校开始重视和投入系统方向的教学实践,但对于编程语言方向的教育仍较滞后,现有课程未能涵盖如类型系统、形式语义学等更深入的理论内容。
针对于此,IDEA 研究院此前已上线了首个以 ReScript 语言教学的《程序语言理论与实践公开课》,由张宏波亲自讲授,目标是通过课程激发更多学生及业界同行兴趣,培养国内基础软件领域人才,进而推动产业发展。
对课程感兴趣的小伙伴,点击此处访问
2022 IDEA 大会上,IDEA 研究院基础软件中心讲席科学家张宏波主持“基础软件之路”圆桌论坛,圆桌邀请了华为编程语言实验室主任、南京大学计算机科学与技术系教授冯新宇,IDEA 研究院 AI 安全普惠系统研究中心讲席科学家王嘉平,前端框架 Vue.js 及前端构建工具 Vite 作者尤雨溪以及 CODING 创始人张海龙,五位围绕基础软件的开发、人才培养、开源趋势等展开深度讨论。
软件是新一代信息技术的灵魂,是数字经济发展的基础,是制造强国、网络强国、数字中国建设的关键支撑。2021 年,工信部印发的《“十四五”软件和信息技术服务业发展规划》明确指出,要聚力攻坚基础软件,关键基础软件补短板,夯实开发环境、工具等产业链上游基础软件实力。
基础软件的发展已不单单是一个行业的发展,更关乎着国家产业结构转型。基础软件是支撑信息产业升级的“根技术”,而作为连接软硬件桥梁的程序语言、编译器及开发者工具,则是基础软件生态建设的基础。如今,这一行业存在两个明显趋势:一是云原生,即各项研发工作开始向云端迁移,二是开源。两大趋势之下,基础软件如何发展?有哪些机遇需要关注?圆桌嘉宾们各抒己见。
基础软件领域的新工具、新语言层出不穷,近年最受关注的当属全球首个跨平台、跨操作系统的虚拟指令集—— WebAssembly 。它最初的设计是应用在浏览器上,但随着技术的发展与社区的广泛接受,目前它的应用场景已拓展到云计算时代的无服务器架构(serverless)、移动端与桌面应用程序等等。
论坛开头,圆桌嘉宾们结合所处领域和研发经历,对 WebAssembly 在 Web 、云原生、区块链等应用和发展情况发表了各自看法。其中,张宏波指出,基础软件开发是一个需要长期积累的过程,后发者劣势很大,很难在短时间内赶上先发者。然而一个新的指令集诞生,让众多开发者能站在同一起跑线出发,或将为国产基础软件进入乃至领先世界带来可能。
作为构建软件的最底层技术,编程语言的重要程度不言而喻。全球范围内,新的编程语言持续涌现,但遗憾的是,这些被广泛使用的编程语言中,一直未有国产编程语言的身影。在信息强国的发展追求下,未来中国能否拥有自主开发的、同时流行全球的编程语言?
冯新宇结合华为研发经验剖析了编程语言的研发动机,并指出自主研发编程语言的重要性:“对国家来说,有自己的(编程)语言,对应的是从人才的培养、开发者社区的建立以及相关技术的演进,(我们)都能有更多的掌控能力。”
“语言和系统是相辅相成的,当计算机科学往前发展时,每一个新系统的出现,同时蕴含着语言的机会。”王嘉平从系统的角度出发,认为底层系统的发展将为新的语言诞生提供舞台。在区块链蓬勃发展的背景下,他所在团队正在研发 PREDA 并行区块链语言,突破了国内没有区块链语言的现况,他以此为例分享了针对分布式系统研发语言的经验及启示。
张海龙认为,基础软件技术本身是不分国界的,过往做基础软件在中国很困难,原因在于未有新的平台或范式产生,很难颠覆现有的东西。“但在新的云时代,有很多新的数据库出来,新的计算平台出现,包括区块链。国内基础软件团队有机会实现跟其他人同样起跑,许多投资机构开始意识到这个领域值得支持,我觉得,做这个领域一定要抱着非常长期的心态去做
云原生时代下,探讨基础软件研发时一个必谈的话题,就是 IDE(Integrated Development Environment,集成开发环境)。随着各类云计算服务如 Serverless 的兴起与发展,传统 IDE 逐渐无法满足当下云原生服务的特殊需求,云端 IDE 的研发及落地众所期待,但过往产品往往存在“叫好不叫座”、留存差的结果。
究其原因,张海龙结合团队探索云端 IDE 的 8 年经验总结,从软件工程关注的三个本质——开发效率、开发质量和可维护性出发,现有云原生 IDE 都未能真正解决实际的软件工程问题。如何构建一个真正面向云平台的软件?在他看来,一个新的语言的出现,才能带来全新的开发平台,“在目前的软件工程范式下,做 WebIDE 应该不可能成功,除非创建一个新的软件工程范式,比如做个全新语言。必须在特定的 IDE 环境下去开发。”
“以前,大家把编程看成非常重的东西,因为我们很多时候是在搭建整个系统。云原生出现后,我们更多是在写代码片段,通用部分已由‘云’全部做好了。这是云原生 IDE 的机会 。”王嘉平指出,在区块链系统发展的未来,云原生 IDE 将更具价值。全世界越来越多的开发者共同搭建区块链体系,在同一条链上部署和互相调用智能合约,过程中系统是动态变化的,更需要云原生 IDE 的支持。
基础软件是一切软件的基石。随着近年云计算发展,开源逐渐成为基础软件领域的一大趋势,一方面能让用户检验软件的安全可信,另一方面也为基础软件的创业公司带来新的引领模式及发展可能。
做出华人世界知名开源项目 Vue 前端框架的尤雨溪,列举了开源与商业结合的多种方式,如基金会合作支持、大型企业主动开源产品等等。他认为,由企业开源的模式在实现企业商业化战略的同时,能为推动生态发展发挥积极作用,并强调企业在开源项目之前,“应当对自身开源的目的和定位有正确的理解,只有开源行为和企业的利益很好契合,才能让项目更具可持续性。”
王嘉平从安全的角度出发,指出开源是让整个软件体系变得可信赖的重要方式,是商业化的基础之一。
根据全球最大的开发者社区 GitHub 2021 年度报告,中国开发者用户已达 755 万,位居全球第二。然而,人才短缺仍是当前中国基础软件产业发展受限的原因之一。
“在开发 ReScript 编程语言时,我发现虽然项目创始人是中国人,但来自于中国的贡献者相较于海外还是少很多,基本上都是来自于欧洲或者北美的贡献者。”从 ReScript 开发情况为例,张宏波指出,发展基础软件本质上还是人才培养的问题,“只有找到相应的人,才能把基础软件做起来。”
冯新宇认为,基础软件教育包含系统和编程语言两个方向,目前国内已有许多高校开始重视和投入系统方向的教学实践,但对于编程语言方向的教育仍较滞后,现有课程未能涵盖如类型系统、形式语义学等更深入的理论内容。
针对于此,IDEA 研究院此前已上线了首个以 ReScript 语言教学的《程序语言理论与实践公开课》,由张宏波亲自讲授,目标是通过课程激发更多学生及业界同行兴趣,培养国内基础软件领域人才,进而推动产业发展。
对课程感兴趣的小伙伴,点击此处访问