1 名前:デフォルトの名無しさん [2008/04/14(月) 15:16:22 ] プログラミング言語 D (D Programming Language) について語るスレッドです。 過去スレは >>2 ■本家 ttp://www.digitalmars.com/d/ ttp://www.kmonos.net/alang/d/ (和訳) ■コンパイラ ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家) ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF) ttp://dsource.org/ (dsource) ttp://tinyurl.com/3da5oa (C/C++に疲れた人のD言語) ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語) ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか) ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座) ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画) ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games) ■ IDE ttp://dronten.googlepages.com/dscite (DSciTE) ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks) ttp://www.dprogramming.com/entice.php (Entice Designer) ttp://www.dsource.org/projects/descent (Descent) ttp://www.dsource.org/projects/poseidon (Poseidon)
331 名前:デフォルトの名無しさん [2008/05/28(水) 00:39:32 ] DでBasicっぽいゲームエンジン作ろうかと思ってるのだがやめておいたほうがいいだろうか・・・
332 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:45:54 ] D言語で最新のDirectX SDKを叩ける方法の方が…
333 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 02:15:29 ] >>331 いや、やってみてから挫折しろよ
334 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 05:49:30 ] >>332 最新に完全対応かどうかはわからないけど DSourceにあるBindingsで叩ける 最新SDKとリンクさせてるけど、いまのところ問題ない。
335 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 06:27:21 ] >>324 何がしたいっていうか、そういう遊びだろう。 勝敗の決まらない、操作そのものを楽しみ続ける格闘ゲームみたいなものだから、 基準がまったく定まらず、お互いにまったく噛み合わないこと自体も 彼らの求める相互排他とか衝突を生み出すいいきっかけなんだよ。
336 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 07:27:03 ] >>327 なんでD言語のキャラクターはこんなにムカつくんだwww
337 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 08:51:39 ] >>334 まじ?Bindingsってなんか依存関係でコンパイラがエラーはくんじゃなかった?
338 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:11:11 ] ロゴがある言語って少ないんだからあのロゴキャラ消してもいいような…
339 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:20:34 ] 日本以外はサマータイムやってるから理論はいかがなものかと。 ウザカワキャラってことで売り出していこうぜ,
340 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:41:16 ] >>337 そんなのとっくに直ってる
341 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 13:57:47 ] GDI+ の D言語へのポートってないんですか? 自分でシコシコ作るしかないのかな…
342 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 14:33:41 ] 大規模やらDirectX10やら、やたら勇者がおおいな
343 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 15:44:21 ] そう言えば日本のサマータイム導入はどうなるんだろう。 他の導入済み都市と比べて夏と冬の日照時間にほとんど差がないから意味がないような。 また政治家の手続き遊びによる金稼ぎが。
344 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:29:27 ] 毎年、切り替えの日に仕事遅刻するのが目に見えてるからやめてほしい。
345 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:41:17 ] なんの話だよ
346 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:58:53 ] サマータイムの話では。
347 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 21:01:28 ] DigitalMars のサイトが……
348 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 21:29:54 ] と思ったら蘇ってた
349 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 21:49:18 ] 一瞬だけ変なところ飛んだんだが、何事だったんだろうな
350 名前:デフォルトの名無しさん [2008/05/30(金) 01:11:16 ] glutを使いたいのですが、リンク時に Error 42: Symbol Undefined _glutInit というエラーが出てしまいます 調べてみたところ、おそらくglut32.libが原因のようで、 glut32.libは DIDE with D のものを使うといいとの事ですが、 DIDE with Dのサイトがもう見れなくなっていて困っています。 DIDE with D以外だとどこのglut32.libを使えば動くんでしょうか? ちなみにimplib -a glut32.lib glut32.dl で作ったものと yaneSDKに入っているもの、DedicateDのglut32.libを試しても同じエラーが出てしまいました。 それともなにか他の原因があるのでしょうか? 原因がわかりそうな方お願いします。
351 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:15:26 ] >>350 .zipで上げてくれたら誰かやってくれるかもしれんよ
352 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 02:15:14 ] SDL + opengl opengluなら普通に使えるけどglutは試してないなぁ。
353 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 02:33:11 ] >>350 DLLがあるなら、implib /s glut32.lib glut32.dllでいいと思うのだが
354 名前:353 mailto:sage [2008/05/30(金) 03:51:53 ] よく調べたら、extern(Windows)な関数のライブラリだった。 ↑は使えない。 まずwww.xmission.com/~nate/glut.html からvc++用のバイナリを落としてくる。 それから、glut32.libをcoffimplib.exeでOMFライブラリに変換して、 それを使えば大丈夫なはず。
355 名前:353 mailto:sage [2008/05/30(金) 04:06:26 ] あと、glutInitの宣言にextern(Windows)がついてないと思われるので、付けるように。 というか、むしろこっちが原因かも。 libファイルがどうこうじゃなくて。 yaneSDKに入っているものでも大丈夫だったし。
356 名前:353 mailto:sage [2008/05/30(金) 04:23:03 ] >あと、glutInitの宣言にextern(Windows)がついてないと思われるので、付けるように。 extern(C)をextern(Windows)に変えろって意味ね。
357 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 04:37:31 ] 世話焼き萌え。
358 名前:350 mailto:sage [2008/05/30(金) 11:55:05 ] >>355 extern(Windows)をつけたらできました。 レスくれた方ありがとうございます。 勉強になりました
359 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:50:34 ] GLでがりがりやってる方もいるんだねぇ・・・
360 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 01:29:20 ] さて、IDEはまだかね?
361 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 01:44:58 ] っ Descent
362 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:05:09 ] つ Entice Designer
363 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:07:13 ] っ SASI
364 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 02:32:17 ] っ Poseidon
365 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 06:30:29 ] JDT並みの自動補完がほすい
366 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 08:12:34 ] つ Descent ・・・より優れているのか?
367 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 08:40:13 ] Descent はすぐに自動補完がぬるぽで落ちて、自動補完聞かないただのエディタと化してしまうからいまいち。 他はしらん。
368 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 11:37:16 ] そんな現象なったことないな
369 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:03:41 ] 昔のVisualStudioはよくそんなことなってたよなw Descentでなったことはないわ。
370 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 03:28:47 ] DescentでMake使えるようにならんかなぁ
371 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 03:34:26 ] と思ったらEclipseのBuilderから普通に使えた
372 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:37:39 ] mixin(import("con")); これ通らないのかよー
373 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:42:58 ] >>372 -J.
374 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:12:58 ] それしてもコンパイルは通ったように見えるけど、実際は何も生成されない。
375 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:14:13 ] 何も生成されない、というか空文字列として扱われてるみたい。
376 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 08:25:02 ] >-J. これがなんかの絵文字かなやんだおれは 修行がたりない
377 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:40:40 ] >:-J.
378 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:39:49 ] || -J. | - ノ
379 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:33:30 ] |||| -J o/
380 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 08:02:35 ] やってることが暇人すぎてわろた
381 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:40:20 ] 何か建設的な話題はないのか
382 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:03:30 ] 2010年にD++が出る
383 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:17:42 ] D#とDavaとDoberonも出るよ
384 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:42:15 ] DaskellとかDCamlとかDispに期待。
385 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:51:46 ] DOBOLだな
386 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:53:36 ] 最近はバグ取れてきた? そろそろ本格的に使ってみようかと思うんだが(趣味でだけど) JavaとRubyに慣れた身にはC++は苦痛・・・・・・代替言語が欲しい
387 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 03:58:32 ] javaに慣れてるならライブラリが薄いこと以外はスーパーセット的に使えるだろ rubyみたくクラスに機能をインジェクションしようと考えてテンプレートをいじる遊びもできるし
388 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 11:02:13 ] >>386 バグは普通に使う分にはすでにあまり問題ないレベルであるように感じる。 趣味で追いかける分にはD言語は愉快な言語だと思う。
389 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:20:19 ] struct Matrix(T, int M, int N) { const Matrix!(typeof(T + U), M, N) opAdd(U)(Matrix!(U, M, N) that); } こんな感じでテンプレートの引数として使われてるテンプレート引数って推論できないものかなあ。
390 名前:386 mailto:sage [2008/06/07(土) 15:23:42 ] >>387-388 ありがと。何よりもまず使ってみる
391 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:44:05 ] 質問。 template hoge(int hage) { void hogefunc() { ... } } void func(int arg) { mixin hoge!(arg); hogefunc(); } って、どう展開されるんですか?
392 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:47:00 ] argはコンパイル時定数じゃないからテンプレートに渡すことはできない。
393 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:21:15 ] でもコンパイルとおっちゃうんですよねー・・・。 不定値になるのかな?
394 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:28:14 ] バグでしょ。
395 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 07:59:20 ] CTFEが働いているとかはないのか
396 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:29:42 ] >>391 何故か0が渡されてる codepad.org/qbKJaxYV
397 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:24:22 ] typedefで初期値を変えても0が渡されてるからint.initですら無いようだねぇ。
398 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 14:35:15 ] >>395 CTFEにしても、関数はランタイムでも実行できないとだめだから、 コンパイルが通るのがおかしい。
399 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 18:03:26 ] 既出のバグなのかな? あの大量のリストを全部確認するのはつらいよなあ… 1000近くあるし英語だし… というかこれも結構重複とかしてるんだろうなぁ…
400 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:06:25 ] 連想配列をイテレートする便利クラスってなかったっけ? キーの大きい順にとか、値の小さい順にとかやりたいんだけども。
401 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 00:03:47 ] しっかりしたライブラリなら、 dsss build --doc でドキュメントが生成できるのな。知らなかったぜ。 dsss net install は未だに成功した試しがないんだがw
402 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 08:04:55 ] dmdとcandydocで作るのと一緒のやつだっけ? そういえばdmd -doc使ってないなあ プロファイラとコードカバレッジとユニットテストが dmdでできるのは重宝しているが
403 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 10:45:14 ] >>400 foreach (v; aa.keys.sort) {...} とかじゃ不足?
404 名前:403 mailto:sage [2008/06/09(月) 10:48:26 ] 微妙に間違えた。 キーで回すんだから foreach (k; aa.keys.sort) と書かなきゃ。
405 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:45:00 ] 値でソートしたり、値が一致したときにキーにフォールバックしたりしたいの。
406 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 16:03:57 ] >>404 まだ微妙じゃないのか? foreach (v, k; aa.keys.sort) じゃね? >>405 >フォールバック ちくしょう、おいらにゃ意味がわかんねぇ
407 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:01:16 ] >>406 書くならこうだろう。 foreach (i, k; aa.keys.sort)
408 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:19:56 ] 今無性にimport文でワイルドカード使いたい。Javaみたいに。ニュースグループではそんな無駄な 機能いらねぇよ派が多数だったみたいだけどな。Tango のライブラリとか細かすぎていちいち 書くの面倒になっちゃうよ。DFL みたいに all.d みたいなファイルを用意しておけば、まぁ 似たようなことはできそうなんだけど。
409 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:45:53 ] Tangoにもまとめてimportする用のモジュールあるじゃん。
410 名前:408 mailto:sage [2008/06/10(火) 03:40:56 ] …あ。tango.group なんてあるのね。>>409 のお陰で得した気分だ、ありがとう
411 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 04:09:13 ] 処理速度ってC++より早いのか?
412 名前:デフォルトの名無しさん [2008/06/11(水) 08:37:58 ] また馬鹿げた質問を 単純ループのベンチマークでもとって比べるか?w
413 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 08:49:25 ] 処理速度気にするなら単純なコードでコンパイルして逆汗して比較汁 コンパイラの出来も同時に判る 組み込みやってた知り合いはそれやってたらできたてのコンパイラのバグみつけた
414 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 10:00:11 ] string s = Format!("Arg %s = %s", "foo", 27); を実行しようとすると、 cannot implicitly convert expression ("Arg %s = %sfoo27") of type const(char[]) to invariant(char)[] て怒られた。 なんでstringで受けられないの? ってことと、あと文字列が連結されてるだけで置換されてない……。 公式のサンプル通りなんだけど、ドキュメント古くなってる? 俺がなんか変なことしてるのかな。
415 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 13:33:38 ] metastringsのソース見れば分かるけど返ってくるのはconst char[]なので, stringでは受けられないんじゃないかなぁ(実際はconst(const(char[]))かな). 使うときはいつもautoなので気にしてなかった. それと,Formatの中ではchar[]で分岐してるので, ここをconst char[]に修正しないとまともにフォーマットされない.
416 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:46:29 ] Formatはconst/invariant導入されてから壊れっぱなしだな。 めったに使わないから不自由はしてないけど
417 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:23:07 ] trunkにあるから書き換えてくれていいよ!
418 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 12:28:58 ] D言語楽しい!
419 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:41:53 ] さいきんBill Baxterさんが本家メイリングリストに出てこないなぁ。 お忙しいのか?
420 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:27:19 ] >>418 The old collection package will be deprecated prior to Tango 1.0. こういうところがだろ?wwわかります。
421 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:09:15 ] ttp://www.dsource.org/projects/tango/forums/topic/523 これか なんでいきなりそんなことになんのよw あまりにもbetaがbetaとして機能してねえw
422 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:11:20 ] D言語使いには勇者が多いw
423 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 14:05:08 ] linux版のThreadクラスって、処理が終わってもリソース開放しないのな Threadクラスはガベコレが見てるから、別クラスを作るわけにもいかないし phobos書き換えないと使えないってどんだけ std.fileもなんかおかしいし linux版ってもしかしてだれも使ってない? windowsから移ってきてみたら、びっくりだ
424 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 15:36:39 ] たまにはソースとか読んでみようと思ったのに、 コンパイラにくっついてるのってひょっとしてフロントエンドの部分だけ? コード生成とか最適化とかの部分はどっか別のところにある?
425 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 16:10:26 ] >>424 その辺はdmcと共有してて非公開だったと思う
426 名前:デフォルトの名無しさん [2008/06/13(金) 16:24:39 ] >>424 フロントエンド部分だけがGDC用に公開されてる。
427 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:58:39 ] ttp://www.dsource.org/ みれないようわーん
428 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:35:38 ] >>427 もう見える
429 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:14:13 ] dsource.org の鯖はあんまり栄養状態が良くないよな。鯖そのもの だけじゃなく、プロジェクトも abandoned なのが多いし。
430 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:34:32 ] windows やら unix やらばかりじゃなくて、 組み込みとかにも目を向けて欲しいんだが。
431 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:37:06 ] 組み込みでGCやなんやはオーバースペックじゃないか? まあ、最近は組み込みっていってもWindows動いてたりするけどさ。