「Dart 3」が来年登場。完全Nullセーフな言語となり、Nullセーフティなしの実行はサポート外に
アプリケーションフレームワーク「Flutter」で使われているプログラミング言語「Dart」の開発チームは、来年(2023年)半ばにメジャーバージョンアップとなる「Dart 3」のリリースを予定していると発表しました。
Dart 3では、Dart 2.12から導入し始めたNullセーフを全面的に取り入れたものになると、次のように説明されています。The road to Dart 3
— Dart Language (@dart_lang) December 8, 2022
Dart 3, expected by mid 2023, will only support sound null safety.
Learn more about how Dart's sound safety compares to other languages, and how we're preparing for this major release in the blog by @MiSvTh → https://t.co/YPm8KsdIfG pic.twitter.com/XbEawQ1Qi9
Our next release, Dart 3, completes the journey to a fully sound null safe language. As the last step of that journey, we’re removing several historical Dart language and SDK artifacts, including removing support for running without sound null safety. This makes Dart easier to learn, and enables us to evolve the Dart SDK to support new features with greater speed.
次のリリースであるDart 3では、完全に健全なNullセーフ言語への道程が完了します。この道程の最後のステップとして、Dart言語とSDKのこれまでの成果物のいくつかを削除し、健全なNullセーフティなしの実行はサポート外とします。これによりDartの学習が容易になり、Dart SDKを進化させて新機能をより迅速にサポートすることが可能になるのです。
Dart 3が完全なNullセーフ言語になる理由として、Dart開発チームはモダンなプログラミング言語はNullセーフティであり、例えばSwiftやC#やKotlinにはNull値を持たない非Null型の型を備え、これによりこれまで多くのバグを生んできたNull参照の間違いを防ぐようにしていると指摘。
Dartでもこれを取り入れて、変数はデフォルトではNull値を持たないようにしており、明示的に宣言した場合のみNull値を持つことができます。
そして健全なNullセーフティでは、非Nullな変数は絶対にNull値を持たないことが約束されるとのことです。
現在のDartでは過去の互換性を考慮し、Nullセーフティなし、部分的Nullセーフィティ、完全に健全なNullセーフティの3つのモードを選択してアプリケーションを実行できるようになっています。
これがDart 3ではNullセーフティのみがサポートされる予定です。
Dart開発チームは、すでにFlutterアプリケーションの85%程度がNullセーフティになっているとしており、残りの15%に該当するアプリケーションについては、Dart 3の前にNullセーフティにマイグレーションするように勧めています。
あわせて読みたい
Webブラウザ版VSCode、WebAssembly版PythonによるWeb上でのPythonコードの実行やデバッグが可能に
≪前の記事
ダークモードなどをサポートしたBootstrap 5.3アルファ1版が登場。新しいカラーパレットも追加