deepin 宣布了自研的全新通用目的編程語(yǔ)言:Unilang,其倉(cāng)庫(kù)提供了文檔和作為參考實(shí)現(xiàn)的解釋器。 deepin 表示,目前桌面應(yīng)用開(kāi)發(fā)雖然有許多選項(xiàng),例如 Qt、Electron、PySide 和 Flutter 等。但它們存在各自的優(yōu)勢(shì)和不足。 據(jù)介紹,Unilang 目標(biāo)是成為一門現(xiàn)代的通用目的編程語(yǔ)言,能夠有效、靈活地開(kāi)發(fā)桌面環(huán)境應(yīng)用,去統(tǒng)籌解決現(xiàn)有不足的新的方案中的語(yǔ)言部分。為了保持通用性,Unilang 不內(nèi)建提供 GUI 功能,而通過(guò)庫(kù)提供相關(guān) API 。當(dāng)前計(jì)劃中,Unilang 將會(huì)支持基于 Qt 綁定的庫(kù),以便銜接過(guò)渡現(xiàn)有的一些桌面應(yīng)用項(xiàng)目。Unilang 的語(yǔ)言設(shè)計(jì)保持足夠的抽象能力和可擴(kuò)展性,未來(lái)支持直接實(shí)現(xiàn) GUI 框架。 此外,Unilang 在語(yǔ)言特性的層次上被設(shè)計(jì)為能支持不同的應(yīng)用開(kāi)發(fā)場(chǎng)景,但原則上對(duì)這些場(chǎng)景保持中立。也就是說(shuō),Unilang 可以同時(shí)支持服務(wù)端和客戶端應(yīng)用的開(kāi)發(fā),不需要用戶切換思維范式或者大幅更改對(duì)語(yǔ)言的使用習(xí)慣。 以下內(nèi)容引用自官方介紹:
表現(xiàn)力:Unilang 是圖靈完備的通用計(jì)算語(yǔ)言。Unilang 的創(chuàng)新式的語(yǔ)言特性,有助于構(gòu)建強(qiáng)大而易于使用的抽象。
可復(fù)用:Unilang 對(duì)一等對(duì)象 (first-class) 的強(qiáng)調(diào)使幾乎任何源程序組件都更比往常意義上更容易復(fù)用 —— 只要語(yǔ)言的用戶愿意。
可擴(kuò)展:Unilang 的基礎(chǔ)語(yǔ)言和語(yǔ)言擴(kuò)展的底層設(shè)計(jì)使開(kāi)發(fā)者能有機(jī)會(huì)以前所未有的方式平滑地改進(jìn)現(xiàn)有語(yǔ)言的設(shè)計(jì)和實(shí)現(xiàn)并保持兼容 —— 而非等待和語(yǔ)言設(shè)計(jì)及實(shí)現(xiàn)者的溝通與反饋。
可伸縮:Unilang 的資源管理模型和抽象能力使程序在具有不同計(jì)算資源的平臺(tái)上的表現(xiàn)默認(rèn)自然地一致,且易于調(diào)整。
多泛型 (multi-paradigm) :Unilang 的語(yǔ)言特性不要求用戶拘泥于具體的語(yǔ)用范型 —— 例如,不會(huì)限制副作用來(lái)要求習(xí)慣純函數(shù)式的風(fēng)格,或者要求隱含對(duì)象而要求程序按面向?qū)ο蟮男问竭M(jìn)行表達(dá)。靈活的抽象使用戶能夠針對(duì)不同領(lǐng)域的設(shè)計(jì)方案按需使用不同風(fēng)格的實(shí)現(xiàn)。
易用性:Unilang 的核心語(yǔ)言特性的極簡(jiǎn)設(shè)計(jì)使它的入門相當(dāng)容易。而可擴(kuò)展的特性和強(qiáng)大的抽象機(jī)制使語(yǔ)言保留了豐富的進(jìn)階內(nèi)容,供開(kāi)發(fā)者按需選擇。合理的基礎(chǔ)設(shè)計(jì)使不同內(nèi)容的掌握不易出錯(cuò)而更易使用。
專注性:Unilang 不是一門需要面面俱到精通各種特性才能用好的語(yǔ)言 —— 如果問(wèn)題不是需要修改語(yǔ)言,語(yǔ)言的用戶就應(yīng)能更集中注意力于解決語(yǔ)言之外的問(wèn)題上。
Unilang 主要特性
- 核心語(yǔ)言特性
- 對(duì) C++ 友好的對(duì)象模型
- 在 C++ 中調(diào)用 Unilang 代碼
- FFI :調(diào)用 C 和 C++ 等本機(jī)語(yǔ)言實(shí)現(xiàn)的模塊
- 動(dòng)態(tài)類型檢查
- 動(dòng)態(tài)加載和執(zhí)行
- 不依賴 GC
- 不安全操作
- PTC(proper tail call)
- 變量解析
- 函數(shù)調(diào)用
- 存儲(chǔ)和對(duì)象模型(類似 C++)
- 對(duì)象和值類別(類似 C++)
- 一等函數(shù):合并子 (combiner)
- 一等環(huán)境:環(huán)境引用
- 一等引用:引用值
- 實(shí)體特性
- 求值算法
- 運(yùn)行時(shí)支持
- 互操作
- ……
- 庫(kù)特性
- 類型標(biāo)注
- 靜態(tài)類型檢查
- 變量綁定
- 塊作用域
- 列表算法
- 模塊機(jī)制
- ……
- 核心庫(kù)
- 字符串
- 數(shù)值算術(shù)操作
- 輸入 / 輸出
- 類型系統(tǒng)增強(qiáng)
- FFI API
- Qt 綁定
- ……
Hello World 示例 第一個(gè)程序:
display "Hello, world!"輸出:
Hello, world!編輯:黃飛
-
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1955瀏覽量
36066 -
解釋器
+關(guān)注
關(guān)注
0文章
103瀏覽量
6695
原文標(biāo)題:深度deepin開(kāi)源自研編程語(yǔ)言:Unilang
文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
消息稱華為自研編程語(yǔ)言倉(cāng)頡,預(yù)計(jì)明年對(duì)外公布
太強(qiáng)了!華為自研鴻蒙編程語(yǔ)言,行業(yè)大佬都已經(jīng)偷偷學(xué)起來(lái)了
華為編程語(yǔ)言「?jìng)}頡」火了,已開(kāi)啟內(nèi)測(cè),成員辟謠:不是中文編程
plc編程語(yǔ)言有幾種_plc常用編程語(yǔ)言介紹

華為申請(qǐng)注冊(cè)“倉(cāng)頡語(yǔ)言”商標(biāo) 自研編程語(yǔ)言
華為自研編程語(yǔ)言倉(cāng)頡曝光
PLC編程語(yǔ)言的國(guó)際標(biāo)準(zhǔn) 和C語(yǔ)言的區(qū)別
基于PASCAL的高級(jí)編程語(yǔ)言——SCL編程語(yǔ)言

評(píng)論