BT

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

| 作者: Alex Blewitt フォローする 4 人のフォロワー , 翻訳者 阪田 浩一 フォローする 1 人のフォロワー 投稿日 2016年7月11日. 推定読書時間: 2 分 |

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT