随着应用需求的多样化和复杂性增加,现代编译器通过支持高级语言、优化编译过程和提供多平台兼容性,使得开发者能够更高效地构建高质量的软件产品。在2024年10月12日第三届OpenHarmony技术大会编译器与编程语言分论坛上,众多行业专家齐聚一堂,围绕编译器与编程语言技术的前沿研究,聚焦编译器、编程语言、工具链、编译器测试、GC测评等方面展开最新技术和案例分享,探讨了如何提升应用开发效率和性能,以及如何增强系统的健壮性与安全性等相关议题。
OpenHarmony编程语言TSG主任、华为编程语言首席专家、仓颉编程语言首席架构师、南京大学教授冯新宇;北京师范大学人工智能学院副院长、教授计卫星作为出品人出席该分论坛。OpenHarmony编程语言TSG成员、华为编程语言实验室技术专家王学智担任分论坛总主持。华为编程语言资深技术专家董鑫;中国科学院软件研究所博士生汪钇丞;北京大学博士张星;南京大学助理教授、博士生导师谭添;华为语言虚拟机实验室架构师王亚东;华为ArkTS语言技术专家陈庭威;华为编译器实验室架构师俞超;天津大学教授、国家优青项目获得者陈俊洁出席论坛并发表演讲。
(OpenHarmony编程语言TSG主任、华为编程语言首席专家、仓颉编程语言首席架构师、
南京大学教授、本次分论坛出品人冯新宇发言)
华为编程语言资深技术专家董鑫向与会者介绍了面向全场景应用开发的新一代编程语言——仓颉的主要特点。董鑫指出,仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。所谓原生智能化,是指仓颉提供了一套原生AI应用框架与Agent DSL来提升OpenAtom OpenHarmony(以下简称OpenHarmony)智能应用开发效率和智能化水平。所谓天生全场景,是指语言支持定制扩展,通过元编程等能力为不同场景定制方言,提升复杂场景的开发和维护效率;以及提供可伸缩的轻量运行,在面向不同场景可以进行量体裁衣、高效适配。高性能,主要是基于静态编译优化、原生协程和全并发 GC 等技术,确保仓颉应用程序全周期流畅运行。强安全,则是源于全方位的安全特性设计。
(华为编程语言资深技术专家董鑫发言)
以Java、Go、C#为代表的托管语言(Managed Language)已广泛应用于现代大型软件项目。这些语言的运行时通过垃圾回收机制(Garbage Collector, GC)自动管理内存,但这种低效的垃圾回收机制显著影响了应用程序性能,目前缺乏有效的跨语言运行时GC性能评测方法。中国科学院软件研究所博士生汪钇丞就跨语言运行时的垃圾回收机制评测方法提出了解决办法,他分享了一种新的跨语言运行时GC性能评测方法,一套与运行时无关的内存操作原语,以这些原语为桥梁,构建或生成面向多语言运行时的一致GC负载。
(中国科学院软件研究所博士汪钇丞发言)
北京大学博士张星介绍了一种新型的基于操作的双向实时编程框架。该双向实时编程系统(BLP)允许开发人员通过直接操作程序输出来修改程序,使得更新后的程序能生成所需的输出,它能够自动将直接操作融入源代码,支持扩展性强且对源代码不敏感的操作。同时,该系统将可操作输出从静态值扩展到具有运行时交互功能的软件,进一步提升了双向实时编程的实用性。
(北京大学博士张星发言)
南京大学助理教授、博士生导师谭添分析了基于太阿(Tai-e)研发的面向仓颉的Tai-e-Cangjie程序分析框架的优势和其对促进仓颉语言生态发展的贡献。他指出:“太阿”作为全自研的新一代Java程序分析框架,相较于国际上流行的同类分析框架,具有易学易用、可扩展性强和运行效率高等优势,填补了仓颉语言相关生态的空白。
(南京大学助理教授,博士生导师谭添发言)
JavaScript/WASM是Web领域唯二的生态语言,拥有最为庞大的程序员基础。JavaScript/WASM引擎被广泛地嵌入到浏览器、小程序、RN等框架中,其性能会直接影响手机应用的用户体验。华为语言虚拟机实验室架构师王亚东在《HarmonyOS NEXT系统JSVM优化实践与思考》的演讲中提出,基于OpenHarmony提供的系统级JSVM,可以构筑具备竞争力的JS体验。
(华为语言虚拟机实验室架构师王亚东发言)
ArkTS具有更强的静态检查和分析能力,更高的开发效率和运行性能,更便利的高性能并发模型。华为ArkTS语言技术专家陈庭威就ArkTS开发者生态信息、挑战与技术演进等话题发表演讲。他指出ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用。同时,它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。
(华为ArkTS语言技术专家陈庭威发言)
毕昇编译器作为华为自研的编译器工具链,在HarmonyOS NEXT系统侧优化中发挥了重要的作用。华为编译器实验室架构师俞超在《毕昇编译器在HarmonyOS NEXT 的应用实践》主题演讲介绍了毕昇编译器为生态伙伴带来了面向CPU、GPU等不同体系架构的先进编译优化技术,并分享了毕昇编译器与生态伙伴紧密合作的优秀实践。
(华为编译器实验室架构师俞超发言)
天津大学教授、国家优青项目获得者陈俊洁介绍了天津大学创新性提出的基于程序综合的测试程序生成思路,以及据此设计的一系列技术。据称,这些该技术体系已经被逐步推向实用,它可以从历史测试程序中抽象出关键特征,并通过语义分析等策略进行特征重组,以高效获取更多样的测试程序,并进一步设计程序修复策略,以保证综合后的程序合法性。
(天津大学教授、国家优青项目获得者陈俊洁发言)
通过实际的技术分享和案例展示,编译器与编程语言分论坛致力于帮助开发者在OpenHarmony生态中找到系统性的编译器与编程语言技术,从而提升应用的开发效率、性能和安全性。OpenHarmony项目技术指导委员会致力于构建一个开放且技术领先的编译器与编程语言交流平台,为系统及应用开发者提供技术交流服务。未来,委员会将联合国内外顶尖技术专家、学者以及经验丰富的工业界工程师,为OpenHarmony生态带来在编译器与编程语言技术上的创新思考及工程实践案例。