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
- Editor Review
- Chief Editor Action