この項目では、プログラミング言語について説明しています。広瀬香美のシングルについては「Groovy!」をご覧ください。
プログラミング言語>>他のプログラミング言語
GroovyGroovyのロゴ
パラダイムオブジェクト指向、スクリプト言語
登場時期2003年 (2003)
設計者Java Community Process
開発者Guillaume Laforge (プロジェクトマネージャー 兼 JSR-241 リーダー)
最新リリース3.0.8/ 2021年4月16日 (3年前) (2021-04-16)[1]
型付け強い動的型付け
規格 ⇒JSR 241
プラットフォームJavaプラットフォーム
ライセンスApache License v2.0
ウェブサイト ⇒The Groovy programming language
拡張子groovy
テンプレートを表示
Groovy(グルービー)は、Javaプラットフォーム上で動作する動的プログラミング言語である。
Groovy の処理系はオープンソースソフトウェアであり、James Strachan と Bob McWhirter らを中心に、オープンソース開発サイトであるコードハウス上で、2003年8月27日に開発が開始された(CVSへの最初のコミットがなされた)。その後、開発の主体は Guillaume Laforge と Jeremy Rayner らに移り開発が続けられている。2015年3月31日までは Pivotal がスポンサー企業となり、開発者をフルタイム雇用していたが、3月末を以て終了し、Apacheソフトウェア財団の管理に移行した[2]。 GroovyはJVM上で動作する言語処理系および言語の名称であり、Javaとの直接的な連携を特徴とする。例えばGroovyからすべてのJava SE APIや、Javaで書かれた任意のサードパーティ製のコンパイル済みのライブラリなどを呼び出すことができる。言語の記述能力としては、Javaで記述できることは、無名内部クラスの定義など一部の例外を除き基本的にGroovyでも記述することができる。逆に言うとJavaで記述できない機能は記述できないが、Javaと同様にC言語などで書かれたネイティブメソッドなどは呼び出すことができる。 Groovyは動的な言語であり、直接スクリプトを実行することができる。Groovyコード断片をコマンドラインに与えワンライナー
概要
このとき、GroovyコードもJavaコードも、JVMからみると両方ともJavaバイトコードとして解釈実行されるという意味で区別がない。Groovyのこのような仕組みから、GroovyはJavaと極めて親和性が高く、Java技術で培われてきた開発インフラやライブラリ、ノウハウ、ツール、JVM最適化技術などの多くをそのまま流用することができる。Groovyから生成したクラスファイルは通常のクラスファイルであるので、Javaクラスファイルを要求するプラグインなどをGroovyで記述することも容易である。
Groovyは、同じ実行時システムを共有する、Javaコードの別の表記法だと考えることもできる。 Groovyの言語仕様はJavaのそれをベースとしており、基本的にJavaプログラマにとって慣れ親しみやすいものである。Groovyはスクリプト言語として大幅に簡易化された記述を許している。以下に簡略な記述を可能とするGroovy言語の特徴を示す。
言語仕様
変数の型宣言は不要である。
通常の場合 - 宣言をしなかった場合Object