2025年11月に正式リリース予定の.NET 10で、file-based C# programs(ファイルベースのC#プログラム)がリリース予定です。
次の理由から筆者は、file-based C# programsをとても楽しみにしています
- 日常のちょっとしたコードやCI/CDで使うスクリプトにちょうど良い
- プログラミング初学者、C#初学者への最初の導入・説明がしやすくなる
- ライブラリやフレームワークのサンプルコードの例示が楽になる
日常のちょっとしたコードやCI/CDで使うスクリプトにちょうど良い
公式の.NET 10が導入されてさえいれば、追加のフレームワークやツールを導入せずとも、単一のC#ファイルを実行可能なことは非常に魅力的です。
充実した言語機能、標準クラスライブラリ、3rd-partyライブラリ、ツール、エコシステムをもつC#、そして.NET。file-based C# programsはライブラリも簡単に導入可能で、.NETにはCLI用のライブラリも当然あります。日常のちょっとしたコードやCI/CDでのスクリプトを、file-based C# programsで作成する機会がたくさんありそうです。
プログラミング初学者、C#初学者への最初の導入・説明がしやすくなる
「プログラミング初学者、そしてC#初学者への最初の導入・説明が、やりやすくなるかもしれないな」と考えています。
「単一ファイルで良い」ということは、「こっちのファイルを開いて、ここの設定をこう変えて」という説明が不要になり、説明がしやすいのではないかな、と考えています。
また、「IDEの手順通り操作をしたら、いくつかのファイルが作られました、いくつかのファイルは後で説明します」となることが多かったのではないかと思います。何かを教える際は、大事なものに絞って説明するべき、と考えています。
file-based C# programsは内部的には、特別なスクリプトではなく通常のC#実行です。ところが初学者は、それを意識しなくても使えます。初学者に対して、.csprojやプロジェクトの説明を「必要なタイミングまで、後回しにできる」ということは、メリットかなと考えています。
ライブラリやフレームワークのサンプルコードの例示が楽になる
file-based C# programsにより、ライブラリやフレームワークのサンプルコードの例示が楽になる、と考えています。
サンプルコードとしてプロジェクトを公開したり、「ライブラリのバージョンはこっちのファイルに、コードはこっちのファイルに」と分散していたりすると、サンプルコードの提供側も利用側も面倒です。一方で、file-based C# programsを使えば、単一のC#ファイルにライブラリの導入設定とその利用コードをすべて書いておけるため、単一のC#ファイルだけ公開するだけでよくなるのではないでしょうか。そのため、file-based C# programsによりライブラリ・フレームワークのサンプルコードの公開は、提供者にとっても、利用者にとっても大きなメリットがあると考えています。
まとめ
file-based C# programs、とても楽しみです