BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Kullaプロジェクト - Java用REPL

Kullaプロジェクト - Java用REPL

ブックマーク

原文(投稿日:2014/09/30)へのリンク

Java REPLが近いうちに,あなたのJDKの元に届きそうだ。Oracle言語ツールチームのエンジニアであるRobert Field氏は先頃,Java REPL("Read-Evaluate-Print-Loop")プロジェクトの創設を提案した。投票を経て,Project Kullaと呼ばれるこのプロジェクトが承認されたのだ。

REPLは基本的には,スクリプティングシェルないしコンソールである。UNIXシェルやGroovyコンソールのように,アルゴリズムの確認のために使用するものだ。

REPLに対応するJEP(Java Enhancement Proposal)には,グラフィックインターフェースやデバッグのサポート,IDE的な機能など,いくつかの項目がスコープ外であると述べられている。プログラム言語の学習においては即時のフィードバックが重要であり,その機会を欠くために,多くの教育機関がJavaから離れていっている,というのが提案の理由である。対話的な実行は,従来の編集/コンパイル/実行よりもはるかに効率的なのだ。

"public static void main(String[] args){"というクラスの儀式を書かなくても,Javaで記述した短いスクリプトが実用的なものになる。

現時点で利用可能な選択肢としては,他にも次のものがある。

JEPによると,Java REPLはJDK 9で提供される予定である。ただしOpen JDKのJDK 9には,機能としてリストアップされていない。

Scalaを開発したMartin Odersky氏は先日,JavaでREPLを使用することの意義についての質問に対して,次のように返答した。

"Javaの直面している問題は,それが根本的に命令文(statement)志向の言語であることです。命令文を書いて,それを実行すると,結果が得られます。対照的にREPLは式(expression)志向です。式を書けば,REPLが結果を示します。電卓のようなものです。JavaでREPLを実現することは可能ですが,式志向の言語の場合ほど有用ではないでしょう。"

REPLは言語学習において,不可欠なものかも知れない。ただしフィードバックが迅速であることが,初学者に対して,他の言語よりもJavaの学習を促すことになるかは,まだ分からない。

この記事に星をつける

おすすめ度
スタイル

BT