クライアントアプリケーションの開発にフォーカスしたプログラミング言語「Dart」の最新版「Dart 2.5」がリリースされました。

Dart 2.5では「ML Complete」と呼ばれる、機械学習を用いてより賢いコード補完をさまざまなコードエディタへ提供する機能がプレビュー版として追加されました。

Dartをはじめとする型付き言語では、コードエディタによる補完機能が働きやすいという利点がありますが、それでもAPIの種類が増えるにつれて、多数表示される補完候補のなかから適切なものを選ぶ手間は増えていきます。

ML Completeはそうした状況を改善するために開発が進められていると説明されています。

ML Completeの学習データにはGitHub上のオープンなDartのコードが用いられ、TensorFlow Liteによってプログラマが開発中のコードに対して適切な補完のための候補が選ばれます。

下記のツイートに含まれている動画が、ML Completeによる賢いコード補完のようすです。

We launched the stable release of the Dart 2.5 SDK! It includes improved support for constant expressions and technical previews of two major new developer features: ML Complete and Dart FFI for calling C code directly from Dart.



Learn more ↓https://t.co/5dz2dViDb0 pic.twitter.com/pcu0iOsjoB — Dart Language (@dart_lang) September 10, 2019

ML CompleteはDart 2.5のSDKに含まれており、Visual Studio CodeやIntelli J/Android Studioで利用可能です。

コードエディタによる補完機能を機械学習によって賢くする試みは、マイクロソフトがVisual Studioの拡張機能「IntelliCode」ですでに実現しています。

参考：IntelliCodeがプログラマのリファクタリング作業を自動的に学習。学習内容からリファクタリング箇所を提案するように

その機能をコードエディタに任せず、プログラミング言語側からSDKの一部として提供する。しかも仕組みとしてGoogleがオープンソースとして公開するTensorFlow Liteを用いるというのは、興味深い動向ではないかと思います。

関連記事