水晶 0.34.0 發布

Crystal 的新版本已經發布,這是一種採用 Ruby 語法的編譯型程式語言,其主要特點是運行時具有「內建」事件循環,其中所有 I/O 操作都是非同步的,支援多執行緒(只要因為它是在編譯期間透過標誌啟用的)並且使用C 語言庫進行極其簡單和方便的操作。

從版本 0.34.0 開始,語言正式開始邁向第一個真正的版本(即版本 1.0)。

Crystal 的新版本包括以下按重要性排序的變更和改進:

  • API 中新增了新的日誌記錄庫 日誌,與舊的不同,它可以將訊息發送到不同的後端,並根據“來源”以不同的方式過濾這些訊息。

  • 來自 C 開發世界的基礎知識, 厄爾諾 и 錯誤由於異常層次結構,用於 I/O 原語的 已成為過去 IO::錯誤 (但是,目前還沒有人禁止使用 Errno)。

  • 刪除了運算子中 else nil 的自動替換 情況/何時/其他。 這樣做是為了防止開發人員意外地跳過其中一個分支。 什麼時候 當匹配枚舉等確定性情況並透過 Union 傳遞類型時。 也就是說,簡單地說,如果不再指定一個,這段程式碼將不再工作 什麼時候 (當 Char 時)或任務 其他- 分公司:

a = 1 || 'x' || “富”
案例一
當 Int32
# ...
當字串
# ...
結束

  • 編譯器選項 停用溢出 不再可用。 對於溢出操作,請使用 &+、&-、&* 方法。

  • 數組#填充 現在比子彈飛得還快,這要歸功於用一個簡單的 memset 替換了愚蠢的循環;

  • 碎片(包)的管理者,自相矛盾地稱為, 碎片,現在使用 CocoaPods (Swift) 和 Builder (Ruby) 中更快、更有效率的 Molinillo 依賴滿足演算法。

  • 增加了支持 LLVM 10,理論上這會為我們帶來生產力、穩定性等方面的一些提升。

……以及許多其他,在我的主觀意見中,不太顯著的改進。

我想指出的是,Crystal 是一種基於 LLVM 構建的語言,它允許您有時比其解釋的“兄弟”更快、更簡單、更簡潔地編寫應用程序,同時獲得相當快的二進制結果。 與 Golang 相比,它因其絕對成熟的 OOP、對泛型的支援以及非常簡單易懂的語法而脫穎而出。 它的目的在很大程度上與 Nim 類似,但同時它顯然專注於「此時此地」的實際使用,因此它的 API 庫中擁有許多記錄良好、方便且高品質的工具,並得到了語言開發者因此非常穩定。

來源: linux.org.ru

添加評論