倉頡編程語言是一款面向全場景智能的新一代編程語言,主打原生智能化、天生全場景、高性能、強(qiáng)安全。主要應(yīng)用于鴻蒙原生應(yīng)用及服務(wù)應(yīng)用等場景中,為開發(fā)者提供良好的編程體驗(yàn)。
軟件優(yōu)勢:
1.多后端支持:倉頡編程語言支持 CJNative 和 CJVM 兩種后端。其中 CJNative 后端將代碼編譯為原生二進(jìn)制代碼,直接在操作系統(tǒng)層面上運(yùn)行;CJVM 后端將代碼編譯為字節(jié)碼,基于 VM(虛擬機(jī))進(jìn)行運(yùn)行。本文檔適配 CJNative 后端。
2.語法簡明高效:倉頡編程語言提供了一系列簡明高效的語法,旨在減少冗余書寫、提升開發(fā)效率,例如插值字符串、主構(gòu)造函數(shù)、Flow 表達(dá)式、match、if-let、while-let 和重導(dǎo)出等語法,讓開發(fā)者可以用較少編碼表達(dá)相關(guān)邏輯。
3.多范式編程:倉頡編程語言支持函數(shù)式、命令式和面向?qū)ο蟮榷喾妒骄幊,融合了高階函數(shù)、代數(shù)數(shù)據(jù)類型、模式匹配、泛型等函數(shù)式語言的先進(jìn)特性,還有封裝、接口、繼承、子類型多態(tài)等支持模塊化開發(fā)的面向?qū)ο笳Z言特性,以及值類型、全局函數(shù)等簡潔高效的命令式語言特性。開發(fā)者可以根據(jù)開發(fā)偏好或應(yīng)用場景,選用不同的編程范式。
4.類型安全:倉頡編程語言是靜態(tài)強(qiáng)類型語言,通過編譯時(shí)類型檢查盡早識別程序錯(cuò)誤,降低運(yùn)行時(shí)風(fēng)險(xiǎn),也便于代碼維護(hù)。同時(shí),倉頡編譯器提供了強(qiáng)大的類型推斷能力,可以減少類型標(biāo)注工作,提高開發(fā)效率。
5.內(nèi)存安全:倉頡編程語言支持自動(dòng)內(nèi)存管理,并在運(yùn)行時(shí)進(jìn)行數(shù)組下標(biāo)越界檢查、溢出檢查等,確保運(yùn)行時(shí)內(nèi)存安全。
6.高效并發(fā):倉頡編程語言提供了用戶態(tài)輕量化線程(原生協(xié)程),以及簡單易用的并發(fā)編程機(jī)制,保證并發(fā)場景的高效開發(fā)和運(yùn)行。
7.兼容語言生態(tài):倉頡編程語言支持和 C 等主流編程語言的互操作,并采用便捷的聲明式編程范式,可實(shí)現(xiàn)對其他語言庫的高效復(fù)用和生態(tài)兼容。
8.領(lǐng)域易擴(kuò)展:倉頡編程語言提供了基于詞法宏的元編程能力,支持在編譯時(shí)變換代碼,此外,還提供了尾隨 lambda、屬性、操作符重載、部分關(guān)鍵字可省略等特性,開發(fā)者可由此深度定制程序的語法和語義,有利于內(nèi)嵌式領(lǐng)域?qū)S谜Z言(Embedded Domain Specific Languages,EDSL)的構(gòu)建。
9.助力 UI 開發(fā):UI 開發(fā)是構(gòu)建端側(cè)應(yīng)用的重要環(huán)節(jié),基于倉頡編程語言的元編程和尾隨 lambda 等特性,可以搭建聲明式 UI 開發(fā)框架,提升 UI 開發(fā)效率和體驗(yàn)。
10.內(nèi)置庫功能豐富:倉頡編程語言提供了功能豐富的內(nèi)置庫,涉及數(shù)據(jù)結(jié)構(gòu)、常用算法、數(shù)學(xué)計(jì)算、正則匹配、系統(tǒng)交互、文件操作、網(wǎng)絡(luò)通信、數(shù)據(jù)庫訪問、日志打印、解壓縮、編解碼、加解密和序列化等功能。
軟件應(yīng)用場景:
1.鴻蒙應(yīng)用場景
在鴻蒙應(yīng)用場景中,倉頡編程語言憑借對現(xiàn)代語言特性的集成、全方位的編譯優(yōu)化與運(yùn)行時(shí)實(shí)現(xiàn),以及開箱即用的 IDE 工具鏈支持,為開發(fā)者締造了友好的開發(fā)體驗(yàn)和卓越的程序性能。此外,面向未來的鴻蒙 AI 原生應(yīng)用開發(fā),倉頡語言提供了面向開發(fā)者的全套內(nèi)嵌 Agent DSL 的編程框架以及智能化開發(fā)工具,便于開發(fā)者高效地完成鴻蒙 AI 原生應(yīng)用的開發(fā)工作。
2.服務(wù)端/云化場景
在云化場景中,倉頡編程語言提供了微服務(wù)應(yīng)用開發(fā)框架,提供基于編譯前處理模式的IOC容器、AOP切面編程、 ORM和事務(wù)管理、端到端的異步請求以及與其他組件快速對接等能力,幫助開發(fā)者快速構(gòu)建微服務(wù)應(yīng)用,并且通過倉頡輕量級用戶態(tài)線程以及高性能網(wǎng)絡(luò)協(xié)議庫,能夠充分利用系統(tǒng)資源,高效開發(fā)出高性能云服務(wù)應(yīng)用。同時(shí),倉頡社區(qū)協(xié)同合作伙伴以及開發(fā)者,共同構(gòu)建了豐富的三方庫及中間件生態(tài),方便開發(fā)者構(gòu)建倉頡程序。