前回gdgdで終わってしまったので、もう少し詳しくやってみたいと思う。 よく分からないところは、”[要出典]”を付けておくので、調べたり、あんまりいないと思うけど コメントでツッコんだりなんだりして欲しい。 Vala ってなあに? GObject のオブジェクトシステムを使った C# 風のプログラミング言語で、 コンパイル型言語ではあるものの、ランタイムや仮想マシンは必要ない。 なぜなら、Vala のコンパイラである valac は Vala のソースを C のソースに変換して それを gcc でコンパイルしているからで、vala で作ったバイナリは C で書いたものと同じ速さで動く。 valac はコンパイラっていうより、トランスレータだよね。 vala のソースからヘッダーファイルを生成するのはこんな風にする: $ valac hello.vala -c -H hello.h C のソ
GNOMEのプログラミング言語Valaを使えば、わざわざANSI Cでオブジェクト指向的なプログラミングをしなくても、GNOMEデスクトップのコア部分であるGLib2オブジェクトシステムを利用できる。MonoやJavaとは異なり、Valaのプログラムには仮想マシンもランタイムライブラリも必要なく、Valaオブジェクトを利用する人々はそれらがC以外の言語で書かれていることを知る必要さえない。 Valaコンパイラのvalacは、ValaのコードをCのコードに変換し、その結果をgccでコンパイルすることによってオブジェクトコードを生成する。従来のC言語環境で高水準言語を使おうとすると、言語のバインドという大きな問題に直面する。具体的には、それらの出所、メンテナンス状況、バグの有無などだ。バインドの質が低いと、高水準言語の利用はC言語以上にストレスを感じさせるものになり得る。ValaにはGLibの
Vala言語を使ったOpenGLによる描画について書いています。 プログラムのサンプルが、GNOME Wiki! のページにあります。 Vala OpenGL Samples(https://wiki.gnome.org/Projects/Vala/OpenGLSamples) GLFW、GtkGLExt、GLX、GLUTライブラリを使ったサンプルです。 プログラムのビルドには、vapi(C言語とのバインディング)が必要です。 External Vala Bindings(https://wiki.gnome.org/Projects/Vala/ExternalBindings) Gtkウィンドウ内でOpenGLを使う時には、GtkGLExtとGLXを利用することになります。 ・GtkGLExt Ubuntu等のパッケージリポジットリにあるライブラリはgtk+-2.0用で、 gtk+-3.
原典は、“Vala for Java Programmers”(2011年3月13日取得)です。 JavaプログラマーからみたVala (1) ソースコード JavaプログラマーからみたVala(2) 型 JavaプログラマーからみたVala (3) クラス JavaプログラマーからみたVala (4) クラス② JavaプログラマーからみたVala(5) 通知 JavaプログラマーからみたVala(6) 引数 JavaプログラマーからみたVala(7) その他 WindowsでValaを動かす ****************************** 構造体 構造体(struct)は、Javaには存在しない概念です。構造体とクラスのちがいを理解してもらうために、Point型の2つの実装をご覧に入れます。実装の一つはクラスとして、もう一つは構造体としてなされています。 class Po
いろいろと影響を受けて、Java や C# に似ている、Vala (wikipedia に日本語版の記事がない。作ったほうがいいな) をちょっと勉強してみました。 Vala についてはこちら (ValaによるGNOMEアプリケーションのプログラミング) がわかりやすいと思った。 環境は ubuntu 10.10 上で。とりあえず、Vala で書き、コンパイラ (valac) でコンパイルして、文法を学ぶこと、を目標に。 (1) Synaptic で 「valac」を探し出して、インストール。 現在、valac-0.10 が管理されています。2011.01 時点で、0.11.3 が最新でそちらを使ってもいいですが、とりあえずそのまま使いました。 (2) Valac のインストールの確認 アプリケーション -> アクセサリ 等から、ターミナルを開き、 $ valac --help を実行してみ
Momonga Linux 7もリリースされたので、trunk環境はvala-0.10.0に上げてみました。そして、C#とvalaの違いをのんびり調べようと思ったのですが、ネタが見つからなかったので、「猫でも分かるC#プログラミング(第2版)」を買ってきて、サンプルコードを試して行くことにした。 残念ながら、最初のサンプルコード(7ページ(myname01.cs))から動かないため、vala 用に書き換えました。名前は、私の名前を使います。 // myname01.vala class myname01 { public static void main () { stdout.printf("私の名前は西尾太です\n"); } } ビルド&実行結果は以下のとおりです。 $ valac myname01.vala $ ./myname01 私の名前は西尾太ですvala はビルドせずに実行す
Introduction Disclaimer: Vala is an ongoing project, and its features may change. I will try to keep this tutorial as up to date as I can, but I'm not perfect. Also, I can't promise that the techniques which I suggest are necessarily the best in practice, but again I will try to keep up with that sort of thing. What is Vala? Vala is a new programming language that allows modern programming techniq
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) プロパティ (Properti
Vala は C# っぽい文法で C 言語ソースコードを生成しコンパイルする言語です。 Windows で C# を少しかじった人にはとても馴染みやすい言語だと思います。 C 言語に変換するので当然 mono のようにランタイムを必要とせずネイティブアプリとして動作します。 new で作成したオブジェクトは C 言語変換時に破棄コードを自動生成するガベージコレクションもどきも行ってくれます。 文法が簡単で短く、かつアプリは高速という Linux 最強の言語かもしれません。 チュートリアル Vala/Tutorial - GNOME Live! C# との細かい違いは以下 Vala/ValaForCSharpProgrammers - GNOME Live! 一番単純な方法は Anjuta を入れる、後で必要になるだろう GTK+ ヘッダ等も一騎に導入できる。 以下は最小限
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く