Ceylonパラダイムオブジェクト指向
登場時期2011年
設計者ガビン・キング、レッドハット社
最新リリース1.3.3/ 2017年8月21日 (6年前) (2017-08-21)
型付け強い静的型付け
影響を受けた言語Java、Scala、Smalltalk
ウェブサイト ⇒ceylon-lang.org
拡張子.ceylon
テンプレートを表示
Ceylon(セイロン)は、レッドハット社によって開発されたプログラミング言語およびソフトウェア開発キットである。この言語はJava言語をもとに作られ、Java仮想マシンで動作する。またJavascriptにコンパイルすることができる[1][2]。
この言語とソフトウェア開発キットのプロジェクトは、Java言語とJava SEソフトウェア開発キットで見られた成功と失敗を踏まえた上で、@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}もし今それらが設計されたとしたら、商用コンピューティング向けの言語と開発キットがどんなものになっていたかを示すものであると言える[要出典]。また、レッドハット自身は否定しているものの、業界のアナリストからは同プロジェクトはJavaを抹殺するためのものだと言われている[3][4]。 Ceylon言語はJava言語の構文のほとんど全てを受け継いでいる。下記は Hello World プログラムのCeylon言語版である[5]。void hello() { writeLine("Hello World!");} Ceylon言語では、プログラミング言語で一般的に混乱の原因とみなされている演算子の多重定義の仕組みを提供していない。その代わりCeylon言語には、組み込み型のメソッドの省略形であるような演算子については多相性を利用できる仕組みがある。これは演算子の多重定義よりも安全で簡素な仕組みである。 インターフェースは、構成要素の定義のみがあって実装が含まれていないデータ構造である。異なる実装をもつ異なるデータ型に含まれる構成要素を定義するのに便利である。全てのインターフェースは暗黙に抽象データ型になっている。 インターフェースは予約語 satisfies を使ってクラスとして実装する。satisfies の後ろに、複数のインターフェースをカンマで区切って書けば、複数のインターフェースを一つのクラスで実装することができる。Ceylon言語のインターフェースでは、要素の定義だけでなく、一定の制限を満たすものであれば実装コードも記述することができる。インターフェースにはデータを初期化するコードを含めることはできないが、ミクスインであれば複数含めることができる。shared interface Comparable<in T> { shared formal Comparison compare(T other); shared Boolean largerThan(T other) { return compare(other)==larger; } shared Boolean smallerThan(T other) { return compare(other)==smaller; } ...} Ceylon言語のクラスは、Java言語のそれと同様、最大でひとつのクラスから実装を継承することができる。継承は予約語 extends を使って宣言する。予約語 this を使えば、そのクラス自身を指定することもできる。 抽象クラスとは、実装の雛形としてのみ使うことができるクラスである。抽象クラスのインスタンスを作成することはできない。抽象クラスだけが抽象メソッドを持つことが許されている。抽象メソッドには、どんな実装コードをも与えることは出来ないため、そのメソッドは抽象クラスでないサブクラスによって上書きされなければならない。
言語の特徴
演算子の多重定義
インターフェース
継承
リリース
2011年12月20日、コンパイラの公開。
2013年11月12日、初のプロダクションリリースとなる1.0.0を公開。[2]
出典^ “ ⇒2011/04/13/red_hat_unveils_project_ceylon Project Ceylon ? Red Hat builds Java replacement”. The Register (2011年4月13日). 2011年11月27日閲覧。
^ a b “ ⇒米Red Hat、新言語「Ceylon 1.0」発表、初のプロダクションリリースに”. OSDN (2013年11月15日). 2013年11月16日閲覧。
^ ガビン・キング (2011年4月13日). “ ⇒Ceylon”. 2011年11月27日閲覧。
^ “ ⇒Ceylon JVM Language”. infoq.com (2011年4月13日). 2011年11月27日閲覧。 “First, I never billed this as a Java Killer or the next generation of the Java language. Not my words. Ceylon isn't Java, it's a new language that's deeply influenced by Java, designed by people who are unapologetic fans of Java. Java's not dying anytime soon, so nothing's killing it.”
^ ガビン・キング (2011年4月27日). “ ⇒Introduction to Ceylon Part 1”. 2011年11月27日閲覧。
外部リンク
⇒Ceylon公式サイト (英語)
⇒In Relation To... Introduction to Ceylon
⇒Introducing the Ceylon Project、ガビン・キング、レッドハット社
⇒The Ceylon Type System、ガビン・キング、レッドハット社
⇒Gavin King unveils Red Hat's Java successor: The Ceylon Project、マーク・リチャーズ、2011年4月11日
表
話
編
歴
Java
プラットフォーム
Java言語
JVM
Java ME (Micro)
Java SE (Standard)
Jakarta EE
Javaカード
Android SDK
オラクルのテクノロジー
Squawk
Java開発キット
OpenJDK
JVM
JavaFX
Maxine VM
カンファレンス
JavaOne
Devoxx
組織
Apache Software Foundation
Java Community Process
オラクル
サン・マイクロシステムズ
人物
ジェームズ・ゴスリン
アーサー・ヴァン・ホフ
ウルス・ヘルツレ
パトリック・ノートン
カテゴリ