G#:Go・Kotlin・Swift風の新.NET言語

原題: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

なぜ重要か

複数のモダン言語の利点を.NETに統合する試みは、C#の代替を求める開発者コミュニティの注目を集め得る。

個人開発者のDavid Obandoが、GoやKotlin、Swiftのエルゴノミクスを.NETランタイム上で実現する新プログラミング言語「G#」をバージョン0.3として公開した。ソースコードはマネージドアセンブリに直接コンパイルされ、既存のCLR型をインポートして通常の実行ファイルとして配布できる。

G#は、.NETランタイム向けに設計されたモダンなプログラミング言語で、Go・Kotlin・Swift・TypeScriptに共通するシンタックスと開発体験を.NET環境にもたらすことを目的としている。現在のバージョンは0.3。

主な言語機能として、パッケージとインポート、`func`宣言、シールドクラス、判別共用体的な`enum`、アロー形式のラムダ、`if let`によるNull許容型ハンドリング、そしてパターンベースの`switch`などが挙げられる。数値型はint32・uint64・float64のようなビット幅を明示する型を採用し、サイズの曖昧さをなくしている。

並行処理については、`scope`キーワードによる構造化並行処理、`async/await`とTask[T]の組み合わせ、非同期ストリームとしての`async sequence[T]`をコアに組み込んでいる。GoのChannelとgoroutineに相当する機能はオプトイン拡張として提供される。

ツールチェーンとしては、コマンドラインコンパイラ(gsc)、MSBuild SDK、VS Code拡張、言語サーバー(LSP)、Portable PDBによるデバッグのサポートが整備されている。ドキュメントは実装に基づく言語仕様書、チュートリアル、「Effective G#」イディオムガイドを含む。

出典

davidobando.github.io — 元記事を読む →