Ceylon

Ceylonは、レッドハット社によって開発されたプログラミング言語であり、ソフトウェア開発キットです。この言語はJava言語をベースとしており、Java仮想マシン(JVM)上で動作します。また、JavaScriptにコンパイルすることも可能です。

このプロジェクトは、Java言語とJava SEソフトウェア開発キットの成功と失敗を踏まえ、もし現代においてそれらを設計するとしたら、商用コンピューティング向けの言語と開発キットがどのようなものになるかを示すことを目指しています。レッドハット自身は否定していますが、業界アナリストからはJavaを置き換えるためのプロジェクトだと見られることもあります。

言語の特徴



Ceylon言語は、Java言語の構文の大部分を受け継いでいます。以下に、Hello World|Hello_worldプログラムのCeylon言語版を示します。

ceylon
void hello() {
print("Hello, World!");
}


演算子の多重定義


Ceylon言語では、プログラミング言語で混乱の原因となりがちな演算子の多重定義の仕組みは提供されていません。その代わりに、組み込み型のメソッドの省略形であるような演算子については、多相性を利用できる仕組みがあります。これは、演算子の多重定義よりも安全で簡素なアプローチです。

インターフェース


インターフェースは、構成要素の定義のみを持ち、実装を含まないデータ構造です。異なる実装を持つ異なるデータ型に含まれる共通の構成要素を定義するのに役立ちます。全てのインターフェースは暗黙的に抽象データ型として扱われます。

インターフェースは`satisfies`キーワードを使ってクラスとして実装されます。複数のインターフェースを一つのクラスで実装する場合は、`satisfies`の後ろにカンマ区切りでインターフェースを列挙します。Ceylon言語のインターフェースでは、要素の定義だけでなく、一定の制約を満たすものであれば実装コードも記述できます。ただし、インターフェースにはデータを初期化するコードを含めることはできません。ミクスインを使用すれば、複数の初期化コードを含めることができます。

継承


Ceylon言語のクラスは、Javaと同様に、最大で一つのクラスから実装を継承できます。継承は`extends`キーワードを使って宣言します。`this`キーワードは、そのクラス自身を指します。

抽象クラスは、実装の雛形としてのみ使用できるクラスです。抽象クラスのインスタンスを作成することはできません。抽象メソッドを持つことができるのは抽象クラスのみです。抽象メソッドは実装コードを持つことができないため、抽象クラスでないサブクラスで上書きする必要があります。

リリース



  • - 2011年12月20日:コンパイラの公開
  • - 2013年11月12日:初のプロダクションリリースとなる1.0.0を公開

出典



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。