Red 語言 2021 回顧和 2022 年計劃

語言: CN / TW / HK

Red 語言釋出的2021 回顧介紹了在過去一年所做的重點工作,涉及到直譯器、格式化、分割 (Split)、命令列模組 (CLI Module)、用於標記的編碼譯碼器 (Markup Codec) 和 IPv6 資料型別等。

據介紹,Red 語言在 2021 年大約關閉了 120 個 issue,平均每月 10 個,此外還合併了近 50 個 PR。雖然這些數字看起來比較小,不過開發團隊表示他們還要投入時間和精力到更深層次的工作以及其他任務中,所以綜合來說,專案仍在穩定發展。至於大家希望的 issue 和待處理的 PR 數目都為 0,開發團隊表示這對 Red 這樣的專案來說是不現實的。畢竟核心團隊需要花費大量時間來處理更大和更復雜的任務。

下面回顧一下 Red 語言在 2021 年 Q4 的 Roadmap:

  • 提供 `format` 和 `split`,不過已被延期至 2022 年 1 月完成
  • 批准通過 `CLI` 模組,處於待合併狀態,後續根據需要再改進
  • 由於對格式化 (format) 特性進行了過度的設計討論,標記編碼譯碼器 (Markup Codec) 花費的時間比預期的要長
  • Interpreter instrumentation,包含 PoC 偵錯程式和效能分析器,花費的時間比預期長,現已完成
  • 非同步 I/O 已完成,此外還計劃新增 `IPv6!` 作為資料型別(實驗性質),可能會發生變化
  • 改進動畫方言,@toomasv 的 `diagram` 方言將會降低優先順序,並移動至 2022 Q1 完成
  • 音訊模組已有 3 個工作後端和 1 個基礎的埠實現。下一步是更高級別的設計、裝置和格式化列舉,以及裝置控制。1 個“埠”可能不是解決所有這些問題的方法,但這是第一步
  • 動畫方面有許多優秀的案例,例如 Anim-text-fx 和 Animate-markers,@GalenIvanov 創造的方言將會作為 Red 的標準補充

團隊也確定好了 2022 年的 Roadmap,不過下面的順序不代表實現的先後順序,因為計劃經常發生改變。

  • 實現 `Table` 模組、`node!` 資料型別和其他 REP 審查
  • 實現完整的 HTTP/S 協議和基本的 Web 伺服器框架
  • 釋出新的 DiaGrammar 版本
  • 提供動畫方言 (Animation dialect)
  • 使用新的釋出流程
  • 更新網站並上線
  • 釋出 Red/C3(包含 ETH 2.0 客戶端協議)
  • 確定 Red 語言規範(原則、核心語言、評估規則、資料型別規範(包括文字形式)、Action/Native 規範、模組規範
  • 提供 64 位支援(有可能通過 LLVM 實現,但團隊表示從 Zig 瞭解到,LLVM 的重大更改對於小型團隊來說可能會非常痛苦。因此他們應該會自己實現,儘管這是一項艱鉅的任務)
  • 針對 Android 的更新
  • Red Spaces 跨平臺圖形使用者介面
  • 模組和封裝系統設計
  • RAPIDE(快速 API 開發環境)

根據 Red 語言的版本釋出記錄,其最近的更新是 2018 年釋出的 0.6.4 版本,此版本提供了 Simple GC,自此之後未再發布更新。期待 Red 語言在 2022 年的表現。

詳情檢視公告。

Red 程式語言是一門簡單易學的程式語言,受到了 REBOL 很大的啟發,由於它有原生代碼編譯器,Red 的應用領域更加廣泛——下到系統程式設計上到高階指令碼,同時提供了對現代的多核 CPU 併發程式設計的支援。相信 Red 語言能讓你體會到程式設計的樂趣。

特性

  • 支援函式式,命令式和符號化程式設計

  • 基於 Prototype 的物件系統

  • Homoiconic (同像性,也就是說資料的表現形式和程式碼的語法是一樣的,資料可以是程式碼,程式碼也可以是資料)

  • 支援靜態編譯和 JIT 編譯

  • 支援併發和並行程式設計(actors,並行容器)

  • 通過內建的低階程式語言(Red/System)支援系統級程式設計

  • 支援指令碼化和 REPL 互動環境

  • 高可嵌入性(類似 Lua)

  • 低記憶體使用量,支援垃圾回收

  • 極小的執行環境(1MB)