0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自研編程語言:Unilang 的語言設(shè)計

西西 ? 來源:OSC開源社區(qū) ? 作者:OSC開源社區(qū) ? 2022-09-21 11:32 ? 次閱讀

deepin 宣布了自研的全新通用目的編程語言:Unilang,其倉庫提供了文檔和作為參考實現(xiàn)的解釋器。 deepin 表示,目前桌面應用開發(fā)雖然有許多選項,例如 Qt、Electron、PySide 和 Flutter 等。但它們存在各自的優(yōu)勢和不足。 據(jù)介紹,Unilang 目標是成為一門現(xiàn)代的通用目的編程語言,能夠有效、靈活地開發(fā)桌面環(huán)境應用,去統(tǒng)籌解決現(xiàn)有不足的新的方案中的語言部分。為了保持通用性,Unilang 不內(nèi)建提供 GUI 功能,而通過庫提供相關(guān) API 。當前計劃中,Unilang 將會支持基于 Qt 綁定的庫,以便銜接過渡現(xiàn)有的一些桌面應用項目。Unilang 的語言設(shè)計保持足夠的抽象能力和可擴展性,未來支持直接實現(xiàn) GUI 框架。 此外,Unilang 在語言特性的層次上被設(shè)計為能支持不同的應用開發(fā)場景,但原則上對這些場景保持中立。也就是說,Unilang 可以同時支持服務(wù)端和客戶端應用的開發(fā),不需要用戶切換思維范式或者大幅更改對語言的使用習慣。 以下內(nèi)容引用自官方介紹:

表現(xiàn)力:Unilang 是圖靈完備的通用計算語言。Unilang 的創(chuàng)新式的語言特性,有助于構(gòu)建強大而易于使用的抽象。

可復用:Unilang 對一等對象 (first-class) 的強調(diào)使幾乎任何源程序組件都更比往常意義上更容易復用 —— 只要語言的用戶愿意。

可擴展: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 不是一門需要面面俱到精通各種特性才能用好的語言 —— 如果問題不是需要修改語言,語言的用戶就應能更集中注意力于解決語言之外的問題上。

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!
編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1916

    瀏覽量

    34379
  • 解釋器
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    6467

原文標題:深度deepin開源自研編程語言:Unilang

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    消息稱華為編程語言倉頡,預計明年對外公布

    9 月 13 日消息 據(jù)博主 @長安數(shù)碼君 爆料,從華為內(nèi)部得知,華為正在編程語言,名為倉頡,并且該項目已經(jīng)進行了很久,預計明年會向外公布具體細節(jié),目前華為已經(jīng)申請了不同種類的華為
    的頭像 發(fā)表于 09-14 11:01 ?2673次閱讀

    太強了!華為鴻蒙編程語言,行業(yè)大佬都已經(jīng)偷偷學起來了

    華為開發(fā)者大會 2021(Together)上,Harmony OS 3 開發(fā)者預覽版正式發(fā)布,華為鴻蒙又是一個歷史性的進步啊,而且,華為還表示,將發(fā)布鴻蒙編程語言?。。?/div>
    發(fā)表于 10-25 16:53

    華為編程語言「倉頡」火了,已開啟內(nèi)測,成員辟謠:不是中文編程

    備受關(guān)注的華為編程語言「倉頡」,又火上熱搜了。這次是因為「倉頡」正式開啟了內(nèi)測,目前已經(jīng)有部分開發(fā)者拿到源代碼。?前不久,華為編程
    發(fā)表于 04-02 14:43

    plc編程語言有幾種_plc常用編程語言介紹

    PLC的編程語言與一般計算機語言相比具有明顯的特點,它既不同于一般高級語言,也不同于一般匯編語言,它既要易于編寫又要易于調(diào)試。目前,還沒有一
    的頭像 發(fā)表于 02-06 14:32 ?5.5w次閱讀
    plc<b class='flag-5'>編程</b><b class='flag-5'>語言</b>有幾種_plc常用<b class='flag-5'>編程</b><b class='flag-5'>語言</b>介紹

    學習開發(fā)環(huán)境和編程語言:匯編語言和C語言的比較

    能夠解決上述問題的編程語言就是C語言。C語言具有不依存于特定的CPU,又具有程序移植性高等的特點。另外,由于編程時可使用人們熟悉的英文單詞,
    的頭像 發(fā)表于 04-10 09:01 ?8909次閱讀
    學習開發(fā)環(huán)境和<b class='flag-5'>編程</b><b class='flag-5'>語言</b>:匯編<b class='flag-5'>語言</b>和C<b class='flag-5'>語言</b>的比較

    華為申請注冊“倉頡語言”商標 編程語言

    ”商標,所涉及國際分類為科學儀器。 同時,以“倉頡”為關(guān)鍵字搜索發(fā)現(xiàn),華為技術(shù)有限公司還申請注冊了“華為倉頡”商標。 早在去年9月,就有博主爆料稱,華為還在編程語言,名字定為“倉頡
    的頭像 發(fā)表于 02-25 16:46 ?2007次閱讀

    華為編程語言倉頡曝光

    企查查App顯示,近日,華為技術(shù)有限公司申請注冊“倉頡語言”商標,國際分類為42類,設(shè)計研究。
    的頭像 發(fā)表于 02-25 17:38 ?7844次閱讀

    PLC編程語言的國際標準 和C語言的區(qū)別

      PLC編程語言是工業(yè)控制領(lǐng)域內(nèi)用于編寫PLC程序的語言,旨在實現(xiàn)對工業(yè)設(shè)備和生產(chǎn)流程的自動化控制和監(jiān)測。PLC編程語言包含多種
    發(fā)表于 03-17 17:13 ?5118次閱讀

    基于PASCAL的高級編程語言——SCL編程語言

    根據(jù)該標準,可對用于可編程邏輯控制器的編程語言進行標準化。SCL 編程語言實現(xiàn)了該標準中定義的 ST
    發(fā)表于 06-20 10:20 ?1759次閱讀
    基于PASCAL的高級<b class='flag-5'>編程</b><b class='flag-5'>語言</b>——SCL<b class='flag-5'>編程</b><b class='flag-5'>語言</b>

    PLC編程語言的特點

    PLC的編程語言與一般計算機語言相比,具有明顯的特點,它既不同于高級語言,也不同與一般的匯編語言,它既要滿足易于編寫,又要滿足易于調(diào)試的要求
    的頭像 發(fā)表于 07-04 17:13 ?827次閱讀

    Python編程語言屬于什么語言

    Python編程語言屬于高級編程語言中的一種。它是一種通用、面向?qū)ο?、解釋?b class='flag-5'>編程語言。Pytho
    的頭像 發(fā)表于 11-22 14:31 ?1147次閱讀

    腳本語言編程語言的區(qū)別

    腳本語言編程語言是計算機語言的兩個主要分類。盡管兩者都是用于編寫計算機程序的工具,但它們在設(shè)計和運行方式上存在一些顯著的區(qū)別。下面將詳細探討腳本
    的頭像 發(fā)表于 11-22 14:33 ?2521次閱讀

    PLC編程語言和C語言的區(qū)別

    在工業(yè)自動化和計算機編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。盡管兩者都是
    的頭像 發(fā)表于 06-14 17:11 ?1592次閱讀

    華為倉頡編程語言引領(lǐng)全場景智能編程新紀元

    在科技飛速發(fā)展的今天,編程語言作為軟件開發(fā)的基石,其創(chuàng)新與突破一直備受矚目。近日,華為開發(fā)者大會論壇上傳來了一則振奮人心的消息:華為的倉頡編程
    的頭像 發(fā)表于 06-22 11:30 ?702次閱讀

    華為倉頡編程語言首次對外亮相

    在科技界的星辰大海中,華為再次展現(xiàn)了其深邃的探索精神和不懈的創(chuàng)新追求。在近日舉行的華為開發(fā)者大會2024上,華為正式發(fā)布其的倉頡編程語言,這也是這款備受期待的
    的頭像 發(fā)表于 06-24 15:11 ?640次閱讀