GObjectを利用したC言語のソースコードを生成する、セルフホスティングコンパイラを持つオブジェクト指向言語である。for-eachなど、C言語にはない言語仕様を持つ[2]。オブジェクトシステムを利用した"生の"C言語の実行環境に取り込むことを目的とした。そのため、Valaはアセンブリや中間言語に直接コンパイルされるのではなく、C言語のソースコードにコンパイルされ、Valaの出力するC言語のソースコードはgccなどの標準的なC言語のコンパイラでコンパイルすることができる[3]。メモリ管理に関して、GObjectシステムは参照カウントを提供する[4]。C言語ではプログラマーが手動で参照の追加や削除を行わなければならないが、Valaでは、直接ポインタを利用せずに言語に備わっている参照型を利用する限り参照カウントの管理は自動で行われる。ValaからC言語のライブラリを利用するには言語間の接続を定義するvapiファイルを書く必要がある。このような定義を書くことは、特にGObjectをベースにした場合には、C言語のライブラリに対する良いドキュメントとなる。C++のライブラリは利用できない。vapiファイルはGTK+を含む大半のGNOMEプラットフォームについて提供されている。Sandriniにより実装、2006年3月にセルフホスティングコンパイラとして完成した[5]。Valaのオブジェクト指向の特徴の一部を示している。0;}前の例をGNOME3プラットフォームでコンパイルするには、特別なパラメータが必要である。hellogtk.valaC言語に変換された結果は、次のようになる。Pythonに似た文法を持つ、Valaコンパイラのための言語。Valaで書かれた、画像管理アプリケーション。Valaで書かれた、プレゼンテーション用ソフトウェア。2018年11月22日閲覧。http://monodevelop.com/外部リンク[編集]英語版ウィキブックスに本記事に関連した解説書・教科書があります。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。