■ このスレッドは過去ログ倉庫に格納されています
Valaについて語りませんか
- 1 :login:Penguin:2009/07/05(日) 14:31:59 ID:IdyQQEIy.net
- 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
- 2 :login:Penguin:2009/07/05(日) 14:49:00 ID:IdyQQEIy.net
- 【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:2009/07/05(日) 16:00:26 ID:4QqhX6g7.net
- 板違うだろうが
プログラム
http://pc12.2ch.net/tech/
- 4 :デムパゆんゆん:2009/07/05(日) 18:00:02 ID:1wMfbkcM.net
- 薔薇
愛 それは
マライヒマライヒ
- 5 :login:Penguin:2009/07/05(日) 18:15:49 ID:Tt3flXt7.net
- gobjectとかgnomeと相性がいいんだっけか
でもそれならpython使うしなあ
- 6 :login:Penguin:2009/07/05(日) 18:46:25 ID:wTWUZzTz.net
- Cに変換してコンパイルするから、速度と依存関係の少なさが魅力かな?
- 7 :login:Penguin:2009/07/05(日) 18:54:45 ID:wTWUZzTz.net
- あ、後他の言語に移植するとき楽になるかもしれない。
- 8 :login:Penguin:2009/07/05(日) 19:06:42 ID:vWjFkdbk.net
- Cで無理やり作ったオブジェクトシステムを扱うのは煩雑だから
専用の言語を作ったというのが、GNOMEらしいというか何というか。
エンドユーザーとしてはMonoアプリよりはVM抜きのGtk+アプリを使いたいが
開発者としてはMonoのほうが楽チンかもしれない
- 9 :login:Penguin:2009/07/07(火) 03:24:44 ID:DTLYWLxn.net
- デバッガもgdbにはパッチ当てないといけないしな。
でも、cのソースと協調しやすいから、今までの資産がある人には良いんじゃないかな?
- 10 :login:Penguin:2009/07/08(水) 02:41:01 ID:O/hFomNV.net
- PythonライクなGenieってのもあるんだな
ValaにしてもGenieにしてもドキュメントが少ないのはなんとかならんのかね?
ちょっとやってみたがGtkのメニューバーの作り方がわからん
まぁライブラリのソース嫁ってことか?
- 11 :login:Penguin:2009/07/11(土) 23:55:26 ID:laBaTLCT.net
- >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:2009/07/14(火) 20:32:25 ID:sdMMjO+h.net
- vala用IDEの一つであるvalide( ttp://www.valaide.org)だけど、
valaが0.7.4以上だとコンパイルできないみたい。
svnの最新バージョンならとりあえず動くよ。
- 13 :login:Penguin:2009/07/15(水) 00:08:28 ID:zyweEBSH.net
- >>11
ありがとうございます。参考になりました。
ところで
RADツールでなんかオススメないですかね?
今のところgladeを使うのが一番簡単?
- 14 :login:Penguin:2009/07/16(木) 02:06:50 ID:F4aDnD2e.net
- gladeしかないだろうね、今のところ。uiファイルの読み込みどうするかっていう問題はあるけど
- 15 :login:Penguin:2009/07/16(木) 02:45:34 ID:Hnv0jSIK.net
- 確か本家サイトのサンプルコードにuiファイルを読み込む方法があったような
今日はもう寝るので後日確認します
- 16 :login:Penguin:2009/07/16(木) 18:06:11 ID:F4aDnD2e.net
- GtkBuilderには対応してるみたいだね。
俺はいつもuiファイルの置き場所に悩むよ。てvalaあんまり関係ないけど。
- 17 :login:Penguin:2009/07/16(木) 21:40:58 ID:SQsoT81g.net
- 過疎ってるからとりあえずできた物投下するよ。
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.net
- ありましたGtk+サンプルコード
http://live.gnome.org/Vala/GTKSample
これの5番め
Loading User Interface from XML File
ってやつですね
- 19 :login:Penguin:2009/07/17(金) 01:54:46 ID:AJJQRc+R.net
- >>17
補足
18で示したサンプルコードとあわせて参考にさせていただきました
>>18リンク先の説明を参照すると
コールバックメソッドをスタティックメソッドのかわりにインスタンスメソッドに
したいときに[CCode(instance_pos=-1)] を書けってかいてありますね
- 20 :login:Penguin:2009/07/21(火) 02:52:10 ID:0neMEWmQ.net
- 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:2009/07/21(火) 03:01:12 ID:PGci44zy.net
- >>20
APIとかどこみてるんですか?
valadoc.org?
- 22 :login:Penguin:2009/07/21(火) 03:23:39 ID:z0/0mtfh.net
- >21
基本的にvaladocだよ。で、ちょっと使い方がわからない部分があったらglibのリファレンス見てる。
#ownedとかの概念が難しいなぁ…
- 23 :login:Penguin:2009/07/23(木) 01:31:28 ID:ijmAepso.net
- うーんスレのカキコ見てると今んとこはMonoでいいや
- 24 :login:Penguin:2009/07/23(木) 23:15:09 ID:KpnabxAG.net
- 素のGObjectは扱いたくないし、monoっていうでかいのに依存したくないっつー
場合だけだろうね、今のところの需要は。
そういえばvaladocがなんか急に賑やかになってた。特にglib-2.0あたり。
- 25 :login:Penguin:2009/07/25(土) 15:58:58 ID:4ZhJtHFF.net
- 今度はタイマーアプリを作ってみた。UIが適当なのと、
ちょっとカウント終了間際の処理が怪しいのは勘弁な。
もうちょっとスレッドとか駆使すれば正確な計測もできそうだけどね。
ttp://itn2002.sakura.ne.jp/archive/validesample/valagtktimer.tar.gz
- 26 :login:Penguin:2009/07/26(日) 18:39:40 ID:zOq9gcf3.net
- >>25
Vala関係ないけどちゃんとドキュメントコメントとか使って偉いな
- 27 :login:Penguin:2009/07/26(日) 22:15:01 ID:9sVzuMoj.net
- まあ癖つけとかないと泣きを見るのは自分だからね。
- 28 :login:Penguin:2009/08/04(火) 20:28:21 ID:JNFmjrAP.net
- vala-0.7.5あげ。基本的にはバグフィックスだね。
でもいくつか機能追加があるけど。
これはstaticなプロパティが作れて、
プロパティにdelegateが使えるってことなのか。
自分で書いててよく理解してないけど。
- 29 :login:Penguin:2009/08/07(金) 23:16:28 ID:YTRt07A3.net
- 前回作った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.net
- GObject をそのまま使うなんて感動的過ぎる。。
これは大化けしそうな予感
- 31 :login:Penguin:2009/09/11(金) 13:24:30 ID:HQvxmAmH.net
- vala0.7.5 で valide をビルドしたいけど
ctags-vala.hがどうのこうの言って止まってしまいまする
- 32 :login:Penguin:2009/09/15(火) 02:11:48 ID:Yjjhu7nI.net
- 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.net
- gtkmmじゃなくてGtkで比較してほしいです!
- 34 :login:Penguin:2009/09/16(水) 02:13:52 ID:AuFz8a5t.net
- なんとなく意味ない気がするけど比較してみたよ。
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.net
- かなりC#と似てるけど、むしろ違う所がどこなのか知りたい。
どっかまとまってるとこないかなぁ?
- 36 :login:Penguin:2009/09/19(土) 12:56:49 ID:8ZFOHBpR.net
- 探してみたけどC#との違いについてまとめてあるページは無かった
ところで上の方で専ブラっぽいの作ってる人、できた?
- 37 :login:Penguin:2009/09/20(日) 20:32:37 ID:cbNtEzLr.net
- 0.7.6リリース上げ
- 38 :login:Penguin:2009/09/21(月) 02:57:39 ID:cvq5tUYO.net
- 早速新機能のクロージャを-Cで見てみたけど、GObjectのクロージャ(GClosure)は
使ってないな。MLとか見てないから分からないけど、何か問題でもあったのかな。
まぁ、Valaを使うレベルでは内部の実装は何でもいいんだけど。
- 39 :login:Penguin:2009/09/22(火) 03:42:57 ID:TQt+zioE.net
- >36
別に専ブラ作ろうと思ってるわけじゃなく、ちょうど良い解析対象かなって思っただけだよ。
気が向いたら一つのソフトとして作ってみても良いけど、結構大変そう。
>38
クロージャの目的が、"ラムダ関数から外部にある関数のローカル変数を使用したい"
らしいんで、GClosureだと実現方法が難しいのかも。GClosure知らないで言ってるけど。
- 40 :login:Penguin:2009/09/22(火) 13:00:28 ID:ZlR/5QA5.net
- しかし相変わらずドキュメントが少ないな。まぁその辺りは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.net
- >>31 に自己レス
PKG_CONFIG_PATH を設定してなかっただけでした。お恥ずかしい。
ここまで実用的なのを作れて、ソースは見渡しいいし、これは革命ですね。
個人的な好みを言えば case は break 無しで落下しないようにしてほしい
- 42 :login:Penguin:2009/09/23(水) 03:00:28 ID:VWWmJzDx.net
- GClosure は、変数一つ一つに GValue を作成する必要がありそうなんで、
オーバーヘッドが大きそう。
クロージャは散々検討された上での実装だと思うけど、現状だとCのソースが
すごく読みづらく(汚なく)なるのが玉にキズだな。
- 43 :login:Penguin:2009/09/28(月) 11:31:16 ID:QBgwh8yM.net
- http://www.murga-linux.com/puppy/viewtopic.php?t=39560&start=420
微妙に検索バーあたりの動作がおかしい
ような…というか素で結構いいかんじだた
- 44 :login:Penguin:2009/09/28(月) 22:26:13 ID:NdrHdWkN.net
- >42
Cソースに関しては、valacデバッグとかやる人が
読めれば良いんじゃね?っていう勢いだよな。まあ個人的にはそれで良いと思うけど。
>43のが結構良いね。しかし95k近くのソース一つってある意味すごいな。
- 45 :login:Penguin:2009/09/29(火) 16:01:43 ID:CY4vCafL.net
- 0.7.7きてたのでage
>>43のはgenie?
- 46 :login:Penguin:2009/09/29(火) 22:52:48 ID:c2TJLmFo.net
- "string marshalling"っていうことは、stringがバイト列にできるっていうことだよな。
これってstring.to_utf8で良いんだろうか?もうちょっとリリースなりチュートリアルに
説明が欲しいな…
- 47 :login:Penguin:2009/10/13(火) 01:56:06 ID:b5FSfBoW.net
- タブレットの筆圧の取得おしえてくれ
Gdk.EventMotion の axes フィールドや
Gdk.Event.get_axis か Gdk.Device.get_axis が使えそうだけど
どうにも使い方が解らない
- 48 :login:Penguin:2009/10/14(水) 02:02:11 ID:Evvplg3O.net
- ttp://live.gnome.org/Vala/QuickIntroForCSharpProgrammers
いつの間にかC#との比較ページが出来てた。
ただ、Not Availableの項目を見ると結構色々実装されてないな…
- 49 :login:Penguin:2009/10/14(水) 02:45:41 ID:Tl4bDpTI.net
- 本当だ。言語としてはまだまだだな。
Cで書くより多少はましなの?
- 50 :login:Penguin:2009/10/14(水) 03:13:48 ID:cB0J9abS.net
- Javaに 似せた Delphi、に似せた C のシンタックスシュガー
もうわけわかめ
- 51 :login:Penguin:2009/10/15(木) 20:54:17 ID:DgT1fIFi.net
- >47
遅レスだけど、gdkリファレンス見ると、Gdk.Deviceから辿るのが正解かも。
今回の事に限らず、Valaを使う時はValadocだけじゃなくて、
大本のリファレンスも見た方が良さげ。
>49
俺にとっては素のGObjectはIDEとかのサポートがないとマジで無理。
- 52 :47:2009/10/16(金) 00:10:52 ID:6MqmLXIA.net
- >>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.net
- >>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.net
- あー今見てみたけど、多分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.net
- vapiファイルって、C言語のヘッダーファイルから
自動生成出来ないもんでしょうか?
- 56 :login:Penguin:2009/10/21(水) 18:13:29 ID:MXQIE8Bx.net
- >>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.net
- チュートリアルに一部記述が足りないね。
vapiファイルの生成手順の最後にvapigenを実行してるけど、
--pkg=gdk-2.0とか、依存するpkgの指定が必要だね。
- 58 :login:Penguin:2009/10/23(金) 00:06:30 ID:m2ioZZnh.net
- >>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+.net
- あれ?gdbで普通にソースレベルデバッグが出来てるじゃん。
なんかスゲーな
- 60 :login:Penguin:2009/10/24(土) 16:09:46 ID:KyQnbJej.net
- さんぷるこーど
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.net
- >>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.net
- 試しに、libgeeをC言語から使ってみたけど、いちいち抽象型とか
イテレーター経由でアクセスするのが面倒だな。
ほとんど必須のライブラリなのに、GLibには取り込まれそうにないな。
- 63 :login:Penguin:2009/11/06(金) 01:21:47 ID:xHV7v7sp.net
- 0.7.8リリースアゲ
というか誰か内容を解説してくれ…0.7.7も今一分かってないし
- 64 :login:Penguin:2009/11/06(金) 15:30:15 ID:te0Yv9Ih.net
- 各リリースの変更点なら
http://live.gnome.org/Vala/Release
をみればいいわけだけど?
ドキュメントの翻訳でもしようかと思ったけどプロジェクトがもう少し落ち着いてからの方がいいよね?
- 65 :login:Penguin:2009/11/07(土) 00:17:25 ID:guTE5WEt.net
- >>64
翻訳は、1.0が出てからで良さそうですね。
遊びで使う分には、十分の品質なので、
ドキュメントがあれば助かります。
- 66 :63:2009/11/07(土) 03:11:53 ID:yhTezjEw.net
- とりあえず、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.net
- 現状だと小数点末尾だけの更新でも、割と大きな変更をしてくるから、
ドキュメントを書いてもしょうがないかもね。
とりあえず周辺ツールのコンパイルができなくなっているのは
如何なものかと…
- 68 :login:Penguin:2009/11/08(日) 10:50:54 ID:82HSJzyW.net
- う〜ん。vtgがビルドできないのか。困ったな。
- 69 :login:Penguin:2009/11/08(日) 11:03:50 ID:82HSJzyW.net
- >>68
と思ったら、libgeeの問題だった。
- 70 :login:Penguin:2009/11/16(月) 06:00:06 ID:xOgX0uuq.net
- ネタ投入
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.net
- gdbのVala対応パッチの流れを追いかけていたら、5月頃に2回目のパッチ
を送ったきり音信不通になってるっぽいな。
うまくいけば、7.0に入ったかもしれないのに…残念
ちゃんとマージされるまで面倒見てくれる人が現れてくれ!
- 72 :login:Penguin:2009/11/23(月) 17:58:45 ID:W0dlOsET.net
- 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...
- 73 :login:Penguin:2009/11/28(土) 16:57:31 ID:RXaAAVqp.net
- How to: install recently vala from git repository.
$ sudo apt-cache showpkg valac (confarm vala-0.7.0 > valac ...)
$ sudo apt-get install valac
$ git clone git://git.gnome.org/vala
$ cd vala
$ ./autogen.sh --prefix=/usr; make; sudo make install
- 74 :login:Penguin:2009/11/28(土) 17:01:26 ID:RXaAAVqp.net
- $ valac --version
Vala 0.7.6 <= ubuntu 9.10
Vala 0.7.9 <= git repository
- 75 :login:Penguin:2009/12/02(水) 03:57:38 ID:VTtWLB6g.net
- ネタ投入
本家のページにCharacter Sampleが追加されたけど、
string は unowned しないと丸ごとコピーされちゃんうんだよね。
int main()
{
string test = "hoge";
string copy1 = test;
unowned string copy2 = test;
stdout.printf("%p\n", test);
stdout.printf("%p\n", copy1);
stdout.printf("%p\n", copy2);
return 0;
}
↓
0x9f667d0
0x9f667e0
0x9f667d0
とするとよく分かる。
- 76 :login:Penguin:2009/12/05(土) 17:02:41 ID:gmW717rE.net
- http://www.radare.org/get/lacon-radare-2009/
http://nibble.develsec.org/?cat=7
radare2 ga jimi ni subarasii ...
- 77 :login:Penguin:2009/12/06(日) 19:17:44 ID:Ly6v7DBG.net
- http://www.mail-archive.com/vala-list@gnome.org/msg03480.html
what's the [SimpleType]?
i first looking it ...
- 78 :login:Penguin:2009/12/07(月) 18:43:54 ID:VTAkmaDu.net
- >>73
$ ./autogen.sh --prefix=/usr --enable-vapigen
$ make
$ make install
- 79 :login:Penguin:2009/12/07(月) 19:10:53 ID:obEYb5JW.net
- >>74
ppaあるよ
https://launchpad.net/~vala-team/+archive/ppa
- 80 :login:Penguin:2009/12/07(月) 23:22:44 ID:hzy1fvm3.net
- >>79
74と別人だけどサンクス。うおー便利だ
- 81 :login:Penguin:2009/12/08(火) 03:59:32 ID:zChQtxr1.net
- Emacs用のValaモードがショボショボなんで改良しようと思ってるけど
なかなかムズいのー
Semanticにも対応させたいし、まぁぼちぼちやっていくしかないか。
- 82 :login:Penguin:2009/12/13(日) 19:50:40 ID:BMvvMM6L.net
- urmpi automake autoconf libtool flex bison make
- 83 :login:Penguin:2009/12/20(日) 16:13:54 ID:0O/mIIzO.net
- Vala Releases
Vala 0.7.9
released on December 19, 2009
Changes
* Support array and string slicing.
* Add --symbols commandline option.
* Add avahi-gobject bindings (Sebastian Noack).
* Add ccss-1 bindings (Ali Sabil).
* Add libarchive bindings (Julian Andres Klode).
* Add libmagic bindings (Jens Georg).
* Add readline bindings (Jukka-Pekka Iivonen).
* Add twitter-glib-1.0 bindings (Adrien Bustany).
* Many bug fixes and binding updates.
git repositoryにはあったようだけれど、
公式?が更新されてWindows版バイナリもDL出来る状態だったので一応報告
- 84 :login:Penguin:2009/12/21(月) 02:33:26 ID:2kmz3FOO.net
- 相変わらず変更点の解説がないな…
* Support array and string slicing.
これはどういうことだ?
- 85 :login:Penguin:2009/12/21(月) 02:47:50 ID:2kmz3FOO.net
- テストコードが追加されてた
// slices
t = s[2:4];
assert (t.length == 2);
assert (t[0] == 'l');
assert (t[1] == 'l');
っていうことだな。
- 86 :login:Penguin:2009/12/27(日) 19:03:24 ID:nUx8bWnY.net
- gtk-button.vala:8.5-8.26: error: The name `connect' does not exist in the contex
t of `null'
window.destroy.connect (Gtk.main_quit);
^^^^^^^^^^^^^^^^^^^^^^
gtk-button.vala:10.5-10.26: error: The name `connect' does not exist in the cont
ext of `null'
button.clicked.connect ((source) => {
^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 2 error(s), 0 warning(s)
0.5.4 でコンパイルしてみたらエラーが出て通らなかた
イベントハンドルは += ではなくてなるべく connect を
使うのが推奨されてる…とかどこかで読んだような記憶があるようなないような…
- 87 :login:Penguin:2010/01/01(金) 00:06:48 ID:sfh07iOR.net
- あけおめ。
今年こそ1.0がリリースされますように( ̄人 ̄)
- 88 :login:Penguin:2010/01/05(火) 02:22:15 ID:68YcuKLZ.net
- >>86
しかし古いバージョン使ってるな。今の最新は0.7.9なんでそれで
一回コンパイルしてみ。
- 89 :login:Penguin:2010/01/06(水) 02:08:55 ID:sJSR3xqj.net
- http://www.mechanicalcat.net/richard/log/Python
simple な静的 html 出力ツール
http://entitycrisis.blogspot.com/2009/08/simple-pygame-wrapper.html
http://billmill.org/multi_line_lambdas.html
http://mail.python.org/pipermail/python-dev/2006-February/060654.html
下から順に時系列で、なんとなく流れとして
- 90 :login:Penguin:2010/01/14(木) 13:47:25 ID:f9MyO6F7.net
- // helloworld.cs
using System;
using System.Text.RegularExpressions;
class HelloWorld {
public static void Main() {
System.IO.StreamReader sr = new System.IO.StreamReader(@".\\hello.gs");
//内容をすべて読み込む
string gscode = sr.ReadToEnd();
//閉じる
sr.Close();
Console.WriteLine(gscode);
Regex r = new Regex(@"\(.*?\)", RegexOptions.Singleline);
System.Text.RegularExpressions.MatchCollection mc = r.Matches(gscode);
foreach (System.Text.RegularExpressions.Match m in mc)
{
//正規表現に一致したグループを表示
Console.WriteLine(m.Value);
string before = m.Value;
string after = before.Replace("\r\n", "").Replace(" ", "");
gscode = gscode.Replace(before, after);
}
Console.WriteLine(gscode);
}
}
>csc hello.cs
これと等価なコードって vala だとどう書いたらいいか
わからないんだよな…
- 91 :login:Penguin:2010/01/14(木) 13:52:45 ID:f9MyO6F7.net
- [indent=4]
def foo(arg1: string, arg2: string): string
return arg1 + arg2
init
print foo(
"hello ",
"world"
)
print foo("hello ",
"world")
/* EOF */[indent=4]
def foo(arg1: string, arg2: string): string
return arg1 + arg2
init
print foo(
"hello ",
"world"
)
print foo("hello ",
"world")
/* EOF */
hello.gs はこんなかんじ
空白は半角に置換しないと動かないかも…
- 92 :login:Penguin:2010/01/14(木) 13:58:24 ID:f9MyO6F7.net
- なんか張り間違えてるしorz
- 93 :login:Penguin:2010/01/30(土) 14:42:11 ID:0hh2Dj8z.net
- http://www.newtek.com/lightwave/core/lightWave_3D_with_CORE_technology_Features_Document.pdf
次期 lightwave はQTなんだな...
COLLADAにBulletにPython載るとか
C単体でトランスレータで組むのは
厳しいというが現状という...
- 94 :login:Penguin:2010/02/11(木) 08:53:33 ID:OAcrTRrZ.net
- http://trac.yorba.org/browser/shotwell/trunk/vapi/FStream.vapi?rev=1036
vapi is simple. or vapi maintenance is hard and hard ...
- 95 :login:Penguin:2010/02/13(土) 17:13:42 ID:fQoCmgtg.net
- >>94
乙
- 96 :login:Penguin:2010/04/02(金) 00:33:45 ID:rvSB9vMK.net
- 0.8.0リリース上げ!
experimental な機能以外はバグフィックスが主なリリースだな。
- 97 :login:Penguin:2010/04/16(金) 19:47:55 ID:/6r9tkwK.net
- .bashrc
export GOROOT=$HOME/go
export GOARCH=386
export GOOS=linux
$hg clone -r release https://go.googlecode.com/hg/ $GOROOT
$cd $GOROOT/src
$./all.bash
Note: fedora case selinux error:
http://groups.google.com/group/golang-nuts/browse_thread/thread/5ffcecb0814b01b8
$hg clone https://gobuild.googlecode.com/hg/ gobuild
$make
error: gobuild.go:62: undefined: os.Dir
edit: os.Dir -> os.PathInfo
$make
$cp gobuild $HOME/bin
$hg clone https://gopages.googlecode.com/hg/ gopages
$cd gopages
$gobuild gopages.go
$cp gopages $HOME/bin
$gobuild main.go
$./main
gopages serving on :9999
- 98 :97:2010/04/16(金) 19:52:41 ID:/6r9tkwK.net
- >>97
ad-hoc rhtml like template is good stuff. ^^;
- 99 :login:Penguin:2010/04/21(水) 01:15:16 ID:nUefU5z/.net
- テキストファイルを読み込んで string を返すようにしようと思ったら、
意外とすっきり書けないな。
一番シンプルに書こうとするとどんな感じになるかな?
- 100 :login:Penguin:2010/04/21(水) 01:41:59 ID:nUefU5z/.net
- 自己解決した。
var file = new MappedFile ("hoge.txt", false);
var text = (string) file.get_contents ();
でいいかな。
- 101 :login:Penguin:2010/04/22(木) 23:52:50 ID:Nm7c6dz1.net
- >>100
http://gitorious.org/lethal-works/valagtkdoc/blobs/master/sectionsgenerator.vala
--pkg vala-1.0
参考になるかも
- 102 :login:Penguin:2010/04/25(日) 01:04:30 ID:j8R9B01z.net
- ありがと。見たところ読み込みにはMappedFileを使っているみたいだから、
やっぱりMappedFileで良さそうだ。
- 103 :login:Penguin:2010/05/01(土) 18:58:09 ID:lTmE6Ym2.net
- >102
ちょっと遅いけど。
http://live.gnome.org/Vala/GIOSamples
こっちの方が、順次データを読み取っていく分でかいファイルを扱う時に良さげ。
- 104 :login:Penguin:2010/06/08(火) 02:51:18 ID:RC5oVszE.net
- void main () {
int[] a = { };
a += 1;
a += 1;
}
これをCに変換すると
static void _vala_array_add1 (gint** array, int* length, int* size, gint value) {
if ((*length) == (*size)) {
*size = (*size) ? (2 * (*size)) : 4;
*array = g_renew (gint, *array, *size);
}
(*array)[(*length)++] = value;
}
static void _vala_array_add2 (gint** array, int* length, int* size, gint value) {
if ((*length) == (*size)) {
*size = (*size) ? (2 * (*size)) : 4;
*array = g_renew (gint, *array, *size);
}
(*array)[(*length)++] = value;
}
と全く同じ関数が2つ出来るのは無駄過ぎる…。バグだよなぁ。
- 105 :login:Penguin:2010/06/08(火) 23:45:06 ID:RC5oVszE.net
- 0.9.1 リリース記念上げ!
今年中に 1.0 のリリースもあるかな。
- 106 :login:Penguin:2010/06/22(火) 00:49:34 ID:TjdwcnPd.net
- 0.9.2 リリース記念上げ!
- 107 :login:Penguin:2010/07/22(木) 10:29:41 ID:14B/bjH4.net
- 遅くなったけど、
0.9.3 リリース記念上げ!
- 108 :login:Penguin:2010/08/01(日) 23:45:56 ID:9Z4W30qB.net
- 0.9.4 リリース記念上げ!
- 109 :login:Penguin:2010/08/11(水) 09:30:49 ID:biiTT6x9.net
- Valaってリファレンスカウント?
- 110 :login:Penguin:2010/08/16(月) 13:38:29 ID:+2cG0APL.net
- 今までRuby/Gtk2で書いてたけど、Vala結構いいな。
- 111 :login:Penguin:2010/09/04(土) 09:53:44 ID:QHFWA809.net
- マクロとインライン関数とインラインアセンブラを使いたいっ
- 112 :login:Penguin:2010/09/06(月) 23:38:41 ID:me8osAkX.net
- 0.9.8 リリース記念上げ!
- 113 :login:Penguin:2010/09/06(月) 23:47:04 ID:me8osAkX.net
- やっと書き込めるようになったよ…とほほ
>>109
リファレンスカウントだよ。
>>111
インライン関数は、-O3でコンパイルすればコンパイラの判断で小さい関数は
インラインになるから、特別必要ではないかな。
マクロは使わずにジェネリックスを使うべし。
インラインアセンブラもCの関数内に書いて、Valaにインポート(.vapi)するので
いいんじゃない?
- 114 :login:Penguin:2010/09/08(水) 15:47:24 ID:0olPHVFE.net
- >>113
Valaの言語仕様見たら、これでもうC++,C#いらないんじゃない?
- 115 :login:Penguin:2010/09/10(金) 00:42:35 ID:CnYQUcwL.net
- >>114
いらなくなるって事はないだろうけど、C++,C#の良いとこ取りで
ある事には違いない。
それに、C++はライブラリを作ってもC++からしか(直接)呼び出せないけど、
Valaでクラスライブラリを作ってもCからも使えるのが最高。
- 116 :login:Penguin:2010/09/10(金) 08:06:49 ID:luUlP4sj.net
- 文字コードの変換がうまくできん
sjis->utf8で、iconvと同じで〜とかが入ってると死ぬ
- 117 :login:Penguin:2010/09/11(土) 01:16:19 ID:m+SVumir.net
- Valaって、C++やgtkmmの知識は必要ないの?
- 118 :login:Penguin:2010/09/11(土) 01:25:28 ID:80Xsc9fh.net
- >>116
Valaで文字コードの変換をやった事がないんでよく分からん。
まぁ、基本UTF-8だからね…
>>117
まったく必要ないよ。C#にそっくりだけど、C#を知っている必要もないし。
- 119 :login:Penguin:2010/09/11(土) 21:16:11 ID:bAfz4iHt.net
- 全部単一のソースファイルに書いているうちはいいとして、
複数のファイルにわけたくなった場合の分割コンパイルってどうやるの?
- 120 :login:Penguin:2010/09/11(土) 23:23:42 ID:80Xsc9fh.net
- 自分はCMake使ってるけど、それがやってる手順は
・必ず valac -C *.vala(全部のValaソース) を実行する
valac は内容が同じだと *.c のタイムスタンプを更新しない
それに、必ず全Valaソースを valac に掛けないと、ちゃんと*.cが出来ない
・更新された *.c をCコンパイラでコンパイルする
その時にヘッダーファイルはいらないようになってる。
(使っているライブラリのはいる)
・で、出来た *.o をリンクする
って感じかな。
- 121 :login:Penguin:2010/09/12(日) 18:31:31 ID:FtkVyF/Q.net
- 速くなんのかそれ? 分割コンパイルの意味ほとんどなさそー。
- 122 :login:Penguin:2010/09/13(月) 21:43:56 ID:sTXZUSGC.net
- -C は*.cの日付しか比較してないかな。
感覚的には、g++よりはだいぶ早いよ。
だた巨大なプロジェクトだとどうなるか分からん。
- 123 :login:Penguin:2010/09/14(火) 22:01:58 ID:q84SH/q/.net
- 配列のソートをやるときにPosix.qsortが出てくるのがださいな。
array.sort(〜);
ってやらせてほしい。最新版だとできるのかもしれないけど。
- 124 :login:Penguin:2010/09/14(火) 23:46:50 ID:v9kG5jgm.net
- Array を使えば Posix.qsort を使わなくてもいいけど、Array 自体が
ダサイんで、その辺りでもっとモダンなAPIを使いたかったら
ttp://live.gnome.org/Libgee
がいいよ。
- 125 :login:Penguin:2010/09/14(火) 23:52:59 ID:q84SH/q/.net
- libgeeか。libgeeも標準でついてくればいいのに
- 126 :login:Penguin:2010/09/15(水) 00:29:40 ID:GF+yTf6g.net
- まぁ、Vala は余計なランタイムがいらないのが売りだから、
標準でついてくる事はなさそう。
Array がもっと洗練されたインターフェースになれば必要なくなるのに。
- 127 :login:Penguin:2010/09/15(水) 23:28:28 ID:e37Wp/kJ.net
- 盛り上がってきたな。
- 128 :login:Penguin:2010/09/16(木) 07:53:18 ID:aySYUnZ7.net
- 日本語の情報すくなすぎわろす
- 129 :login:Penguin:2010/09/18(土) 01:37:41 ID:8ySMdkov.net
- ちょっとしたTIPS。
printf にファイル名と行番号を一緒に表示したい時とかあっても、
Vala は __FILE__ や __LINE__ とかが使えない。そこで、
message ("hoge");
ってやれば、
** Message: hoge.vala:15: hoge
みたいに、ファイル名と行番号が表示されるよ。
- 130 :login:Penguin:2010/09/18(土) 02:14:47 ID:8ySMdkov.net
- >>121
今一番デカい Vala 使ったプロジェクトって何か分からないけど、
Vala 自身が結構デカいんで、>>120の速度を検証してみた。
vala-0.9.8/vala/ 以下に *.vala が145ファイルあって、全く
依存性のない valacomment.vala を日付だけ変えて make を
したところ、valac に145ファイルを一気に渡してるけど、
その時間が10秒ぐらい掛かってた。(core2 duo 2.16GHz)
その後のビルドは gcc なんで、g++ に比べるとかなり早い。
まぁ、ちゃんと細かくライブラリに分けて valac にあまり
ファイルを渡さないようにするのが吉だな。
- 131 :login:Penguin:2010/09/18(土) 08:03:56 ID:ZMH1fM+O.net
- >>129
Log.FILEとLog.LINEでおk
- 132 :login:Penguin:2010/09/18(土) 13:57:49 ID:dKwk8Vzz.net
- 誰もきいてないg++との比較を唐突に持ち出して自分を慰めるスレ
- 133 :login:Penguin:2010/09/19(日) 00:09:32 ID:bLHejXEb.net
- >>131
おぉ、それは知らなんだ。ありがとう。
- 134 :login:Penguin:2010/09/19(日) 08:12:10 ID:bLHejXEb.net
- 0.10.0 リリース記念上げ!
- 135 :login:Penguin:2010/09/25(土) 06:12:27 ID:auRxQl39.net
- >>113の-O3でのインライン関数は、gccだと同じファイル内にstatic宣言されている
関数だけしか自動的にインラインにならなかった。
だから、インライン関数はやっぱりValaが対応してくれないと駄目だね。
場合によっては、パフォーマンスに大きく影響する所だから早めに対応して欲しいな。
- 136 :login:Penguin:2010/10/13(水) 01:01:14 ID:uqtJdPnG.net
- おっと、忘れた。
0.11.0 リリース記念上げ!
- 137 :login:Penguin:2010/10/13(水) 17:24:27 ID:yOuawncH.net
- Fedoraに続いてUbuntuでもF-Spotに代わってShotwellが標準に。
- 138 :login:Penguin:2010/10/15(金) 10:02:51 ID:vZDRagAZ.net
- >>137
脱mono&.netって流れですな。
こりゃ吉報だ
- 139 :login:Penguin:2010/10/16(土) 13:10:02 ID:ArVLh3zF.net
- >>137
おぉ、Valaが少しずつ浸透していってうれしいなぁ。
後はGTK+とWindowsの相性がもっと良くなってくれればいいんだが。
- 140 :login:Penguin:2010/10/27(水) 01:52:27 ID:uug/Y6Un.net
- 0.11.1 リリース記念上げ!
なぜ 0.12 じゃないのか分からん…
- 141 :login:Penguin:2010/10/27(水) 08:19:44 ID:zAy76E0j.net
- リリースノートとか見てないけど、よほど小規模なんだろう。
それかバージョンの上げ方を変えたとか
- 142 :login:Penguin:2010/10/28(木) 02:52:40 ID:tk8GPYzV.net
- ん? 0.10.1 リリース記念あ…いや上げない
0.11 が開発ブランチで、0.10 が安定ブランチらしい。
そんで、0.12 が 1.0 になるかもだって。
- 143 :login:Penguin:2010/11/10(水) 00:38:44 ID:ygmS3jMN.net
- 0.11.2 リリース記念上げ!
基本的にバグフィックスバージョンだけど、
出力されるCのソースが綺麗になった気がする。
- 144 :login:Penguin:2010/11/23(火) 02:17:51 ID:McaRlFmi.net
- string が単なるバイト列になったので utf-8 の日本語を1文字づつ処理する方法。
void main()
{
string name = "焼肉定食";
for (string utf8 = name; utf8.length > 0; utf8 = utf8.next_char()) {
unichar chr = utf8.get_char();
stdout.printf("%s\n", chr.to_string());
}
}
- 145 :login:Penguin:2010/12/05(日) 04:35:31 ID:DrFQ2hQ2.net
- 今,Shotwell co してるんだけどvala ぽい
- 146 :login:Penguin:2010/12/05(日) 05:07:33 ID:bhyZjHqe.net
- >>145
>>137で既出なんだけど、こういうGTK+のアプリを作るにはうってつけなんだよね。
- 147 :login:Penguin:2010/12/05(日) 05:16:17 ID:bhyZjHqe.net
- それと、>>144は unowned を使わないと効率が悪かった。
Cに変換して g_strdup がやたら使われていたら大抵 unowned のし忘れだね。
最近 const も使えるようになったんで使ってみた。
void main()
{
const string name = "焼肉定食";
for (unowned string utf8 = name; utf8.length > 0; utf8 = utf8.next_char()) {
unichar chr = utf8.get_char();
stdout.printf("%s\n", chr.to_string());
}
}
- 148 :login:Penguin:2010/12/13(月) 21:33:08 ID:smRVrdmh.net
- 結局吐いたCのソースを眺めてたりするよなw
- 149 :login:Penguin:2010/12/21(火) 01:12:22 ID:ABvoFods.net
- バイナリファイルの読み書きはこんな感じかな。
namespace Binary {
struct Bin {
int param0;
float param1;
}
static int main (string[] args) {
var bin = Bin ();
bin.param0 = 321;
bin.param1 = 456.0f;
try {
// 書き込み
FileUtils.set_contents ("data.bin", (string) (&bin), (ssize_t) sizeof (Bin));
// 読み込み
var file = new MappedFile ("data.bin", false);
Bin* bin_in = (Bin*) file.get_contents ();
print ("%d:%.2f\n", bin_in.param0, bin_in.param1);
} catch (Error e) {
print ("%s\n", e.message);
}
return 0;
}
}
- 150 :login:Penguin:2010/12/30(木) 02:30:08 ID:TDGgyZNr.net
- GLib の API は使った後に g_free しないといけないものがたくさん
あるんで、メモリリークせずにちゃんと書こうとしたらスゲー大変。
(別に GLib が悪いという訳ではない)
Vala は C 並の速度でありながらメモリリークを気にしなくていいんで、
それだけでもすんげー便利なんだよね。
- 151 :login:Penguin:2011/01/01(土) 00:08:35 ID:I3WGYOP1.net
- あけおめ!
今年も Vala の進化が楽しみだね。
- 152 :login:Penguin:2011/01/10(月) 04:18:42 ID:DHLV8UY4.net
- 0.11.3 リリース記念上げ!
新機能が追加されなくなってきたんで、1.0のリリースが近いのかも。
- 153 :login:Penguin:2011/01/16(日) 10:24:21 ID:8UPlgNHy.net
- 0.11.4 が昨日出てた
なんとなくだけど、しばらく停滞するんじゃないべか…
という希ガス
- 154 :login:Penguin:2011/01/19(水) 00:53:33 ID:AHjWAb2g.net
- 停滞じゃない安定だ
ただ、停滞も安定もして欲しくないけどね
- 155 :login:Penguin:2011/02/01(火) 00:53:13 ID:wZrZvTv6.net
- 質問だけど、*.vala を *.c にした時にインクルードされるファイルって
どうやって決定されるんだ?
インクルードして欲しいファイルがインクルードされずにちょっと困ってる…
- 156 :login:Penguin:2011/02/01(火) 12:34:11 ID:tDJ1c7gg.net
- [CCode (cheader_filename = "nobita/sanno.h")]
- 157 :login:Penguin:2011/02/05(土) 23:27:54 ID:+01ndB4N.net
- >>156
ありがとう。vapiにそれが足りないだけだった。
- 158 :login:Penguin:2011/02/06(日) 16:09:57 ID:f8dHhTIQ.net
- http://my.opera.com/btiffin/blog/opencobol-vala-genie-c-livin
http://opencobol.no-ip.org/download.html
http://itpro.nikkeibp.co.jp/article/Watcher/20101119/354329/
http://www.lancard.com/diary/
http://jp.opencobol.org/modules/newbb/viewtopic.php?topic_id=148&forum=1&viewmode=flat&order=ASC&start=0
継続は力なり帳票は文化なりと…
- 159 :login:Penguin:2011/02/16(水) 01:18:26 ID:qQvuhHNh.net
- 0.11.6 リリース記念上げ!
だいぶ安定してきたなぁ
- 160 :login:Penguin:2011/02/16(水) 01:31:17 ID:qQvuhHNh.net
- Valaのfor文をCに変換すると変な書き方になるよなぁ。例えば
for (int i = 0; i < 10; ++i) {
if (i == 3) {
print ("test\n");
}
}
は
gint i;
i = 0;
{
gboolean _tmp0_;
_tmp0_ = TRUE;
while (TRUE) {
if (!_tmp0_) {
i = i + 1;
}
_tmp0_ = FALSE;
if (!(i < 10)) {
break;
}
if (i == 3) {
g_print ("test\n");
}
}
}
となるけど、アセンブラにするとほぼ同じになる。
- 161 :login:Penguin:2011/02/20(日) 19:34:08.24 ID:gtuQ5lXO.net
- http://mail.gnome.org/archives/vala-list/2011-January/msg00173.html
Monoとの比較結果が出てるけど、個人的にはValaの方が圧倒的かなと
思ってたんで、ちょっと意外だった。まあgobject自体そんなに
軽い代物じゃないから仕方ないかもしれないけど。
このレポートに対応して、g_signal関連の修正が入るみたいだし、
結果的にはよかったね。
- 162 :login:Penguin:2011/02/21(月) 23:51:29.57 ID:xkookBj5.net
- >>161
Valaのお陰で他のオブジェクトシステムと簡単に比較出来るようになったんで
GObjectの重さが露呈されてきたと思う。
やっぱりベースの部分なんで、どんどんチューニングして欲しいもんだ。
- 163 :login:Penguin:2011/02/28(月) 00:46:09.95 ID:pa7jLov5.net
- valaを知ってから心の勃起が収まらない。
けど、シンタックスだけ同じでベースがgobjectじゃないvalaっぽい言語が欲っしいなっ。
- 164 :login:Penguin:2011/03/01(火) 00:21:13.12 ID:fI1dwocM.net
- >>163
Dova profileってのがあるよ。
Valaだけを使って、glib、gobjectを再実装している。
それはそうと、Genericsが未完成過ぎて泣けてくる…
- 165 :login:Penguin:2011/03/02(水) 01:23:52.25 ID:W0TOUp0F.net
- いつの間にか可変個引数使えるようになってた。
- 166 :正義の下着:コスモパンティー:2011/03/06(日) 10:12:39.50 ID:VJ0f/vyY.net
- genieって日本語使えないの?valaをもっと簡潔表現した言語のように
感じてます。
- 167 :login:Penguin:2011/03/08(火) 00:55:14.96 ID:Qg/iQa8Q.net
- なんか、ちゃんとsetlocaleしないと日本語が表示されなくなった…
これはValaもGenieも同じ。
[indent=4]
init
Intl.setlocale (LocaleCategory.ALL, "")
var f = new Foo ()
print f.bar ("世界")
class Foo : Object
def static bar (name : string) : string
return "こんにちわ " + name
- 168 :login:Penguin:2011/03/08(火) 00:56:36.53 ID:Qg/iQa8Q.net
- > return "こんにちわ " + name
じゃなくて
> return "こんにちは " + name
だった…
- 169 :login:Penguin:2011/03/18(金) 09:16:24.29 ID:7nzfGrJF.net
- 0.11.7 リリース記念上げ!
- 170 :login:Penguin:2011/03/19(土) 08:02:59.57 ID:3X5j4uKl.net
- ttp://live.gnome.org/Vala/ValaForCSharpProgrammers#Not_Available
で、C# にあって Vala にない機能一覧があるけど、それぞれ私見を書いてみた。
Not Available
* No LINQ (not planned for 1.0, maybe later)
-> 実装待ち
* No operator overloading (vala-list)
-> あって欲しい…。ただ、[](インデクサー)は追加出来る
* No method or constructor overloading (use different method names / named constructors instead, as described above)
-> 別名関数とオプショナル引数を使う事で問題無し
どうしてもというなら、method overloading は GValue を使うことで可能 (http://mail.gnome.org/archives/vala-list/2008-July/msg00017.html)
* No extension methods
-> 通常使うべきでない機能 (http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_05/csharp30_05_01.html)
* No constraints on generic type parameters (i.e. no where)
-> あって欲しい…
* No generic delegates
-> 現状で使用可能 (0.9.3 で追加)
* No generators (yield return, planned)
-> 実装待ち
* No variable length argument lists (params, planned), for C-Bindings already possible, e.g. stdout.printf(string format, ...)
-> 現状で使用可能
* No conversion operators (i.e. no explicit and implicit)
-> あった方がいいが、obj.to_hoge() を都度追加するようにすれば問題無し
* No partial classes and methods
-> 通常使うべきでない機能 (Vala のソースを自動生成するツールには必要かもしれないけど)
- 171 :login:Penguin:2011/03/19(土) 08:04:03.51 ID:3X5j4uKl.net
- 続き
* No sealed classes (planned)
-> 実装待ち (無くても問題ないけど)
* No static classes (use nested namespaces instead. Vala supports namespace methods, they are implicitly static)
-> ネームスペースを使えば問題無し
* No goto, no labeled statements
-> 特に問題なし。goto はエラー処理で便利だが、例外を使えばいい
* No constructor initializers
-> base が使えるので問題無いはずだが…
* No bounds checking for arrays (optional support planned)
-> 実装待ち (これに頼らず、ちゃんと assert を仕込むべき)
* No checked, unchecked, fixed, stackalloc, readonly
-> checked, unchecked は特殊用途でしか不要なはず
-> fixed はガベージコレクションの方法が違うので、そもそも不要
-> stackalloc は大体同じ事がより直感的に可能なので不要
-> readonly はプロパティを使えば可能だが、オーバーヘッドはデカいのであった方がいい機能
実装予定機能
* LINQ (1.0 以降)
* generators
* sealed classes
* bounds checking for arrays
実装して欲しい機能
* operator overloading
* constraints on generic type parameters
- 172 :170:2011/03/21(月) 08:55:03.50 ID:qRJv0v7y.net
- > -> readonly はプロパティを使えば可能だが、オーバーヘッドはデカいのであった方がいい機能
これは
> -> readonly はプロパティを使えば可能 (若干オーバーヘッドが大きい)
だね。間接参照が入るだけなんで、デカいという程じゃなかった。
実装予定機能
* LINQ (1.0 以降) → これは実装されるとは思えん…
* generators → これもC言語の兼ね合いで難しいと思うけど、どう実装されるか楽しみ
* sealed classes → これは主にライブラリ向けの機能だけど、GObject との兼ね合いで実装は無理だね
* bounds checking for arrays → これも必要な所に assert を仕込めばいいけど、それを自動化してくれれば助かる
実装して欲しい機能
* operator overloading → 有用なのは行列演算だけなんだけど…
* constraints on generic type parameters → これがないと Generics がかなり不便な気がするんだけど…
- 173 :login:Penguin:2011/04/05(火) 00:35:52.41 ID:7KO6Qhrh.net
- 0.12.0 リリース記念上げ!
>>147を0.12.0の新機能で実装すると以下のようにシンプルに書ける。
void main()
{
const string name = "焼肉定食";
int index = 0;
unichar c;
while (name.get_next_char(ref index, out c)) {
stdout.printf("%s\n", c.to_string());
}
}
- 174 :login:Penguin:2011/06/05(日) 17:00:28.73 ID:kbYNy4xN.net
- 0.12.1 リリース記念上げ!
MonoもQtも先行き不安な状態だけど、ValaとGTK+はマイペースに進化してるかな。
- 175 :login:Penguin:2011/06/05(日) 19:45:44.98 ID:z8MV5qJg.net
- >先行き不安
kwsk
Monoはモバイルの方に向かってるんだっけ?
- 176 :login:Penguin:2011/06/05(日) 22:26:15.15 ID:z8MV5qJg.net
- java( or C#)のように書けて、Cとして出力し、GObjectの恩恵が受けられる
ってのはかなり魅力あると思うんだが、普及するのはまだまだ先なのかなぁ…
- 177 :login:Penguin:2011/06/06(月) 01:05:26.08 ID:rgr9QUMR.net
- >>175
金を出してくれてた会社から独立したからだけど。
確かにiPhoneとかの方に向かってるけど、iPhoneでMonoを使うメリット
ってあるんだろうか…
>>176
基本的にGLib,GTK+の世界でなきゃ、旨味が少ないんでそれの普及次第だと思う。
GTK+界隈ではそこそこ普及してると思うよ。
dconfエディタとか割と重要なソフトも使うようになったし。
- 178 :login:Penguin:2011/06/06(月) 01:48:22.73 ID:fOI8aekF.net
- >GTK+の世界でなきゃ
そうだった、あまりの便利さに視野が狭くなってた
ところでValaのクラス変数(static)はJavaのそれと違って少しつまずいた
例えば下のコード
class Hoge {
static Hoge foo = new Hoge();
static void check_foo {
assert( foo != null );
}
public Hoge(){}
}
Hoge.check_foo() を呼び出しても Hoge.foo は初期化されていないから
Hoge.init() を用意して対処するようにしたんだけど、これでいいのかな
- 179 :login:Penguin:2011/06/06(月) 02:02:47.47 ID:4QezmLvV.net
- class Hoge {
static Hoge foo = new Hoge();
public static void check_foo() {
assert( foo != null );
print("foo = %p\n", foo);
}
public Hoge(){}
}
void main()
{
var hoge = new Hoge();
hoge.check_foo();
}
これで、問題無く動いたよ => foo = 0x9c2e000
- 180 :login:Penguin:2011/06/06(月) 02:08:09.55 ID:4QezmLvV.net
- さらに言うと、
class Hoge : Object {
ってしないと、hoge.cにGObjectの代わりに自前のオブジェクト作成
コードを書き出すから、行数が多くなる。
: Object なし→259行 あり→114行
- 181 :login:Penguin:2011/06/06(月) 02:28:04.77 ID:fOI8aekF.net
- 例えが中途半端ですまん、実はインスタンスを作らずにそのまま呼び出したいんだ
X) new Hoge().check_foo()
O) Hoge.check_foo()
普段は理解もせずObjectを継承するようにはしてたんだけど
そういった違いがあったのか
- 182 :login:Penguin:2011/06/06(月) 23:59:22.68 ID:4QezmLvV.net
- Singleton パターンの事なんだろうけど、その場合は
class Hoge : Object {
static Hoge foo;
public static void check_foo() {
if (foo == null) {
foo = new Hoge();
}
print("foo = %p\n", foo);
}
public Hoge(){}
}
で、いいんじゃない?
- 183 :login:Penguin:2011/06/07(火) 00:27:43.45 ID:hW4rMpee.net
- 使い始めたばかりで vala の慣例とかは分からないけど、libxml の見本にはこんなのがあるね。
// Initialisation, not instantiation since the parser is a static class
Parser.init ();
- 184 :login:Penguin:2011/06/07(火) 19:51:30.07 ID:KLLer8r/.net
- >>182
こうすると初めて呼び出した時に値を入れてくれるんだけど
初期化するべき変数が多くなると大変そうだと思ってた
>>183
こちらは明示的に呼び出さなければいけない
でもよくよく考えてみると183の場合でも初期化チェックは必要だから
その時ついでに初期化(182と183を併用)もするようにするといいのかも
- 185 :login:Penguin:2011/06/07(火) 20:38:29.11 ID:KLLer8r/.net
- クラスの動的ロードについて
Javaで言うところのリフレクションっぽいことをValaでやってみたいと思って
Plugin Sample (GLib Samples)
ttp://live.gnome.org/Vala/TypeModules
ここを参考にして、サンプルはうまくいったんだけど
モジュールをリロードしようと思って同じ名前のクラスを2度typeofすると失敗する
GLib-GObject-WARNING **: cannot register existing type
GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
未知(ライブラリ内)のクラスを使用しなければ失敗しない
Valaの方でクラスのアンロードができればいいのかもしれないが、その方法がわからない
- 186 :login:Penguin:2011/06/08(水) 01:58:53.41 ID:PE72PAWT.net
- >>185
試してみたらエラーを起こせなかった。エラーになるコードを見てみたい。
クラスのアンロードの仕方も分からんなぁ。
確かに、未知(といってもGObjectシステム使用)の.soからインターフェースを
探し出してコールするような事をしたいけど、多分無理っぽい。
その為に、.gir(GObject Introspection)があるんだろうけど。
- 187 :login:Penguin:2011/06/10(金) 01:44:00.49 ID:mbXsAFUH.net
- >>186 とりあえずエラー出すにはサンプル中のmain内の処理を複数回行わせる
void main(string[] args) {
for (int i = 0; i < 2; i++) {
...
}}
- 188 :187:2011/06/10(金) 02:05:48.82 ID:mbXsAFUH.net
- サンプルの方法で作成したモジュール(ライブラリ)をリロードできないかと思ったけど
サンプル元となったRygelのソースを流し読みしても一度だけ読み込んでるみたい
Javaの場合はクラスローダを複数持つことで、同一のクラスをローダ毎に
別物として利用できるから、あたかもそのクラスをリロードしているように見せることは出来てた
- 189 :login:Penguin:2011/06/19(日) 01:12:10.73 ID:rodl4lLJ.net
- 0.13.0 リリース記念上げ!
これといった新機能はないな。
- 190 :login:Penguin:2011/06/23(木) 21:53:19.16 ID:vfxUH1FB.net
- 趣味でプログラミングを覚えようと思っているものです。
C,C++.Java、シェルスクリプトなどの入門書は一通り読んで、
その後ScalaやLISP入門本に挑戦するもワケワカラン状態に。
ネットでポチポチ情報を探っていたらValaに行きあたったのですが
入門本か、プログラム初心者向けに何処か良いValaの解説サイトは
ないでしょうか? 英語のサイトでも問題ないです。
- 191 :login:Penguin:2011/06/24(金) 00:04:59.68 ID:4b2cB/Ua.net
- >>190
一通りの中にC#が無いけど、Valaやる前にC#やってるといいかも。
英語でもいいなら入門には本家サイトが一番いいよ。
ttp://live.gnome.org/Vala
↑このサイトの↓このチュートリアルが良くできてる。
ttp://live.gnome.org/Vala/Tutorial
あとは何かあったらここで聞けばいいよ。
- 192 :login:Penguin:2011/06/24(金) 00:49:48.92 ID:4b2cB/Ua.net
- >>188
> GLib-GObject-WARNING **: cannot register existing type
Vala は g_type_register_static でしか GType を登録しないからアンロード
出来ないんだな。
アンロードするには g_type_register_dynamic を使わない駄目らしいけど、
Vala を使って限りは無理っぽい
- 193 :login:Penguin:2011/06/24(金) 06:02:20.22 ID:bAUjSQpP.net
- >>192 そうなのか
でも新しいクラスを作りさえしなければ何度でもロードできるから、使い方によっては役立つかも
ソフトを再起動せずとも実行中に修正を適用できたらいいなくらいに考えてたので
諦めて本来のプラグイン・モジュールとして使うようにするよ
- 194 :login:Penguin:2011/06/24(金) 06:12:19.14 ID:bAUjSQpP.net
- >>190 Javaを知ってるんであればここも
ttp://live.gnome.org/Vala/ValaForJavaProgrammers
C#を知らなくても一応参考になるのでここも
http://live.gnome.org/Vala/ValaForCSharpProgrammers
Valadoc はほぼ必須
ttp://valadoc.org/references.html
ValaはExampleがそれなりに揃っててとても助かる、
とりあえず何か動かしたいならExample読むといいかも
- 195 :190:2011/06/24(金) 09:46:37.22 ID:SGhe/7yN.net
- >191
MS独自路線はあまり好きではないので(Monoも今ひとつ元気無いし)
C#は避けていたのですが、そう言えばValaの文体とC#はかなり
似ているらしいですね。
食べず嫌いはやめてC#の入門本も読んでみます。
あとVala本家ですね。 ありがとうございました。
>194
上の二つ、こと細かく書いてあって分かりやすそうですね。
時間を掛けてよく読んでみます、ありがとうございます。
3番目のValadocというのが何に付いて書かれてるのか
よく分らないのですが、これは一体、、、?
パット見、.debや.rpmパッケージの依存関係を解説している
ページによく似ている気がするのですが。
- 196 :login:Penguin:2011/06/24(金) 23:54:37.48 ID:bAUjSQpP.net
- ValadocはJavadocみたいなもの
- 197 : 忍法帖【Lv=10,xxxPT】 :2011/06/25(土) 23:30:41.07 ID:yL71M0xJ.net
- で、なんかプログラム作っている人いるの?
- 198 : 忍法帖【Lv=3,xxxP】 :2011/06/25(土) 23:45:04.07 ID:SHIFsneI.net
- いちおう
でもまだ公開はしてない
- 199 :login:Penguin:2011/07/25(月) 01:35:05.68 ID:SVfj8Y1F.net
- SDLのOpenGLのコードを使えばGTK+3.0用のOpenGLWidgetを作れるかな。
ValaだとGtkDrawingAreaのカスタムウィジェット作るの簡単だし。
ちょっとやってみるか。
- 200 :login:Penguin:2011/08/05(金) 01:36:02.05 ID:mOp4Az75.net
- ちょっと苦労したけど、とりあえずGTK+3.0用のOpenGLWidgetを作れた。
X用だけどWindows上でGTK+3.0が動けばWIN32版も作りたいね。
- 201 :login:Penguin:2011/08/17(水) 07:23:40.68 ID:IAr+wEqa.net
- 0.13.2 リリース記念上げ!
gtk-3.0.vapi とかは既に .gir から自動生成してるんだな。
glib-2.0.vapi は未だに手で修正しているっぽいけど、こっちは
簡単に変換出来ない何かがあるんだろうな。
- 202 :login:Penguin:2011/08/23(火) 01:39:44.91 ID:2RMnbvfu.net
- 0.13.3 リリース記念上げ!
6日でのリリースだが、そんな急ぐ理由があったのか…
- 203 :login:Penguin:2011/08/23(火) 01:42:59.59 ID:GlyC9g/F.net
- 1.0の予感!
- 204 :login:Penguin:2011/08/23(火) 02:07:17.68 ID:2RMnbvfu.net
- まじか…
Bugzillaみると結構バグも多いけど、まぁ仕様的には安定してるかな。
それと、↓でValaでクラスライブラリを作ってjavascriptから使うサンプルが追加された!
https://live.gnome.org/Vala/SharedLibSample
Valaで高速なクラスライブラリを作って、javascriptから使うってのが最高。
- 205 :login:Penguin:2011/08/24(水) 22:36:35.49 ID:F4ZYMrc3.net
- gir に切り替えるのもいいけど色々レグレッション
必要な段階に来てるとは思う…
- 206 :login:Penguin:2011/09/07(水) 16:52:22.85 ID:cRi4WQwr.net
- valadocのトップページがちょっと変わってた
/references.htmlのページがなくなったと思たらトップページが整理されてた
- 207 :login:Penguin:2011/09/08(木) 01:48:01.64 ID:w55NPGf2.net
- 0.13.4 リリース記念上げ!
valadoc のトップページは意味不明だったからなぁ、改善されて良かった。
- 208 :login:Penguin:2011/09/13(火) 01:33:56.14 ID:A6fJhWpF.net
- 今まで、オープンソースの世界でコンポーネントモデルっていうと、
XPCOM(Mozilla)
Bonobo(Gnome)
UNO(OpenOffice)
があったけど、どれも全然普及してない。
GObject-Introspectionは新しいコンポーネントモデルとして普及するんじゃ
ないかっていう予感はある!
- 209 :login:Penguin:2011/09/19(月) 01:17:06.82 ID:2Lj/CBBV.net
- 0.14.0 リリース記念上げ!
そろそろ、1.0っていっちゃってもいい気がする。
- 210 :login:Penguin:2011/09/19(月) 01:42:40.20 ID:irh3P1pj.net
- valaは最高に使いやすいんだけど、それでもやっぱりマルチスレッドで落ちないもの作ろうとすると難しい
とりあえずMutex多様でその場を凌いでたんだけど、ある程度のスペックがあるPCで動かすとたまに落ちる
Mutexって使いすぎると良くなかったりするの?
- 211 :login:Penguin:2011/09/20(火) 14:53:23.27 ID:MMAW0itu.net
- 単にプログラムがまずくてrace conditionがあるってだけだろ
- 212 :login:Penguin:2011/09/20(火) 18:26:46.63 ID:YoJil555.net
- http://zetcode.com/tutorials/cairographicstutorial/customgtkwidget/
これを vala で書き直してみたらどれくらい短くなるか気になるが
いまいち gobject 流の object 思考みたいなのが俺の理解を阻むのだったorz
…正直サンプルコードを所望したい。しかしなかなかvalaユーザーがいない
のであった…
- 213 :login:Penguin:2011/09/22(木) 02:30:50.75 ID:A2s9TBnR.net
- 全然余裕で半分位の行数で書けるよ。
ちょっと時間が取れないけど、書いて見せるよ。
ちなみに、GObject流のオブジェクト指向なんて最初は考える必要ないよ。
最適なコードを書こうとしたら気にする必要はあるけど。
- 214 :login:Penguin:2011/10/07(金) 19:40:44.50 ID:w8hYPxTz.net
- >>211 それはよく理解してる
どうやら自前で用意したMutexじゃなく
Gdk.threads_leave()の使い方が悪かったのが原因だったのかも
- 215 :login:Penguin:2011/10/28(金) 09:21:51.84 ID:pOl/xLje.net
- https://bugzilla.gnome.org/show_bug.cgi?id=580385
それなりにまとまりつつあるのかなとか思ってると
積み残してる部分もあって何か意外だった
なんとなく code attribute で切り抜けるんだろうか…
- 216 :login:Penguin:2011/12/12(月) 17:52:40.22 ID:smhjypxV.net
- いつのまにかMath関係のDSOエラーが出たからどうしたもんかと思ったけど
リンクのときに-lmが必要だったのね
ついでに遅いけど 0.15.0 リリースアゲ
- 217 :login:Penguin:2011/12/13(火) 16:58:36.27 ID:ZlpJ2MLL.net
- >>216
0.81くらいの時からそのフラグは必要だったかと思われるw
今回から配布形式が xz 圧縮になっててちょっと驚いた。
tar jxvf vala-0.14.1.tar,bz2
tar xvf vala-0.15.9.tar.xz
jを付けなくても大丈夫と憶えておくことにする…
- 218 :login:Penguin:2011/12/13(火) 17:02:05.37 ID:ZlpJ2MLL.net
- tar jxvf vala-0.14.0.tar.bz2 (stable)
tar xvf vala-0.14.1.tar.xz (準stable)
tar xvf vala-0.15.0.tar.xz (development)
だった…ミスタイプ多すぎてすまない…orz
- 219 :login:Penguin:2011/12/18(日) 22:49:36.73 ID:gpLS8xC5.net
- >>217
-lm なしでも動いてたから気づかなかったw
2009年ごろのBugzillaの回答に助けられた
- 220 :login:Penguin:2012/01/03(火) 08:08:05.71 ID:zVTeR0hG.net
- Gtk-3.0.girにはAPIとかにちゃんとドキュメントがあるのに
gtk+-3.0.vapiではドキュメントが完全に抜け落ちてる…
Gtk-3.0.girからVala用にドキュメント込みのHTMLを掃き出す
ツールがないもんかなぁ。
- 221 :login:Penguin:2012/01/27(金) 13:13:36.83 ID:MJrNQhDK.net
- 0.15.1出てます
- 222 :login:Penguin:2012/02/03(金) 02:09:34.04 ID:FNUAY58f.net
- 0.14.2も出たけど、安定版と開発版を分ける意味あるか?
- 223 :login:Penguin:2012/02/08(水) 16:13:29.32 ID:kiy50TeI.net
- http://mail-archives.apache.org/mod_mbox/incubator-lucy-dev/201201.mbox/browser
https://svn.apache.org/repos/asf/incubator/lucy/trunk/clownfish/
http://stackoverflow.com/questions/8456599/is-it-possible-to-compile-and-use-xapian-clucene-or-lucy-on-ios
https://github.com/zeitgeist-project/activity-log-manager
いろいろ鳥によってスタンスの取り方みたいな所で違いは
あるので保守やらforkやらportを考えると已むを得ないの
ではないか…
- 224 :login:Penguin:2012/02/26(日) 07:06:43.37 ID:PAr0/0x1.net
- http://fantom.org/doc/examples/index.html#js
http://fantom.org/sidewalk/topic/1785
fantom 1.0.62 リリース。言語内で初めから javascript support を持たしてみる
試みはなかなか面白いのではないか…
- 225 :login:Penguin:2012/02/28(火) 07:11:22.67 ID:mZ/Mt96V.net
- http://unstable.valadoc.org/#!wiki=gdk-3.0/index
http://www.valadoc.org/gdk-3.0/index.htm
WindowWindowClass の列挙体を調べたいとかいう時
0.15系列だと新しいほうのvala-docでないと引けないのが不便かも
あとajaxで描画してるので読み込みが完了するまでスクロールバー
が出るのがちょっともたつく印象だった
- 226 :login:Penguin:2012/03/09(金) 20:12:26.04 ID:lPqxBLod.net
- Benchmark of Dictionary Structures
http://lh3lh3.users.sourceforge.net/udb.shtml
Benchmark of Regex Libraries
http://lh3lh3.users.sourceforge.net/reb.shtml
- 227 :login:Penguin:2012/03/10(土) 07:18:13.94 ID:+NjTrdll.net
- >>226
Valaに関係しているglibの結果を見ると速からず遅からずだな…
C++テンプレート系が全般的に速い。C++の存在価値ってこういうところにあるよな。
- 228 :login:Penguin:2012/04/30(月) 13:23:23.77 ID:BcoIzs2r.net
- 0.17.0 リリース記念上げ!
2ヶ月前の 0.15.2 からのコミット数が20程度だ…
突然開発速度ががた落ちしたみたいだけど、どうしたんだろうか?
- 229 :login:Penguin:2012/05/05(土) 00:29:24.84 ID:wOchO1VT.net
- http://blog.gmane.org/gmane.comp.programming.vala
基本機能は2009年あたりからあんまり変わってないかな
binding周りでgobject-introspectionとgirの実装と
vapiのメンテが開発の主眼みたいな印象
12.04からvtgとvalenciaがパッケージになったので
sudo apt-get install gedit-valatoys-plugin
sudo apt-get install gedit-valencia-plugin
で前よりは開発しやすくはなりそうだけど…(12.4におけるVala本体のstableラインは0.14.2)
codeblockとsublime text2などpluginはこんなかんじで
http://forums.codeblocks.org/index.php?topic=10383.0
http://joshbenham.net/69/sublime-text-2-and-the-vala-programming-language-on-elementary-os/
ぼちぼち整備はされてゆきそうだけど(dockyチームとか使ってるだいぶ安定してきた
https://launchpad.net/plank
普及はどうだろう…
- 230 :login:Penguin:2012/08/08(水) 01:47:09.88 ID:ompgOWg2.net
- Vala 0.17.4 リリース記念上げ!
・Drop Dova profile.
・Drop POSIX profile.
うーん、やっぱり GObject 一本で行くんだな。
- 231 :login:Penguin:2012/08/10(金) 20:30:42.21 ID:43zh3y1N.net
- 来年夏にはGNOMEはほぼ解散状態に陥るのでどうでもよい
- 232 :login:Penguin:2012/08/10(金) 21:28:24.78 ID:DHRq1UuF.net
- 何かあったの?
- 233 :login:Penguin:2012/08/11(土) 10:14:07.93 ID:o2WkcCjB.net
- DebianにまでGnomeデスクトップが愛想を尽かされた件じゃない?
- 234 :login:Penguin:2012/08/11(土) 10:15:40.62 ID:gKZ/yEbd.net
- 愛想尽かすっつーかデフォルトを変えるだよ。
- 235 :login:Penguin:2012/08/11(土) 10:17:30.50 ID:gKZ/yEbd.net
- まだ全然確定じゃないし。
http://linux.slashdot.jp/comments.pl?sid=576009&cid=2210177
- 236 :login:Penguin:2012/08/23(木) 11:58:59.07 ID:wT8qBt1h.net
- http://blog.xfce.org/
glibとgobjectがあればそれはそれで何とかなるしWMはまた別だね > じぶんopenbox使ってる…
https://github.com/KCVC/libafrodite/blob/master/Makefile
https://bugs.launchpad.net/ubuntu/+source/valatoys/+bug/832760
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635121
https://gitorious.org/vala-toys/vala-toys/commit/1454d36/diffs
glib-assert.vapi が見つからないとか云われてテストで失敗する
/usr/share/vala-0.18/vapi に上記のvapiを入れてやれば大丈夫。
http://esite.ch/2012/06/26/writing-tests-for-vala/
http://bazaar.launchpad.net/~diodon-team/diodon/trunk/view/head:/tests/test-text-clipboard-item.vala
- 237 :login:Penguin:2013/03/13(水) 22:14:22.25 ID:MwIyXkJL.net
- http://sourceforge.net/projects/manjarodev/files/users/philm/live-installer/
http://blog.developpez.com/rsharp/p11820/mono/monodevelop-4-0-ubuntu
すごい久しぶりの書き込み
流れ流れて xfce に落ち着きそうだわ…
- 238 :login:Penguin:2013/03/13(水) 22:26:12.25 ID:MwIyXkJL.net
- >>235
>Debian GNU/Linux 7.0 "Wheezy" ではXfceが標準のデスクトップ環境になるとPhoronixが伝えている。
なんとなく振り返って呼んでみたら相変わらず Phoronix いい加減の風説撒いててワロタ
今日日実機に投入するなら usbインストールが主流だろうにサイズはそれほど
以前より気にしなくても良くなったか
- 239 :login:Penguin:2013/03/18(月) 21:36:56.23 ID:3uMtrQaR.net
- Valaしばらく使ってるけど、Genericsでは型消去するってことでいいのかな?
CILだし、何となくそんな気がするんだけど、確証がないし、Cコードを本気で追う気概もなく・・・
誰か分かる人いませんか?
- 240 :login:Penguin:2013/03/19(火) 09:41:02.82 ID:o8+57GQ8.net
- >>239
型がなくなる。要するにC#じゃなくてJavaのGenericsと同じ。
なんでやれることがかなり限られる。
- 241 :login:Penguin:2013/03/22(金) 22:18:34.75 ID:g5+oWlz9.net
- >>240
おお、素早い返答ありがとう。
型消去されるとして、色々サンプルコード書いてみたけど
valaのGenericsって型制約無しで、全て共変なんだね。
これだと、メソッドの引数で型安全が守れなくなるから、大きな欠陥なわけね。
参考
ttp://supersoftcafe.com/2011/07/vala-generics
コメント欄がかなり過激。
- 242 :login:Penguin:2013/03/23(土) 14:57:50.34 ID:Ot8//svX.net
- >>241
あれ?そのコメント欄では共変じゃないっていってるね。
それと、Vala開発者の弁護をする訳じゃないけど、Valaは関数名のオーバーロード
をしない方針だから、型を消去せざるを得なかったんじゃないかと思われる。
しかし、
public static G Max<G>(G a, G b) { return a > b ? a : b; }
がエラーになるんだから、役に立たないとも言える…
- 243 :login:Penguin:2013/03/25(月) 13:46:13.82 ID:1YB0HppF.net
- >>242
コメントは要約するとこんな感じ?(英語間違ってたらすんません)
読み書きできる配列とかコレクションは不変であるべき前提があるから、
共変なJavaの配列はクソだったな、一応例外で対応してるけど。
(しかし、Genericsでの同様の問題への対応は理にかなってた。)
同じ轍を踏むValaの開発者は以下略。
型変数について境界が定義できないから、具象メソッドに対するGenericsは使えないよね実質。
(抽象メソッドではまぁ使えるだろうけど)
うーむ使いどころが難しい。
- 244 :login:Penguin:2013/08/05(月) NY:AN:NY.AN ID:B/E1B7xa.net
- Vala 0.21.1リリースage
自分でmakeしてvalac起動時に
valac: error while loading shared libraries: libvala-0.22.so.0: cannot open shared object file: No such file or directory
とエラーメッセージが出たんだけどsudo ldconfigすれば直るのね
- 245 :login:Penguin:2013/09/14(土) 18:31:29.39 ID:Lj5ZFryQ.net
- Vala 0.21.2 リリース age
ttps://mail.gnome.org/archives/vala-list/2013-September/msg00022.html
- 246 :login:Penguin:2013/09/26(木) 02:09:02.75 ID:EPJ3SFEj.net
- Vala 0.22.0 リリース age
ttps://mail.gnome.org/archives/vala-list/2013-September/msg00034.html
総レス数 246
72 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200