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