Valaについて語りませんか
- 1 :login:Penguin:2009/07/05(日) 14:31:59 ID:IdyQQEIy
- C#ライクなGNOMEのプログラミング言語Valaについて語り合いましょう
【GNOME Live!】
Vala
http://live.gnome.org/Vala
Tutorial
http://live.gnome.org/Vala/Tutorial
【SourceForge】
ValaによるGNOMEアプリケーションのプログラミング
http://sourceforge.jp/magazine/08/12/15/0143207
- 23 :login:Penguin:2009/07/23(木) 01:31:28 ID:ijmAepso
- うーんスレのカキコ見てると今んとこはMonoでいいや
- 24 :login:Penguin:2009/07/23(木) 23:15:09 ID:KpnabxAG
- 素のGObjectは扱いたくないし、monoっていうでかいのに依存したくないっつー
場合だけだろうね、今のところの需要は。
そういえばvaladocがなんか急に賑やかになってた。特にglib-2.0あたり。
- 25 :login:Penguin:2009/07/25(土) 15:58:58 ID:4ZhJtHFF
- 今度はタイマーアプリを作ってみた。UIが適当なのと、
ちょっとカウント終了間際の処理が怪しいのは勘弁な。
もうちょっとスレッドとか駆使すれば正確な計測もできそうだけどね。
ttp://itn2002.sakura.ne.jp/archive/validesample/valagtktimer.tar.gz
- 26 :login:Penguin:2009/07/26(日) 18:39:40 ID:zOq9gcf3
- >>25
Vala関係ないけどちゃんとドキュメントコメントとか使って偉いな
- 27 :login:Penguin: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: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:2009/09/11(金) 02:51:30 ID:tsm8+8Iw
- GObject をそのまま使うなんて感動的過ぎる。。
これは大化けしそうな予感
- 31 :login:Penguin:2009/09/11(金) 13:24:30 ID:HQvxmAmH
- vala0.7.5 で valide をビルドしたいけど
ctags-vala.hがどうのこうの言って止まってしまいまする
- 32 :login:Penguin: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:2009/09/15(火) 15:55:41 ID:/etepYv4
- gtkmmじゃなくてGtkで比較してほしいです!
- 34 :login:Penguin: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:2009/09/18(金) 01:58:57 ID:gwrFBs2X
- かなりC#と似てるけど、むしろ違う所がどこなのか知りたい。
どっかまとまってるとこないかなぁ?
- 36 :login:Penguin:2009/09/19(土) 12:56:49 ID:8ZFOHBpR
- 探してみたけどC#との違いについてまとめてあるページは無かった
ところで上の方で専ブラっぽいの作ってる人、できた?
- 37 :login:Penguin:2009/09/20(日) 20:32:37 ID:cbNtEzLr
- 0.7.6リリース上げ
- 38 :login:Penguin:2009/09/21(月) 02:57:39 ID:cvq5tUYO
- 早速新機能のクロージャを-Cで見てみたけど、GObjectのクロージャ(GClosure)は
使ってないな。MLとか見てないから分からないけど、何か問題でもあったのかな。
まぁ、Valaを使うレベルでは内部の実装は何でもいいんだけど。
- 39 :login:Penguin:2009/09/22(火) 03:42:57 ID:TQt+zioE
- >36
別に専ブラ作ろうと思ってるわけじゃなく、ちょうど良い解析対象かなって思っただけだよ。
気が向いたら一つのソフトとして作ってみても良いけど、結構大変そう。
>38
クロージャの目的が、"ラムダ関数から外部にある関数のローカル変数を使用したい"
らしいんで、GClosureだと実現方法が難しいのかも。GClosure知らないで言ってるけど。
- 40 :login:Penguin:2009/09/22(火) 13:00:28 ID:ZlR/5QA5
- しかし相変わらずドキュメントが少ないな。まぁその辺りは1.0が見えてきたらやるんだろうけど。
ちなみに今度はスレッド一覧を見るものを作ってみたよ。
注意としては、エンコーディングには"Shift-JIS"じゃなくて、
"CP932"を指定しないとエラーが出るっていうこと。
後、取ってくるスレッド一覧のURLはコンパイル時点で固定。
ttp://itn2002.sakura.ne.jp/archive/validesample/subjectreader.tar.gz
後はレス一覧でとりあえず一段落かな
- 41 :login:Penguin:2009/09/23(水) 01:50:14 ID:PVYSnV44
- >>31 に自己レス
PKG_CONFIG_PATH を設定してなかっただけでした。お恥ずかしい。
ここまで実用的なのを作れて、ソースは見渡しいいし、これは革命ですね。
個人的な好みを言えば case は break 無しで落下しないようにしてほしい
- 42 :login:Penguin:2009/09/23(水) 03:00:28 ID:VWWmJzDx
- GClosure は、変数一つ一つに GValue を作成する必要がありそうなんで、
オーバーヘッドが大きそう。
クロージャは散々検討された上での実装だと思うけど、現状だとCのソースが
すごく読みづらく(汚なく)なるのが玉にキズだな。
- 43 :login:Penguin:2009/09/28(月) 11:31:16 ID:QBgwh8yM
- http://www.murga-linux.com/puppy/viewtopic.php?t=39560&start=420
微妙に検索バーあたりの動作がおかしい
ような…というか素で結構いいかんじだた
- 44 :login:Penguin:2009/09/28(月) 22:26:13 ID:NdrHdWkN
- >42
Cソースに関しては、valacデバッグとかやる人が
読めれば良いんじゃね?っていう勢いだよな。まあ個人的にはそれで良いと思うけど。
>43のが結構良いね。しかし95k近くのソース一つってある意味すごいな。
- 45 :login:Penguin:2009/09/29(火) 16:01:43 ID:CY4vCafL
- 0.7.7きてたのでage
>>43のはgenie?
- 46 :login:Penguin:2009/09/29(火) 22:52:48 ID:c2TJLmFo
- "string marshalling"っていうことは、stringがバイト列にできるっていうことだよな。
これってstring.to_utf8で良いんだろうか?もうちょっとリリースなりチュートリアルに
説明が欲しいな…
- 47 :login:Penguin:2009/10/13(火) 01:56:06 ID:b5FSfBoW
- タブレットの筆圧の取得おしえてくれ
Gdk.EventMotion の axes フィールドや
Gdk.Event.get_axis か Gdk.Device.get_axis が使えそうだけど
どうにも使い方が解らない
- 48 :login:Penguin:2009/10/14(水) 02:02:11 ID:Evvplg3O
- ttp://live.gnome.org/Vala/QuickIntroForCSharpProgrammers
いつの間にかC#との比較ページが出来てた。
ただ、Not Availableの項目を見ると結構色々実装されてないな…
- 49 :login:Penguin:2009/10/14(水) 02:45:41 ID:Tl4bDpTI
- 本当だ。言語としてはまだまだだな。
Cで書くより多少はましなの?
- 50 :login:Penguin:2009/10/14(水) 03:13:48 ID:cB0J9abS
- Javaに 似せた Delphi、に似せた C のシンタックスシュガー
もうわけわかめ
- 51 :login:Penguin:2009/10/15(木) 20:54:17 ID:DgT1fIFi
- >47
遅レスだけど、gdkリファレンス見ると、Gdk.Deviceから辿るのが正解かも。
今回の事に限らず、Valaを使う時はValadocだけじゃなくて、
大本のリファレンスも見た方が良さげ。
>49
俺にとっては素のGObjectはIDEとかのサポートがないとマジで無理。
- 52 :47:2009/10/16(金) 00:10:52 ID:6MqmLXIA
- >>51
どうも。CもValaもよく知らないのですがgdkリファレンスと見比べると
C側の引数がdoubleの配列のポインタで、Vala側はdoubleなんですよ
この場合どのように宣言して渡せばよいのでしょう?
http://library.gnome.org/devel/gdk/stable/gdk-Input-Devices.html#gdk-device-get-axis
http://references.valadoc.org/gdk-2.0/Gdk.Device.get_axis.html
- 53 :48:2009/10/16(金) 03:59:17 ID:csATjUPX
- >>48のページをちゃんと見てみたら、Not Available に含まれているのは
(自分にとっては)それほど重要じゃない機能とか、そのうち実装されそうな
ものばかりなんで、Vala は既に十分な機能が実装されていると思っていい
気がする。
ただ、
・No operator or indexer overloading
・No method or constructor overloading
だけはかなり痛いな。
- 54 :login:Penguin:2009/10/17(土) 01:48:24 ID:LT64hAQX
- あー今見てみたけど、多分Valaのバグだね。vapiと実際のapiの型が合ってないよ。
ちなみにgdk_device_get_axis自体の使い方は
http://www.codase.com/search/display?file=L2dlbnRvbzIvdmFyL3RtcC9yZXBvcy9jb2Rhc2UuYy9ndGsrLTIuNi43L3dvcmsvZ3RrKy0yLjYuNy90ZXN0cy90ZXN0aW5wdXQuYw==&lang=c#
にあった。
- 55 :login:Penguin:2009/10/21(水) 03:08:37 ID:L4IsJKoL
- vapiファイルって、C言語のヘッダーファイルから
自動生成出来ないもんでしょうか?
- 56 :login:Penguin:2009/10/21(水) 18:13:29 ID:MXQIE8Bx
- >>55
http://live.gnome.org/Vala/Bindings
ここにやり方が書いてるんだけど、、、うちではうまくいかない。
$ /usr/bin/pdfinfo -v
pdfinfo version 0.12.0
Copyright 2005-2009 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2004 Glyph & Cog, LLC
できたら教えてください。
- 57 :login:Penguin:2009/10/22(木) 22:03:39 ID:s2CTYeqV
- チュートリアルに一部記述が足りないね。
vapiファイルの生成手順の最後にvapigenを実行してるけど、
--pkg=gdk-2.0とか、依存するpkgの指定が必要だね。
- 58 :login:Penguin:2009/10/23(金) 00:06:30 ID:m2ioZZnh
- >>57
thanks!
$ vapigen --library poppler-glib poppler-glib/poppler-glib.gi --pkg cairo --pkg gtk+-2.0
これでうまく行きました。
- 59 :login:Penguin:2009/10/23(金) 03:52:26 ID:icsRYQ9+
- あれ?gdbで普通にソースレベルデバッグが出来てるじゃん。
なんかスゲーな
- 60 :login:Penguin:2009/10/24(土) 16:09:46 ID:KyQnbJej
- さんぷるこーど
https://code.launchpad.net/lucruri
http://forja.cenatic.es/plugins/scmsvn/viewcvs.php/modules/?root=desktopsl&pathrev=108
http://code.google.com/p/xnoise/
ふたつめのりんくは 10. のコードがさんこうになる
こまかいぶぶんのはなし
http://trac.usefulinc.com/doap/wiki/Sites
http://www.vala-project.org/doc/vala-draft/interfaces.html
http://www.mail-archive.com/vala-list@gnome.org/msg01652.html
これくしょんとか
http://www.mail-archive.com/vala-list@gnome.org/msg03130.html
http://www.puppylinux.com/genie/strings.htm
http://mail.gnome.org/archives/svn-commits-list/2009-September/msg01357.html
http://gitorious.org/dova/
- 61 :login:Penguin:2009/10/24(土) 18:53:22 ID:KyQnbJej
- >>60
補足: http://git.gnome.org/cgit/vala/log
gtk+-2.0.vapi の gtk_tree_view_set_row_separator_func
binding バグ修正に注意 (バージョンvala 0.7.7)
- 62 :login:Penguin:2009/11/04(水) 01:52:23 ID:IwHtn+sQ
- 試しに、libgeeをC言語から使ってみたけど、いちいち抽象型とか
イテレーター経由でアクセスするのが面倒だな。
ほとんど必須のライブラリなのに、GLibには取り込まれそうにないな。
- 63 :login:Penguin:2009/11/06(金) 01:21:47 ID:xHV7v7sp
- 0.7.8リリースアゲ
というか誰か内容を解説してくれ…0.7.7も今一分かってないし
- 64 :login:Penguin:2009/11/06(金) 15:30:15 ID:te0Yv9Ih
- 各リリースの変更点なら
http://live.gnome.org/Vala/Release
をみればいいわけだけど?
ドキュメントの翻訳でもしようかと思ったけどプロジェクトがもう少し落ち着いてからの方がいいよね?
- 65 :login:Penguin:2009/11/07(土) 00:17:25 ID:guTE5WEt
- >>64
翻訳は、1.0が出てからで良さそうですね。
遊びで使う分には、十分の品質なので、
ドキュメントがあれば助かります。
- 66 :63:2009/11/07(土) 03:11:53 ID:yhTezjEw
- とりあえず、MLをあさったら0.7.8の解説があったんでのせとく。
String templates
----------------
string name = "Vala";
stdout.printf (@"Hello, $name!\n");
stdout.printf (@"2 + 3 = $(2 + 3)\n");
Non-null cast
-------------
void main () {
string? a = "hello";
string b = (!) a;
}
Chain-up for gobject-style construction scheme
----------------------------------------------
class MyWindow : Gtk.Window {
public MyWindow () {
Object (type: WindowType.POPUP);
}
construct {
// ...
}
}
- 67 :login:Penguin:2009/11/07(土) 23:51:36 ID:93ohWCzP
- 現状だと小数点末尾だけの更新でも、割と大きな変更をしてくるから、
ドキュメントを書いてもしょうがないかもね。
とりあえず周辺ツールのコンパイルができなくなっているのは
如何なものかと…
- 68 :login:Penguin:2009/11/08(日) 10:50:54 ID:82HSJzyW
- う〜ん。vtgがビルドできないのか。困ったな。
- 69 :login:Penguin:2009/11/08(日) 11:03:50 ID:82HSJzyW
- >>68
と思ったら、libgeeの問題だった。
- 70 :login:Penguin:2009/11/16(月) 06:00:06 ID:xOgX0uuq
- ネタ投入
Javaとの比較
ttp://live.gnome.org/Vala/ValaForJavaProgrammers
Vala(というかGObject)のガベコレ解説
ttp://live.gnome.org/Vala/ReferenceHandling
追加された。
- 71 :login:Penguin:2009/11/17(火) 03:13:15 ID:09KgNArQ
- gdbのVala対応パッチの流れを追いかけていたら、5月頃に2回目のパッチ
を送ったきり音信不通になってるっぽいな。
うまくいけば、7.0に入ったかもしれないのに…残念
ちゃんとマージされるまで面倒見てくれる人が現れてくれ!
- 72 :login:Penguin:2009/11/23(月) 17:58:45 ID:W0dlOsET
- cat ../gee/gee.vapi ../ccode/ccode.vapi ../vala/vala.vapi ../codegen/codegen.vapi > vala-1.0.vapi
git kara totte kite build suru.
sikasi vala build on windows tte dou yatten noka wake wakame...
20 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
取りに行ったけどなかった。次は一時間後に取りに行くです。新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.8 2008/11/13 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)