- 1 名前:デフォルトの名無しさん [2008/02/10(日) 15:06:12 ]
- プログラミング言語 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フロントエンド) ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) 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動画) ■ 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)
- 448 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 17:19:47 ]
- 気づいたら終わってた
誰か録画してないのー?
- 449 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 17:32:04 ]
- 勇者はやっぱ勇者だった
だがDでSIGGRAPH発表する伝説の勇者が出現
- 450 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:03:56 ]
- >>447
GJ! 概要はなんとなくわかった。 読めば読むほど拝聴したかっただぜ!Orz
- 451 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:23:38 ]
- 例の納品した人出てたのかw
ちくしょー見たかったぜ。
- 452 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:24:37 ]
- 更新されてる。
>>Walterだけど何か質問ある?
- 453 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:37:45 ]
- >>447
プレゼンまとめうpとかあったら神なんだが
- 454 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:51:39 ]
- Dの更新追うのに疲れてここ一年くらい新機能弄くって遊ぶようなことしてなかったけど今日のでちょっと興味戻ってきたわ
- 455 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:57:45 ]
- >>449
>だがDでSIGGRAPH発表する伝説の勇者が出現 kwsk
- 456 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 22:39:06 ]
- >>455
ビルタンです
- 457 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 01:08:36 ]
- ニコニコに上がってるのか。
話題に乗り遅れてるが、ぼちぼち見てくる。
- 458 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 01:35:24 ]
- おおお素晴らしい
ちゃんとスライドが読める画質っぽいwww
- 459 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 10:53:47 ]
- www.nicovideo.jp/mylist/5343982
これかい。
- 460 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 11:40:11 ]
- コメント少なすぎだろw
- 461 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 11:54:28 ]
- >>460
お前がするんだよ!
- 462 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:23:41 ]
- 最初鼻の穴見えすぎ
- 463 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:30:04 ]
- エロくね?
- 464 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:59:20 ]
- 鼻のタグが付いてるな。
- 465 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:39:27 ]
- うーむ、コメントしにくいなぁ。
コメントが少ないからじゃなく何となく。
- 466 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:52:45 ]
- 聞き取りにくいところに字幕をつけるとかどうだろう。
- 467 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 16:47:44 ]
- いいね
- 468 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 18:26:20 ]
- やろうと思ったけど自分の耳じゃ復元できなかった…。
実際会場行った人、お願いします。
- 469 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 20:47:23 ]
- ushort型をasmでAXに入れようとしたらサイズが違うと怒られたんですが、
import std.stdio; void main(){ ushort n = 0x3132; writefln("ushort.sizeof = %dbyte", ushort.sizeof); writefln("before:0x%x",n); asm{ mov AX, n; rol AX, 8; mov n, AX; } writefln("after:0x%x",n); } こういうのは駄目なんですか?
- 470 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 21:20:55 ]
- 見てきた。微妙にウォルタンには伝え辛い発言があって困るw
- 471 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 21:26:57 ]
- >>459
しゃべってる人が俺の脳内イメージとは、悪くない意味で違ってた。・・・当たり前か。 理解できてるかはべつとしておもしろかた。
- 472 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 21:35:24 ]
- お願いがあるのだ
ニコ動以外の所に上げて
- 473 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:23:29 ]
- >>469
asmの話題はあんまり見たこと無いな。 俺はアセンブリ系はわかんないし。
- 474 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:26:52 ]
- word ptr がいるんじゃない?
- 475 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:28:40 ]
- >>472
アカウント取ったほうが早い 異論は認める
- 476 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 23:08:26 ]
- だなぁ。異論はあるだろうが、とりあえず登録はしておいたほうがいい。
- 477 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 23:50:10 ]
- いちいちページ切り替えるの面倒だったからflvファイル連結してみたけど40MB超えてて\(^o^)/オワタ
- 478 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 07:34:28 ]
- ttp://www.kmonos.net/alang/dee/diki7/brainfuck2d
BOFのコンパイル時コンパイラに触発されて、 brainfuckを、Dの delegate void(std.stream.InputStream, std.stream.OutputStream) なデリゲートに変換するモジュールを書いてみた 以前D言語における日本語利用の話題になったときにインタプリタまで書いてたやつです 今度はきちんとDソースコード表現を経由してネイティブコードにコンパイルされます 文字列mixinを使うと素直な表現になりますね
- 479 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 07:59:26 ]
- >>473-474
自己解決しました。と言うかあまりにあれだった。 結果として>>469だとコンパイル通りました。 通らなかったのは下のコード。(ちなみにやってることは全部エンディアン変換) import std.stdio; void main(){ ushort unknown = 0x3231; testa(unknown); } ushort testa(inout ushort n){ asm{ mov AX, n; rol AX, 8; mov n, AX; } } inoutのものをそのままレジスタには渡せないってことですね。 inoutも内部ではポインタ渡しみたいになってるから、 void testa(inout ushort a){ asm{ mov EAX, a; mov BX, [EAX]; rol BX, 8; mov [EAX], BX; } } こうしないといけないみたい。 でも、これより↓の方がわずかに速かったのには脱力した。 ushort testa(ushort n){ return (n << 8) | (n >>> 8); }
- 480 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 08:13:00 ]
- Google Videoにもきた
video.google.com/videosearch?q=D%E8%A8%80%E8%AA%9EBOF+2008-03-01
- 481 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:34:21 ]
- tango.core.Thread.Thread には、 phobosのstd.thread.Thread.pause/resume 相当の機能はないのでしょうか?
見た感じないのだけど、どうしてだろう? void thread_suspendAll() 内には void suspend( Thread t ) なるものが見えるけど外からは使えない…
- 482 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:58:46 ]
- pauseでスレッドを停止させる設計が間違ってるからじゃないか
- 483 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 12:54:04 ]
- >481
Thread.yield ではダメ? 実行権が勝手に戻ってきちゃうと都合悪いのかな。 だったらtango.core.Thread.Fiberで yield/callするコードを書いといて、 そのファイバーをスレッドで駆動するという手はある。
- 484 名前:481 mailto:sage [2008/03/03(月) 13:18:00 ]
- >>482
そうなんですか?初めて聞きました。浅学なもので… でも、使いたくなる時もあるんじゃないかと思うので、 設計の良し悪しは別にして、あってもいいような気がしないでもないのですが… >>483 それはなんとも強引ですねw とりあえず使うところはWindowsなので、スレッド内でGetCurrentThreadとかすればなんとでもなる… けど、なんかスマートじゃない感じが…
- 485 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 13:44:55 ]
- 動けばいいのだ
- 486 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 14:08:39 ]
- Internal error: ..\ztc\cgcod.c 1522
ってなんですか?
- 487 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 14:22:13 ]
- コンパイラのバグ。
bugzillaに報告しとけば一年ぐらいで直るよ。
- 488 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 15:08:08 ]
- 一年後かよ!
- 489 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 19:15:41 ]
- あるある
- 490 名前:イーペーコー [2008/03/03(月) 19:20:47 ]
- D言語はVB.NETよりできることがすくなと聞いたのですが本当ですか??
- 491 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 19:22:36 ]
- 少なくは無いけど、遠回り。
- 492 名前:デフォルトの名無しさん [2008/03/03(月) 19:43:55 ]
- D言語で書くくらいならアセブラで書いたほうがいいと効きました
なにやらアセブラはなんでもできるそうでD言語より高機能だそうです
- 493 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 19:45:37 ]
- >>480
わー サンクス
- 494 名前:デフォルトの名無しさん [2008/03/03(月) 21:24:05 ]
- >>490
あの膨大なライブラリを誰が書いたかってハナシだな。 キャパシティはあんま変わらん。
- 495 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:03:40 ]
- >>492
アセンブリ言語でガリガリ効率的に書けるなら,確かに他の言語なんていらないなw
- 496 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:11:42 ]
- チューリング完全(ry
- 497 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:15:39 ]
- アセンブリがあればという奴にかぎってアセンブリでまとまったモノを書いた経験がない。
チューリング機械があればという奴にかぎってチューリング機械でプログラミングした経験がない。
- 498 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:19:12 ]
- 僕は、ラムダちゃん!
- 499 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:21:39 ]
- >>497
別に限らないと思う。
- 500 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:30:38 ]
- >>497は経験がないのはわかった
- 501 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:37:07 ]
- ____
/ \ / _ノ ヽ、_ \ / o゚⌒ ⌒゚o \ また明日から無限に長いテープを前後に動かす仕事が始まるお | (__人__) | \ ` ⌒´ /
- 502 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:48:01 ]
- 絶望的な仕事だなぁ
- 503 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:56:25 ]
- チューリングマシンより量子コンピュータの方が出来ることが多いそうですが、
D言語は量子コンピュータ上で動きますか?
- 504 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:07:26 ]
- >>501
その仕事はいつ終わるんですか。
- 505 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:07:59 ]
- 量子コンピュータなんてろくにできることないぞ。
- 506 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:16:48 ]
- どっかの研究者が並列実行可能な生体コンピュータ(分子生物学的な)を使って
現在のノイマン型だと非常に時間の掛かる問題(確か年単位オーダー)を解いたそうだが、計算は一瞬で終わっても解を取り出すのに数週間掛かったそうだ。 質的な差は確かに違うしできること、奥の深さの違いもあるだろうけど、現時点では量的な差がそれを打ち消してしまうほど使い物にならない。 例の様な特殊な事例でなければね。 というか量子的な動作を記述する言語ってどんなものになるんだろうな。 D言語は言語使用自体の例外的なものをできるだけ排除して、できるだけ簡素なものに帰納的に表現できるように 工夫がされているはず。 その“帰納的”という性質そのものがノイマン型コンピュータに依存するわけだから、勿論互換性なんてない。 量子コンピュータはその動作を確率的に、並列コンピュータはその動作を並列的つまり動的計画法バリバリに記述するんだろうねきっと。
- 507 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:29:37 ]
- 三行で
- 508 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:52:33 ]
- 今のプログラムに比して超巨大なステートマシンが
大量に右往左往する量子コンピューティングには テキストでしこしこ記述する手法では太刀打ち出来ない。
- 509 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:29:30 ]
- 量子コンピュータは一応チューリング完全だけど、
NOT, CNOT, CCNOT, SWAP っつー可逆な操作のみを使って計算する、 古典コンピュータとは根本的に異なる原理に基づいた計算になる。 その性質をフルに発揮するには、そもそも古典コンピュータ用の言語は向いていない。 さらには重ね合わせとかあるしね。
- 510 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:46:48 ]
- > D言語は言語使用自体の例外的なものをできるだけ排除して、できるだけ簡素なものに帰納的に表現できるように
> 工夫がされているはず。 正気か?
- 511 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:42:25 ]
- でっていう
- 512 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 12:13:58 ]
- このスレ、なんか今年入ってからか全然関係ない話題で盛り上がる運命にあるのか?
- 513 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 12:36:18 ]
- > 全然関係ない話題
運命についての質問とかな
- 514 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 12:58:39 ]
- これから盛り上がるっていう予言かw
- 515 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:24:23 ]
- DコンパイラをDで記述すれば大いに盛り上がるはず
頑張れ↓
- 516 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:31:17 ]
- 2への完全移行とDMD/GDCの互換性を上げるほうが先だろ
- 517 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:48:27 ]
- 記述に使用する言語と同じ言語のコンパイラって作って何が楽しいの?
- 518 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:53:52 ]
- >>517
動的コンパイル
- 519 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 21:29:36 ]
- >>517
そんなこと言ってたらCコンパイラすら作れなくなるな
- 520 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 21:30:46 ]
- マシン語とかアセンブリ言語とかで作れと?
- 521 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:03:38 ]
- 作るのが楽しいんだよきっと
- 522 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:12:01 ]
- でも、そんなもの作る暇あるなら、
何か便利なライブラリでも作って欲しいわ。
- 523 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:12:58 ]
- 動的コンパイルできるライブラリ作れるじゃん
- 524 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:13:36 ]
- >>520
でも同じ言語で新しいバージョンのものだったらまだ話は分かるけど、 同じバージョンなんて作っても・・・。
- 525 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:20:59 ]
- その言語がよい言語なら、その言語のコンパイラ自身も
その言語で書かれてる方がいいよね。 移行の過程を無視すれば、だけど。 > 複雑でデバッグ済みで既に完成しているアプリケーションを > わざわざ他言語に 移植することにあまり利点はありません。 > 新しい Digital Mars のアプリは Dで実装されています。 www.kmonos.net/alang/d/2.0/faq.html#cpp_to_D >517のような、新しくコンパイラを書き起こす場合は、Dで書くのも 普通に選択肢に入るんじゃない? 「すでにD言語のコンパイラは2つもあるのに、新しく作って何が楽しいの?」 ならともかく、D言語のコンパイラをD言語で書くこと自体はとくにおかしくないでしょ。
- 526 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:22:10 ]
- Streamクラスのseekableなストリームは絶対にreadableなストリーム、と言い切れるのでしょうか。
- 527 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:30:36 ]
- さあてね、どうだか
- 528 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:38:04 ]
- D 3.0からDで作ります。とかならあり得ない話じゃないかな。
- 529 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:04:22 ]
- じゃあ最初のD3.0はD2.xxで作られるわけか
- 530 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:14:10 ]
- コンパイラ作ってる間に仕様が変わって、新しいコンパイラでは自分自身をコンパイルできなくなると。
- 531 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 01:03:14 ]
- >>526
readableとseekableが分かれているのだから言い切れないんじゃない. ソースを上から全部読んでないので確証はないけど.
- 532 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:40:09 ]
- そう言えば量子コンピュータって量子テレポの原理を使って理論上は
人間が思ったとおりの動作を自動的にしてくれるんだって? LL(0) 何世紀後の話になるやら・・・。
- 533 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:48:37 ]
- ??
- 534 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 05:05:18 ]
- LL(0)というのは誤爆です・・・
- 535 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 06:33:12 ]
- Version()掛けてD2.xで出来上がったD3.0でD3.0を作ってそのD3.0でコンパイルしてみて確認。
- 536 名前:デフォルトの名無しさん mailto:saqe [2008/03/07(金) 08:56:40 ]
- D言語でデバイスドライバはC並に作れますか?
- 537 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 11:53:23 ]
- お約束だが「C並」を定義しないと誰も回答できない
- 538 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 13:33:59 ]
- 長時間存在するものをモダンでないGCに投げるのは不安があるところだな。
その辺の工夫をすればかけるのではなかろうか。
- 539 名前:デフォルトの名無しさん [2008/03/07(金) 14:47:19 ]
- つまりCでできることは9割がたDでできるのか否かちょいうこと
- 540 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:03:51 ]
- D言語終わったな
- 541 名前:デフォルトの名無しさん [2008/03/07(金) 15:22:35 ]
- >>540
ハゲ同 今じゃVisual Basicですら簡単にC++並みのドライバが書けるのにD言語ときたら・・・
- 542 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 16:51:32 ]
- >>35 のバグ直ったみたいだよ
d.puremagic.com/issues/show_bug.cgi?id=1828 > Fixed dmd 1.028 and 2.012 (and thanks for sorting this out)
- 543 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 17:32:57 ]
- >>542
キタ━━━━━━(゚∀゚)━━━━━━!!!!!! これで安心してマルチスレッドのコードが書けるわ
- 544 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 18:09:49 ]
- >>539
アッパーコンパチなんで、やろうと思えばできるはず。効率的かはまた別だが。 まー、ビットフィールド位しかできないことおもいつかん。 アラインもいじれるし。ポインタもいじれるし。 >>541 なに?ドライバ入れるのに.NET入れないといけないの? フロントエンドじゃなくて?
- 545 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 21:35:45 ]
- vbでデバイスドライバとな!?
ランタイムも全部sys 凄すぎるけどネタじゃないか
- 546 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 21:38:22 ]
- >>545
Windows限定なら俺も書いたことがある 仕様が公開されてるキーボードのドライバをvb.netで
- 547 名前:デフォルトの名無しさん [2008/03/07(金) 21:42:17 ]
- ubyteの配列をスライスしてuintの配列として解釈するのはマズいですか
auto ub = new ubyte[0x10]; auto ubs = ub[4..11]; uint* ui = cast(uint*)ubs; 要するにバイト列を任意の値型で再解釈するというモノです。 もっと安全な方法があるぜ!とかあったら教えてください
- 548 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 22:09:48 ]
- エンディアンにさえ気をつければやっていいと思う。
|

|