1 名前:login:Penguin [2009/07/05(日) 14:31:59 ID:IdyQQEIy] C#ライクなGNOMEのプログラミング言語Valaについて語り合いましょう 【GNOME Live!】 Vala live.gnome.org/Vala Tutorial live.gnome.org/Vala/Tutorial 【SourceForge】 ValaによるGNOMEアプリケーションのプログラミング sourceforge.jp/magazine/08/12/15/0143207
2 名前:login:Penguin [2009/07/05(日) 14:49:00 ID:IdyQQEIy] 【Valaについて - wikipediaより引用】 Vala is a programming language that tries to bring modern language features to C, without additional runtime requirements and with little overhead, by targeting the GObject object system. It was developed by J rg Billeter and Raffaele Sandrini. The syntax borrows heavily from C#. Rather than being compiled directly to assembler or to an intermediate language, Vala is compiled to C which is then compiled with the platform's standard C compiler.
3 名前:login:Penguin mailto:sage [2009/07/05(日) 16:00:26 ID:4QqhX6g7] 板違うだろうが プログラム pc12.2ch.net/tech/
4 名前:デムパゆんゆん mailto:sage [2009/07/05(日) 18:00:02 ID:1wMfbkcM] 薔薇 愛 それは マライヒマライヒ
5 名前:login:Penguin mailto:sage [2009/07/05(日) 18:15:49 ID:Tt3flXt7] gobjectとかgnomeと相性がいいんだっけか でもそれならpython使うしなあ
6 名前:login:Penguin mailto:sage [2009/07/05(日) 18:46:25 ID:wTWUZzTz] Cに変換してコンパイルするから、速度と依存関係の少なさが魅力かな?
7 名前:login:Penguin mailto:sage [2009/07/05(日) 18:54:45 ID:wTWUZzTz] あ、後他の言語に移植するとき楽になるかもしれない。
8 名前:login:Penguin mailto:sage [2009/07/05(日) 19:06:42 ID:vWjFkdbk] Cで無理やり作ったオブジェクトシステムを扱うのは煩雑だから 専用の言語を作ったというのが、GNOMEらしいというか何というか。 エンドユーザーとしてはMonoアプリよりはVM抜きのGtk+アプリを使いたいが 開発者としてはMonoのほうが楽チンかもしれない
9 名前:login:Penguin mailto:sage [2009/07/07(火) 03:24:44 ID:DTLYWLxn] デバッガもgdbにはパッチ当てないといけないしな。 でも、cのソースと協調しやすいから、今までの資産がある人には良いんじゃないかな?
10 名前:login:Penguin mailto:sage [2009/07/08(水) 02:41:01 ID:O/hFomNV] PythonライクなGenieってのもあるんだな ValaにしてもGenieにしてもドキュメントが少ないのはなんとかならんのかね? ちょっとやってみたがGtkのメニューバーの作り方がわからん まぁライブラリのソース嫁ってことか?
11 名前:login:Penguin mailto:sage [2009/07/11(土) 23:55:26 ID:laBaTLCT] >10 メニューバーのAPI自体は用意されてるみたいだよ。 ttp://valadoc.org/?pkg=gtk+-2.0&element=Gtk.MenuBar ただ、使い方については一切説明が無いので、 gtkリファレンスを参照しなきゃいけないけど。 ttp://library.gnome.org/devel/gtk/unstable/ 他にvalaで使えるapiを知りたければ、 ttp://valadoc.orgを見れば大丈夫なのかな?
12 名前:login:Penguin mailto:sage [2009/07/14(火) 20:32:25 ID:sdMMjO+h] vala用IDEの一つであるvalide( ttp://www.valaide.org)だけど、 valaが0.7.4以上だとコンパイルできないみたい。 svnの最新バージョンならとりあえず動くよ。
13 名前:login:Penguin mailto:sage [2009/07/15(水) 00:08:28 ID:zyweEBSH] >>11 ありがとうございます。参考になりました。 ところで RADツールでなんかオススメないですかね? 今のところgladeを使うのが一番簡単?
14 名前:login:Penguin mailto:sage [2009/07/16(木) 02:06:50 ID:F4aDnD2e] gladeしかないだろうね、今のところ。uiファイルの読み込みどうするかっていう問題はあるけど
15 名前:login:Penguin mailto:sage [2009/07/16(木) 02:45:34 ID:Hnv0jSIK] 確か本家サイトのサンプルコードにuiファイルを読み込む方法があったような 今日はもう寝るので後日確認します
16 名前:login:Penguin mailto:sage [2009/07/16(木) 18:06:11 ID:F4aDnD2e] GtkBuilderには対応してるみたいだね。 俺はいつもuiファイルの置き場所に悩むよ。てvalaあんまり関係ないけど。
17 名前:login:Penguin mailto:sage [2009/07/16(木) 21:40:58 ID:SQsoT81g] 過疎ってるからとりあえずできた物投下するよ。 ttp://itn2002.sakura.ne.jp/archive/validesample/validetest.tar.gz GtkBuilderを使うには--pkg=gmodule-2.0が必要だったんだね。 これに気づかないで大分悩んだ。 まあほとんどsampleと同じだけど。 ところで[CCode (instance_pos=-1)]の意味って何?
18 名前:login:Penguin [2009/07/17(金) 01:40:49 ID:AJJQRc+R] ありましたGtk+サンプルコード live.gnome.org/Vala/GTKSample これの5番め Loading User Interface from XML File ってやつですね
19 名前:login:Penguin mailto:sage [2009/07/17(金) 01:54:46 ID:AJJQRc+R] >>17 補足 18で示したサンプルコードとあわせて参考にさせていただきました >>18 リンク先の説明を参照すると コールバックメソッドをスタティックメソッドのかわりにインスタンスメソッドに したいときに[CCode(instance_pos=-1)] を書けってかいてありますね
20 名前:login:Penguin mailto:sage [2009/07/21(火) 02:52:10 ID:0neMEWmQ] valideが0.5.1に更新されてるね。valaが0.7.4の場合にコンパイルできない問題が修正されてる。 ttp://valaide.org 後、勉強用プログラムを更新したんでまた投下するよ。 ttp://itn2002.sakura.ne.jp/archive/validesample/validetest.tar.gz 今度はlibsoupを使ってbbsmenu.htmlを取得して解析するっていうことをしてみた。 本当はGLib.Nodeを使った方が色々と嬉しかったんだけど、 APIが他のと比べて整備されてないから見送った。残念。
21 名前:login:Penguin mailto:sage [2009/07/21(火) 03:01:12 ID:PGci44zy] >>20 APIとかどこみてるんですか? valadoc.org?
22 名前:login:Penguin mailto:sage [2009/07/21(火) 03:23:39 ID:z0/0mtfh] >21 基本的にvaladocだよ。で、ちょっと使い方がわからない部分があったらglibのリファレンス見てる。 #ownedとかの概念が難しいなぁ…
23 名前:login:Penguin mailto:sage [2009/07/23(木) 01:31:28 ID:ijmAepso] うーんスレのカキコ見てると今んとこはMonoでいいや
24 名前:login:Penguin mailto:sage [2009/07/23(木) 23:15:09 ID:KpnabxAG] 素のGObjectは扱いたくないし、monoっていうでかいのに依存したくないっつー 場合だけだろうね、今のところの需要は。 そういえばvaladocがなんか急に賑やかになってた。特にglib-2.0あたり。
25 名前:login:Penguin mailto:sage [2009/07/25(土) 15:58:58 ID:4ZhJtHFF] 今度はタイマーアプリを作ってみた。UIが適当なのと、 ちょっとカウント終了間際の処理が怪しいのは勘弁な。 もうちょっとスレッドとか駆使すれば正確な計測もできそうだけどね。 ttp://itn2002.sakura.ne.jp/archive/validesample/valagtktimer.tar.gz
26 名前:login:Penguin mailto:sage [2009/07/26(日) 18:39:40 ID:zOq9gcf3] >>25 Vala関係ないけどちゃんとドキュメントコメントとか使って偉いな
27 名前:login:Penguin mailto:sage [2009/07/26(日) 22:15:01 ID:9sVzuMoj] まあ癖つけとかないと泣きを見るのは自分だからね。
28 名前:login:Penguin [2009/08/04(火) 20:28:21 ID:JNFmjrAP] vala-0.7.5あげ。基本的にはバグフィックスだね。 でもいくつか機能追加があるけど。 これはstaticなプロパティが作れて、 プロパティにdelegateが使えるってことなのか。 自分で書いててよく理解してないけど。
29 名前:login:Penguin mailto:sage [2009/08/07(金) 23:16:28 ID:YTRt07A3] 前回作った2chのbbsmenu解析を、ツリービューに表示できるようにしたよ。 結構突貫作業だけどね。 ttp://itn2002.sakura.ne.jp/archive/validesample/validetest.tar.gz そういえばValaって"""で囲んだ中をそのまま文字列で使えるみたいだね。 Glade3で作ったUIファイルも、この仕組みを使えば楽にプログラム自体に 内包できるかもしんないね
30 名前:login:Penguin mailto:sage [2009/09/11(金) 02:51:30 ID:tsm8+8Iw] GObject をそのまま使うなんて感動的過ぎる。。 これは大化けしそうな予感
31 名前:login:Penguin mailto:sage [2009/09/11(金) 13:24:30 ID:HQvxmAmH] vala0.7.5 で valide をビルドしたいけど ctags-vala.hがどうのこうの言って止まってしまいまする
32 名前:login:Penguin mailto:sage [2009/09/15(火) 02:11:48 ID:Yjjhu7nI] ttp://live.gnome.org/Vala/GTKSample の一番最初のサンプルの gtkmm 版を作って Vala 版と比較してみた。(Fedora11) バイナリサイズ gtkmm: 7.5 KB, Vala: 4.9 KB 実行時の使用メモリ gtkmm: 2.2 MB, Vala: 1.7 MB 依存ライブラリの差 275668 libatkmm-1.6.so 126452 libcairomm-1.0.so 285552 libgdkmm-2.4.so 445116 libgiomm-2.4.so 343012 libglibmm-2.4.so 3547140 libgtkmm-2.4.so 176024 libpangomm-1.4.so 合計 約 5 MB ソースの可読性 Vala の方がだいぶ(?)読み易い (シグナルの設定なんか特に) 結論としては、GTK+ アプリを作る場合は Vala はかなりのアドバンテージ があると思われる。
33 名前:login:Penguin mailto:sage [2009/09/15(火) 15:55:41 ID:/etepYv4] gtkmmじゃなくてGtkで比較してほしいです!
34 名前:login:Penguin mailto:sage [2009/09/16(水) 02:13:52 ID:AuFz8a5t] なんとなく意味ない気がするけど比較してみたよ。 C 版と Vala 版の比較です。 バイナリサイズ (-Os でビルド) C: 5060, Vala: 5036 (なんか小さい!) 実行時の使用メモリ C: 1.8 MB, Vala: 1.8 MB (前回より多いけど状況に依存するもんなんで) 依存ライブラリの差 なし ソースの可読性 Vala の方がかなり読み易い (まぁ当然だけど) 結論としては、Vala を使いこなせるスキルがあるならば、あえて C で 組む必要はないと思われる。
35 名前:login:Penguin mailto:sage [2009/09/18(金) 01:58:57 ID:gwrFBs2X] かなりC#と似てるけど、むしろ違う所がどこなのか知りたい。 どっかまとまってるとこないかなぁ?
36 名前:login:Penguin [2009/09/19(土) 12:56:49 ID:8ZFOHBpR] 探してみたけどC#との違いについてまとめてあるページは無かった ところで上の方で専ブラっぽいの作ってる人、できた?