もう4時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]女性必見!ネットで高収入バイト[PR]  

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
名前: E-mail (省略可) :


read.cgi ver 05.0.7.8 2008/11/13 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)