隨著應用需求的多樣化和復雜性增加,現(xiàn)代編譯器通過支持高檔語言、優(yōu)化編譯過程和提供多平臺兼容性,使得開發(fā)者能夠更有效地構(gòu)建高質(zhì)量的軟件產(chǎn)品。在 2024 年 10 月 12 日第三屆OpenHarmony技術(shù)大會編譯器與編程語言分論壇上,眾多行業(yè)專家齊聚一堂,圍繞編譯器與編程語言技術(shù)的前沿研究,聚焦編譯器、編程語言、工具鏈、編譯器測試、GC測評等方面展開比較新技術(shù)和案例分享,探討了如何提升應用開發(fā)效率和性能,以及如何增強系統(tǒng)的健壯性與安全性等相關議題。
OpenHarmony編程語言TSG主任、華為編程語言首席專家、倉頡編程語言首席架構(gòu)師、南京大學教授馮新宇;北京師范大學人工智能學院副院長、教授計衛(wèi)星作為出品人出席該分論壇。OpenHarmony編程語言TSG成員、華為編程語言實驗室技術(shù)專家王學智擔任分論壇總主持。華為編程語言佼佼者技術(shù)專家董鑫;中國科學院軟件研究所博士生汪釔丞;北京大學博士張星;南京大學助理教授、博士生導師譚添;華為語言虛擬機實驗室架構(gòu)師王亞東;華為ArkTS語言技術(shù)專家陳庭威;華為編譯器實驗室架構(gòu)師俞超;天津大學教授、國家優(yōu)青項目獲得者陳俊潔出席論壇并發(fā)表演講。
(OpenHarmony編程語言TSG主任、華為編程語言首席專家、倉頡編程語言首席架構(gòu)師、
南京大學教授、本次分論壇出品人馮新宇發(fā)言)
華為編程語言佼佼者技術(shù)專家董鑫向與會者介紹了面向全場景應用開發(fā)的新一代編程語言——倉頡的主要特點。董鑫指出,倉頡編程語言是一款面向全場景智能的新一代編程語言,主打原生智能化、天生全場景、高性能、強安全。所謂原生智能化,是指倉頡提供了一套原生AI應用框架與Agent DSL來提升OpenAtom OpenHarmony(以下簡稱OpenHarmony)智能應用開發(fā)效率和智能化水平。所謂天生全場景,是指語言支持定制擴展,通過元編程等能力為不同場景定制方言,提升復雜場景的開發(fā)和維護效率;以及提供可伸縮的輕量運行,在面向不同場景可以進行量體裁衣、有效適配。高性能,主要是基于靜態(tài)編譯優(yōu)化、原生協(xié)程和全并發(fā) GC 等技術(shù),確保倉頡應用程序全周期流暢運行。強安全,則是源于全方位的安全特性設計。
(華為編程語言佼佼者技術(shù)專家董鑫發(fā)言)
以Java、Go、C#為代表的托管語言(Managed Language)已廣泛應用于現(xiàn)代大型軟件項目。這些語言的運行時通過垃圾回收機制(Garbage Collector, GC)自動管理內(nèi)存,但這種低效的垃圾回收機制顯著影響了應用程序性能,目前缺乏有效的跨語言運行時GC性能評測方法。中國科學院軟件研究所博士生汪釔丞就跨語言運行時的垃圾回收機制評測方法提出了解決辦法,他分享了一種新的跨語言運行時GC性能評測方法,一套與運行時無關的內(nèi)存操作原語,以這些原語為橋梁,構(gòu)建或生成面向多語言運行時的一致GC負載。
(中國科學院軟件研究所博士汪釔丞發(fā)言)
北京大學博士張星介紹了一種新型的基于操作的雙向?qū)崟r編程框架。該雙向?qū)崟r編程系統(tǒng)(BLP)允許開發(fā)人員通過直接操作程序輸出來修改程序,使得更新后的程序能生成所需的輸出,它能夠自動將直接操作融入源代碼,支持擴展性強且對源代碼不敏感的操作。同時,該系統(tǒng)將可操作輸出從靜態(tài)值擴展到具有運行時交互功能的軟件,進一步提升了雙向?qū)崟r編程的實用性。
(北京大學博士張星發(fā)言)
南京大學助理教授、博士生導師譚添分析了基于太阿(Tai-e)研發(fā)的面向倉頡的Tai-e-Cangjie程序分析框架的優(yōu)勢和其對促進倉頡語言生態(tài)發(fā)展的貢獻。他指出:“太阿”作為全自研的新一代Java程序分析框架,相較于國際上峰行的同類分析框架,具有易學易用、可擴展性強和運行效率高等優(yōu)勢,填補了倉頡語言相關生態(tài)的空白。
(南京大學助理教授,博士生導師譚添發(fā)言)
JavaScript/WASM是Web領域唯二的生態(tài)語言,擁有最為龐大的程序員基礎。JavaScript/WASM引擎被廣泛地嵌入到瀏覽器、小程序、RN等框架中,其性能會直接影響手機應用的用戶體驗。華為語言虛擬機實驗室架構(gòu)師王亞東在《HarmonyOS NEXT系統(tǒng)JSVM優(yōu)化實踐與思考》的演講中提出,基于OpenHarmony提供的系統(tǒng)級JSVM,可以構(gòu)筑具備競爭力的JS體驗。
(華為語言虛擬機實驗室架構(gòu)師王亞東發(fā)言)
ArkTS具有更強的靜態(tài)檢查和分析能力,更高的開發(fā)效率和運行性能,更便利的高性能并發(fā)模型。華為ArkTS語言技術(shù)專家陳庭威就ArkTS開發(fā)者生態(tài)信息、挑戰(zhàn)與技術(shù)演進等話題發(fā)表演講。他指出ArkTS提供了聲明式UI范式、狀態(tài)管理支持等相應的能力,讓開發(fā)者可以以更簡潔、更自然的方式開發(fā)應用。同時,它在保持TypeScript(簡稱TS)基本語法風格的基礎上,進一步通過規(guī)范強化靜態(tài)檢查和分析,使得在程序運行之前的開發(fā)期能檢測更多錯誤,提升代碼健壯性,并實現(xiàn)更好的運行性能。
(華為ArkTS語言技術(shù)專家陳庭威發(fā)言)
畢昇編譯器作為華為自研的編譯器工具鏈,在HarmonyOS NEXT系統(tǒng)側(cè)優(yōu)化中發(fā)揮了重要的作用。華為編譯器實驗室架構(gòu)師俞超在《畢昇編譯器在HarmonyOS NEXT 的應用實踐》主題演講介紹了畢昇編譯器為生態(tài)伙伴帶來了面向CPU、GPU等不同體系架構(gòu)的先進編譯優(yōu)化技術(shù),并分享了畢昇編譯器與生態(tài)伙伴緊密合作的優(yōu)秀實踐。
(華為編譯器實驗室架構(gòu)師俞超發(fā)言)
天津大學教授、國家優(yōu)青項目獲得者陳俊潔介紹了天津大學創(chuàng)新性提出的基于程序綜合的測試程序生成思路,以及據(jù)此設計的一系列技術(shù)。據(jù)稱,這些該技術(shù)體系已經(jīng)被逐步推向?qū)嵱?,它可以從歷史測試程序中抽象出關鍵特征,并通過語義分析等策略進行特征重組,以有效獲取更多樣的測試程序,并進一步設計程序修復策略,以保證綜合后的程序合法性。
(天津大學教授、國家優(yōu)青項目獲得者陳俊潔發(fā)言)
通過實際的技術(shù)分享和案例展示,編譯器與編程語言分論壇致力于幫助開發(fā)者在OpenHarmony生態(tài)中找到系統(tǒng)性的編譯器與編程語言技術(shù),從而提升應用的開發(fā)效率、性能和安全性。OpenHarmony項目技術(shù)指導委員會致力于構(gòu)建一個開放且技術(shù)領先的編譯器與編程語言交流平臺,為系統(tǒng)及應用開發(fā)者提供技術(shù)交流服務。未來,委員會將聯(lián)合國內(nèi)外先進技術(shù)專家、學者以及經(jīng)驗豐富的工業(yè)界工程師,為OpenHarmony生態(tài)帶來在編譯器與編程語言技術(shù)上的創(chuàng)新思考及工程實踐案例。
(推廣)