Groovyに触ってみよう
Andrew Glover (aglover@vanwardtechnologies.com)
CTO, Vanward Technologies
2004/9/25
主な内容 なぜまた新しい言語が必要か javacが不要 動的型付けの威力 文法は自由自在 Groovyのその他の特徴
|
Javaエンジニアであれば、Groovyについて耳にしたことがあるだろう。James StrachanとBob McWhirterという2人の著名なエンジニアによって生み出されたGroovyは、Java APIベースのアジャイルな開発を実現するスクリプト言語だ。2004年3月にはJSR(Java Specification Request)−241として認定され、現在は標準化作業の初期段階にある。Javaそのものに対する見方やその位置付けを根底から覆すものという評価さえある。
Groovyの標準化作業を始めるに当たり、その責任者の1人Richard Monson-Haefelは、同言語を支持する理由として「アジャイルな開発言語をJavaプラットフォームに追加するための機が熟した」と説明している。Javaに移植されたスクリプト言語はいくつか存在するが、Groovyがそれらとは異なるのは「Javaのためのスクリプト言語」である点だ。さらに同氏によれば、Groovyの開発者たちは標準化に際して「Javaは単なる言語ではなく、複数の言語が共存する基盤となるプラットフォームである」という考えを示したという。
alt.lang.jreコラムの第2回は、このGroovyについて取り上げる。まずは、「なぜまた新しい言語が必要か」という素朴な疑問に答え、続いてGroovyの卓越した能力についてコード例を交えながら概観しよう。
なぜまた新しい言語が必要か |
本コラムの第1回で説明したとおり、Java実行環境で動作するスクリプト言語や開発言語はGroovy以外にもいくつか存在する。例えばJythonやJRuby、Smalltalkなどがそうだ。そのため、「これらの言語とJavaを組み合わせれば迅速な開発が可能なのに、なぜまた新しい言語を学ぶ必要があるのだろうか」といぶかるITエンジニアも少なくないはずである。
しかし、そうした心配は無用だ。Groovyがほかのスクリプト言語と異なる点は、Javaの文法や標準ライブラリをそのまま引き継いでいるため、新たな言語の習得が不要なことである。JythonやJRubyはそれぞれPythonとRubyの文法や機能をベースとしているが、Groovyは「さらに使いやすくなったJava」という感覚で使える。
またJythonなどの言語は、ベースとなるスクリプト言語のライブラリに依存することが多い。一方Groovyでは、Java開発者におなじみのライブラリや機能を、そのままアジャイルな開発環境で利用できる。また以下のようなGroovyのメリットをもってすれば、「幅広いニーズに対応し、あらゆる応用が可能なコードの開発」というアジャイル開発の信条も十分に実践可能となる。
- コンパイルが不要
- 動的な型付けが可能
- 文法上の制限を緩和
- 通常のJavaアプリケーション内でGroovyスクリプトを実行可能
- シェルインタプリタを提供
こうしたメリットによって、Groovyは、Javaの初心者でもベテランでも極めて簡単に学習し利用できる言語となっている。以降のセクションでは、これらのメリットについてさらに詳しく解説したい。
1/4 |
INDEX |
||
Groovyに触ってみよう | ||
Page1 なぜまた新しい言語が必要か |
||
Page2 javacが不要 動的型付けの威力 |
||
Page3 文法は自由自在 |
||
Page4 Groovyのその他の特徴 |
Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|