JVMで動作する新言語「Noop」- Google開発者らによる新プロジェクト

Sun Microsystemsで開催中の「JVM Language Summit」において、Googleの技術者Alex Eagle氏とJeremie Lenfant-Engelman氏が、Java仮想マシンで動作する新しいプログラミング言語「Noop」を発表した。旧、新の開発言語からの経験を教訓に、読みやすく、そしてメンテナンスしやすい言語を実現する。「2人以上のチーム向けの言語」だという。

Noopは"noh-awp"と発音する。機械命令のNOP(No Operation)に近い。Eagle氏らGoogle技術者を中心に、開発者同志が集まってNoopプロジェクトはスタートした。現在Google Code上でホストされている。

同プロジェクトのミッションを語る上でEagle氏らは、Michael Feathers氏の「Working Effectively With Legacy Code (レガシーコード改善ガイド)」の内容を引用した。同著でFeathers氏は、"テストのないコード"をすべてレガシーコードと定義し、その上で、コードを理解し、テストで保護するための手法をまとめている。Noopが目指すところも同じだ。たとえ、きれいな設計やコードであっても、手が加えられるに従って次第に分かりづらくなり、そして壊れていく。テストを用意し、元のきれいな設計やコードを維持しながら、プログラムを変更できる環境が望ましい。こうした特徴を言語レベルで備えるべきであるという考えがNoopプロジェクトの背景だ。

たとえばFeathers氏は、ユニット・テスティングを実現する上で、接合部を利用してSeamという、元のコードを編集することなくプログラムのふるまいを変える場所が重要になるとしている。Eagle氏らによると、Seamがないケースは言語機能に由来する。Noopでは、すべてのクラスのペアの間にSeamが設けられる。またプログラムの実行までコンポーネント同士が依存関係を持たないようにするDependency Injection (DI: 依存性の注入)が組み込まれている。

ほかにも、コードは書かれる以上に読まれるものという観点から"読みやすさ"を重視。プロジェクト・ページでは、不変性、実行可能なドキュメンテーション、プロパティ、実用的でモダンな標準ライブラリなどの特徴が挙げられている。

NoopはApache License 2.0の下で公開される。Noopのソースファイルの利用方法として、Javaソースを生成するJavaトランスレータ、インタープリタ、Javaバイトコードへのコンパイラの3つが検討されている。

関連キーワード


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

求人情報