BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ローカル変数の型推論導入を目指すJEP 286についての調査結果

ローカル変数の型推論導入を目指すJEP 286についての調査結果

原文(投稿日:2016/03/22)へのリンク

Brian Goetz氏は、 ローカル変数の型推論についての調査結果を公開した(訳者注:2016年7月現在結果は閲覧できない)。またその結果が、この機能をぜひ取り入れてほしいということを指し示していると公表した. InfoQはこの結果に注目した. 調査には質問から得られたすべてのデータを含まれている。 つまり同じ質問に入力された他の解説や情報も含まれていることとなる。

回答者は言語にこの機能が採用されることを熱望しているように見える。Javaにローカルの型に推論を追加することに賛成すると86%以上の人が答えている。これは、JVMにローカル変数の型を推論できるようにするように見える。C/C++におけるautoキーワードやSwiftやScalaのような言語にあるvarに類似したものだ。

public void aMethod() {
  var count = 0; // int型と推論する
  var name = "Alex"; // Stringと推論する
}

回答の84%前後は次のように指摘している。varは可変の内容をローカル変数で定義するには適切な選択だ、と。 autoの方が好ましいと提案している人は数%だけいる。

回答には推論される値の型が不変であるべきことを示すために、別のキーワードを導入するべきか考えているというバリエーションがあった。 たとえばlet (最新の言語であるSwiftやRust)やvar (Scala) なのか、それとも不変な値を示すために今あるfinal修飾子を単に使うだけでよいのかどうかという選択に、他の言語が影響を与えている。ここに多数派はいなかった。オプションは3つの選択肢の間で分かれている。Scalaの影響を受けてvalを使うことを推すものが他を先んじている。返答の80%がvarだけを導入することを支持している。少なくとも最初は高い度合いで他のオプションは嫌われる結果となっている。オプションは将来的には検討できるようにしておいて、ひとまずvarのみ使えるように提供することがもっとも恩恵がありもっとも反感が少なくなりそうだ。

追加の調査は前回の結果をベースに各個人がさらなるフィードバックを提供できるように作成されている(訳者注:2016年7月現在調査は終了している)。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT