オープンソース・ソフトウェアの開発とダウンロード

What's Onion?の表示

カテゴリ(タグ)ツリー

ファイル情報

カテゴリ(タグ)
ルート
ファイル名
onion_overview
最終更新
2010-04-02 20:44
種類
HTML
作成者
Kota Mizushima
概要
Onionの特徴について簡単に説明します。
言語
日本語
翻訳する

Onionとは

Onionは、Java VM上で動作するプログラミング言語処理系です。機能的にはJavaに類似していますが、手軽なプログラミングを支援するいくつかの機能を備えています。

Onionの特徴

Onionは、Java VM上で動作するスクリプト言語で、以下のような特徴を持っています。

  • 静的型である

    Onionはスクリプト言語ですが、静的型付けを行います。これは、スクリプト言語としてはデメリットのように見えますが、後述の型宣言の省略などの機能を持つことによって、ある程度静的型の面倒さを緩和しています。

  • 変数の型宣言が省略可能

    Onionは多くのスクリプト言語と同じように、最初の代入によって変数の宣言が行われます。もちろん、型宣言が必要な場合は、明示的にすることも可能です。

  • ダウンキャストが自動で行われる

    明示的なダウンキャストは、型安全で無い箇所を明示するという利点がありますが、手軽にプログラムを書きたいときは面倒なこともあります。Onionでは、ダウンキャストが必要なときに自動でそれを行うことで、簡単なスクリプトを作るときに、プログラマの手間を省くことができます。

  • クロージャ

  • クロージャは、制御構造をライブラリとして実現することなどが可能であり、非常に便利です。しかし、クロージャのために新たなデータ型を導入する方法では、新たなライブラリを作らなければ、クロージャを生かすことができません。

    Onionでは、クロージャを既存インタフェースのサブクラスのインスタンスに変換するため、既存のJavaライブラリでクロージャを有効に利用することができます。

  • 委譲

    Java言語には実装の多重継承はありませんが、実装の多重継承があれば便利なこともあります。Onionでは、委譲を言語仕様として取り入れることで、擬似的な実装の多重継承を実現することができるようにしています。

作者

水島宏太(hau51010{at}tree.odn.ne.jp)