CeylonプロジェクトのリーダであるGavin King氏がM6リリースの提供開始を発表した。Ceylon 1.0のベータ版を兼ねた今回のリリースにより,言語はFC(Feature Complete)に達したものと解釈される。今回のリリースには言語の全仕様に加えて,JVMおよびJavaScriptVM用のコンパイラなどのコマンドラインツールセット, SDK, EclipseベースのIDEなども含まれる。
バグ修正と同時に,今回のリリースでは次のような言語拡張も実施された:
- アノテーションとアノテーション制約(Annotation Constraint)
- 型セーフなメタモデル
- "Static" メソッドと属性の参照
- リソースを伴う
try
文 switch
文での文字列,整数,文字のサポート- 文字列および文字リテラル内でのユニコード名前付き文字のサポート
**
スケーリング乗算演算子- 空でない可変長パラメータ
- 継承したインターフェースの具象化メンバを呼び出す場合に使用される構文の改良
IDEの拡張機能の一部を次に示す:
- モジュールランタイムでCeylonプログラムの起動をサポート
- Eclipse組み込みファイルへの統合とパッケージのリファクタリング
- インラインの "リンクモード” リネーム,およびドキュメント文字列内での参照に対するリネームのサポート
- 自動補完機能の改善,"リンクモード"のパラメータ比較を含む
- Eclipseのマージビューアとの統合性の改良
- コマンドラインツールセットの設定ファイルフォーマットへの統合
- 新しいクィックフィックスとアシスト
この言語と関連ツールは3年以上にわたって開発が続けられてきた。GA(General Availability) がいつになるかは明らかでないが,2014年の第1ないし第2四半期と予想される。Ceylon 1.0に向けた開発も開始されているが,プロジェクトのロードマップを見る限りでは,全体で167ある問題点の中でクローズされたのはわずか7%に過ぎない。それでも開発チームとしては,修正作業と合わせてシリアライゼーションやリポジトリレプリケータ,その他多数のモジュールを追加したいと考えている。具体的には,ceylon.transaction
– 分散トランザクションのサポート,ceylon.local
V ローカライゼーションのサポート,ceylon.format
– 数値および日付,時刻のテキストフォーマット処理,などだ。
King氏によれば,Ceylonは元来,特定の状況においていたずらに複雑なJava言語に対して,蓄積されてきたフラストレーションを和らげる言語への要求から生まれ,その後さまざまな要求に対応すべく改良されてきたものだ。具体的には,XMLとの強い結合,言語レベルでのモジュール性の欠如,ファーストクラスあるいは上位の存在としての関数の欠如,加えてgetter/setter,配列とプリミティブ型,"危険な" synchronized キーワード,冗長なコンストラクタ構文といった,"開発者を毎日悩ませる" 言語としての過ちだ。Ceylonはこれらの問題の解決を目指し,当初はJVMをターゲットとしていたが,その後JavaScript VMのサポートが追加されることで,ブラウザやNode.js上でも動作するようになった。構文はCやJava,C#のそれと類似していて,言語自体はシンプルなものに仕上がっている。とは言え,Google GoやDartなど最近の言語と同じく,その成功はひとえにその普及率にかかっている。