エンジニアなプログラマ

プログラミング(特にvala言語関連)の話題を取り上げていきます。

現在、新しいクラス図描画ソフトを開発中! http://gridraw.com/

Vala言語の特徴 (1)

vala言語。 これは数年前に開発された新しい言語である。 日本での知名度はまだ高くないようだ。 そこで、今回はvala言語の特徴を紹介してみよう。

なお、公式ページはこちら。 https://wiki.gnome.org/Projects/Vala

文法はC#ライク

vala言語の文法はC#とほとんど同じらしい。 私はC#を触ったことがないので、C#との違いについては評価できない。 公式ページでも「文法はC#と同じだ」と言っている。 https://wiki.gnome.org/Projects/Vala/About

ここで重要なのは、C#と同じであることではない。 C#のような比較的新しい言語に備えられている機能を使用できることがポイントだ。 公式ページを引用すると、次のような機能がvala言語では使用できる。

  • インターフェイス (Interfaces)
  • プロパティ (Properties)
  • シグナル (Signals)
  • foreach構文 (Foreach)
  • ラムダ式 (Lambda expressions)
  • インターフェイス (Type inference for local variables)
  • 継承 (Generics)
  • 非null型 (Non-null types)
  • メモリ管理機能 (Assisted memory management)
  • 例外処理 (Exception handling)
  • タイプモジュール? (Type modules (Plugins) )

公式ページでは省略されているのだが、名前空間、クラスやプロパティ・メソッドのアクセス制御は当然使用可能だ。 vala言語はC言語と密接に関わっているので、ポインタのような低レベルの制御も可能となっている。

ガベージコレクションは無いが、リファレンスカウンタによるメモリ管理機能もある。

ここまでだと、vala言語は、ただのC#のコピー言語であって、魅力を感じないかもしれない。 次回からvalaの魅力を紹介していく予定だ。


現在、valaによるアプリケーションを開発中です。 興味があれば登録してみてください。 http://gridraw.com/