Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように
Rust Coreの開発チームは、Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」をオープンソースとしてリリースしました。
Rust Coreを用いることで、Dart言語にRust言語が持つ一般的な型やさまざまな便利な機能を取り込むことができるようになります。
合わせて、Rust Coreのドキュメント「Rust Core Book」も公開されました。
DartはGoogleが主導してオープンソースで開発されているプログラミング言語です。クロスプラットフォーム対応のモバイルアプリケーション開発に対応したFlutterフレームワークで用いられている言語として知られています。
なぜDart言語でRustのコアライブラリを実装?
Dartで、なぜRust言語の機能を利用するRust Coreが登場したのでしょうか?
Rust Core BookのFAQには「Why Use Rust Core Even If I Don't Know Rust?」(Rust言語のことさえ知らないのに、Rust Coreを使う理由とは?)という項目があり、そこでRust Coreを用いることでDartに取り込めるRustの利点が紹介されています。
そこからいくつかの項目を簡単に引用しましょう(下記はできるだけ慎重に概略を引用しましたが、筆者はRustの知識がないので間違っている可能性があります。あらかじめお詫びいたします)。
- Rustの「Result型」を用いてエラーハンドリングを値として扱えることでメンテナンス性が高まる。
- DartにはNull値を持てる型があるが、Nullまたは非Nullに特化した操作を行うには、if文の束が必要となる。Rustの「Option
」はこれをランタイムのコストなしに修正できる。 - Dartに欠けているRustの「?」演算子の機能を利用できる。
- Dartにはない、Rustの「Cell」型が利用できる。
- Dartにはスライス型という概念がなく、サブリストを確保するのが唯一の方法だがこれはあまり効率的ではない。 そこでRustの「Slice
」が利用できる。
Rust BookにはDart言語は知っているけれどRust言語は知らないというプログラマのために、「New To Rust」という項目もあります。
そこでは「rust_coreは、Rustのセマンティクスや知識を学び、向上させるのに最適です。 Dartを書きながら、Rustを学べます。」と、Rustの学習にRust Coreが使えると紹介されており、DartとRustの違いなどが解説されています。
Rust言語はいま注目度が高まっている言語の1つと言ってよいでしょう。もしもDart言語を使ったことがあるプログラマであれば、Rust CoreはRustを学ぶためのきっかけになるかもしれません。
あわせて読みたい
生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」
≪前の記事
プログラミングのためのBGMや環境音/Slackにプロジェクト管理機能が追加/Google、超高速に評価可能な式言語発表ほか、2024年6月の人気記事