G# 程式語言 0.5.7 發布


G# (GSharp) 是一個基於 .NET 平台打造的現代化實驗性程式語言。它融合了 Go、Kotlin 與 Swift 等語言的設計哲學(如簡潔的語法、結構化併發、顯式可空性等),但它並非一個獨立的虛擬機器平台,而是直接編譯成普通的 .NET 託管組件(Managed Assemblies),並完美無縫地支援現有的 .NET 生態系與類別庫。

核心特色

結構化併發與通道(Structured Concurrency & Channels)

  • 借鏡了 Go 語言的設計,內建了 chan[T] 通道型別,能讓資料安全地在不同的並行工作間傳遞。
  • 透過 scope 區塊與 go 關鍵字,子任務可以一同啟動、一起結束,並自動彙整捕捉其錯誤,避免非同步程式碼失控。

實用的資料類別(Data Classes)

  • 提供簡潔的 data class 宣告方式,預設支援結構化相等性(Structural Equality)以及方便的「複製更新」(Copy-with-update,例如 origin with { X = 3 })語法,大幅減少傳統 C# 所需的樣板程式碼(Boilerplate)。

顯式可空性與智慧型流程(Explicit Nullability & Flow)

  • 強調可空型別(如 string?),透過 if let 語法流暢地處理空值判斷與安全解構,使空指標異常(NullReferenceException)在編譯期與邏輯上更易於防範。

原生 .NET 深度整合

  • 雖然語法風格煥然一新,但它深度相容 .NET。開發者可以直接 import 任何 .NET 命名空間(如 System.Collections.Generic 或 System.Linq),並使用你熟悉的 .NET 類別庫與工具鏈(如搭配 .NET SDK 進行 dotnet new 與 dotnet run)。

https://github.com/DavidObando/gsharp

Picture Source

gsharp

留言