- 1 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 23:00:35 ]
- プログラミング言語 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の入門講座)
- 710 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:29:04 ]
- >>708
はげどう Dに実装するならぜひFortanライクな配列演算を実現して欲しい それなら数値計算屋にもアピールできる
- 711 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:02:53 ]
- >>705
30秒間音なってるから。耳壊す気ですか。
- 712 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:06:45 ]
- 2kHzはうるさいなw
- 713 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:12:00 ]
- >>699
時代を一足飛びですなぁ。これがうわさの伝説のIDEか!!
- 714 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:14:12 ]
- stringが型名として認識されないなあ。
どうすればいいんだろう。
- 715 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:16:49 ]
- >>699のおかげでEclipseを使えるようになりました!
今では女の子にモテモテです!
- 716 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:46:43 ]
- これって3.2.xじゃないといかんの?
ついうっかり3.3.1.1落としちゃったんだが
- 717 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:36:17 ]
- >>716
同じく3.3.1.1だが、普通に動くっぽい。 まあ、あんま詳しくは使ってないが。
- 718 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:59:22 ]
- >>697
リターンといえば構造体も、 S f(){ S s; s.a = 1; return s; } が void f(ref S s){ s.a = 1; } にコンパイラが最適化してくれて、とても速い、とかあるらしい。
- 719 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:00:58 ]
- 戻り値最適化は C/C++ でも一般的だ
- 720 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:04:55 ]
- Dにちょっと興味を持って
ttp://www.kmonos.net/alang/d/1.0/class.html とか ttp://www.digitalmars.com/d/1.0/class.html とかを見てみたんですけど、public, private がどう違うのかみたいな事が見当たらず、やや 当惑してます。 細かい所を調べたい時は、どこを見たらいいですか?
- 721 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:06:29 ]
- >>720
www.kmonos.net/alang/d/1.0/attribute.html
- 722 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:06:55 ]
- 別にそこは講座なわけでも仕様書なわけでもないから、
そこを読むには C++ や Java は前提知識と思った方がいい。
- 723 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:12:23 ]
- 仕様書でしょ。
- 724 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:18:14 ]
- というか、C/C++辺りをを知らない人にとってDのいいところってなんだ。
開発途上の嫌なとこが目につくだけのような気がするが。
- 725 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:18:55 ]
- Descent、とうとう日本語含んだソースでも正常に動くようになったね。ヽ(´∇`)ノ
伝説のIDE候補
- 726 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:22:28 ]
- >>724
少なくともいちばんはじめの言語学習には向いてないよなw
- 727 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:27:26 ]
- Descent、クラスのアクセス指定をC++式の
public: void func() { } とかで書くとインデントがおかしい。俺だけかな。 フォーマッタの設定色々弄ったんだけど(弄ったから?)上手くできん。 Java式か、もしくは中括弧使えばいいんだけども。みんなどれ使ってるの?
- 728 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:27:57 ]
- >>721
まさかと思ったら、もう返信が… dクスです。 属性のとこにあったんですね。
- 729 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:45:40 ]
- >>711
30秒なのはサンプルだからです。 他に簡単に長いこと起動させるのを思いつかなかったので。 その30秒のうち、最初の6秒間くらいはポインタが砂時計つきに変わるんです。 ほかのコンソールアプリケーションを>>705のdefファイルを使ってビルドしたときも 同様に砂時計つきに変わるので、どうしてかと思ったのです。
- 730 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 09:24:58 ]
- >>669
無茶言うな、と思ったけど BO開くから日本のDユーザーにビデオかなんかでメッセージくれない? といったら >That sounds great! What is the event where there will be the BOF? -Walter 割と好感触 >>672 投下してきました このへん自分じゃ気づかなかったのでここに書いてみてよかった
- 731 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 11:01:15 ]
- >>730
をるたーーーーーんんんん
- 732 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:00:55 ]
- EclipseのDLページに行くと落とせるファイルが
いくつもあるんだけどどれを落としたらいいですか?
- 733 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:04:40 ]
- >>732
3.3系列のWindows向けC/C++版でインストールしたけどうまくいったよ まだほとんどいじってないが。
- 734 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:40:54 ]
- だめだ、なぜだかわからないがDescentが
"No features found on the selected site" ってなるorz -clearしてんだけどなぁ…
- 735 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:41:39 ]
- >>730
欲張るなら オンライン講義かディスカッションができないかな?w
- 736 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:51:34 ]
- どちらかというとディスカッション希望
- 737 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:51:55 ]
- ところでBOってなに?
- 738 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:52:45 ]
- >>736
>>735の追記だけどたまに国際会議や研究会でそういうのがあった スクリーンに向こうの映像を表示してオンラインディスカッションとか
- 739 名前:734 mailto:sage [2008/02/05(火) 13:54:17 ]
- descent.ui_0.5.0.20080203.jar から descent.ui_0.5.0.20080204.jar にあげるときに descent.ui_0.5.0.20080204.jar アップし忘れてるみたいだorz
全部落としてsite.xml編集するか…
- 740 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:57:49 ]
- >>737
BOF Birds of a Featherかな? 初めて聞いたが情報系だと一般的な呼称なのかしら?
- 741 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:47:09 ]
- >>740
この手のイベントでは割とよく聞く言葉だな
- 742 名前:デフォルトの名無しさん [2008/02/05(火) 14:51:46 ]
- descent.ui - 0.5.1.20080204
見つからない。どこいったんだ〜〜〜。 やっと。やっと伝説のIDEを使えると思ったんだけども。
- 743 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:53:48 ]
- >>726
GCのおかげで気楽に関数を書けるし、 慣れ親しんだ.exeファイルを自分で作れる点も考えると、 かなり初学者に向いた言語と言えるんじゃないだろうか。 特にGCが無いと、結果を受け取るバッファへのポインタを引数で渡すとか、 戻り値はエラーコードのために空けとかなきゃとか、 必要なメモリサイズをあらかじめ調べとかなきゃとか、 関数を作って使うだけの時点で既に敷居が高くなる。 その制限から抜け出せないまま育つと、 複雑怪奇なシグニチャの関数を書いたり、そもそも関数を書かなかったりして……ああ畜生、 プログラミングは設計だっつってんだろダラズ共が!
- 744 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:54:40 ]
- >>741
そか 計算物理畑の人だからかわからんかったw
- 745 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:56:00 ]
- あげちゃった。ORZ
って>>739にかいてあったか。
- 746 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:59:03 ]
- >>743
最後の2行でワラタ
- 747 名前:746 mailto:sage [2008/02/05(火) 15:08:17 ]
- 変な意味で取らないでほしいんだが、
なんか経験がにじみ出てるみたいでちょっと面白かった。
- 748 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 17:38:05 ]
- >>747
わかってまんがな
- 749 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 19:06:15 ]
- 変な意味ってどんな意味?
- 750 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 20:58:55 ]
- 「>>743がおかしなことを言っているからワラタのではなく、
むしろ>>743の言ってることが妙に真に迫っていたことにワラタんだ」 ってことでしょ。
- 751 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:25:26 ]
- >>734 >>742 ちゃんとDescentを入れられるようになったよ
- 752 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:40:17 ]
- eclipse 使ってみたけど動作が不安定な感じだなぁ。
最初、保管機能はきいてるのに何故かセマンティックエラーでまくるし、 デバッグもブレークポイントはきくのにローカル変数が表示されず。 その後、何かの拍子にいきなり正常に動作し始めた。 機能はすごいんだが、eclipse を使い慣れてないせいでめちゃくちゃ使い辛い・・・
- 753 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:48:42 ]
- SDL_rotozoomを使いたいんですがヘッダの部分は
shinh.skr.jp/d/porting.html で入手して、中身は www.ferzkopp.net/Software/SDL_rotozoom/ で入手して、MinGWのgccで -c でオブジェクトファイルを吐かせて ゲームのソースとDMDでリンクしようとしたんだけど 「.o じゃなくて .obj しか対応してないよ!」 みたいに怒られたので困っています。 助けてください。 これが無いとスプライトの拡縮が出来ないんです。
- 754 名前:746 mailto:sage [2008/02/06(水) 00:49:12 ]
- >>750
そそ。そんな感じ。
- 755 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:52:48 ]
- "Hello"と"return"でスペルミス指摘されたのでぶち切れてスペルチェッカー切りました
- 756 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:03:43 ]
- >>751
一個前の入ったね。 VCに慣れた身としてはちょっと戸惑ってるけど問題なさげ。 >>755 すげー高機能だなぁ。。。
- 757 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:05:13 ]
- >>753
dll作るがよろし。 その後implib。
- 758 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:06:29 ]
- Eclipse試してみたら
import std.stdio; ~~~~~~~~~ writefln( ~~~~~~~ とか言われて俺涙目w 時間あるときにひとつずつ設定していかないとダメだな・・・
- 759 名前:752 mailto:sage [2008/02/06(水) 01:06:38 ]
- eclipse を起動しなおしたらまたうまく動作してねーやorz
なんか別の言語のパーサが動いている気がする。他の言語は切った方が良いのかな。 >>755 スペルチェックだけなら良いんですけど、ddoc 表示もできない。 正常動作中は import モジュールの上でF2押すと説明文出たのに、 セマンティックエラーが出てる状態だと 「単語`xxxx` のスペルが正しくありません。」なんてエラーが出る。
- 760 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:07:23 ]
- ずれた
import std.stdio; ~~~~~~~~~
- 761 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:07:47 ]
- >>758
ちゃんとコンパイラの設定してるかい
- 762 名前:753 mailto:sage [2008/02/06(水) 01:08:05 ]
- >>757
了解
- 763 名前:デフォルトの名無しさん [2008/02/06(水) 01:18:11 ]
- >>753
gccじゃなくて、Digital Marsのdmc か Borlandのbcc にオブジェクトファイルを吐かせるといけるとおもわれまる。
- 764 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:21:56 ]
- Linux(ubuntu)でhello world書いてみたらFLOCKがundefined言われた。
ソースみてなんとなくGCC_IOを定義するようにしてみたら行けたけど、これでいいのだろうか。 あとstringでエラーが出る。CompilerVersionちゃんと2.xにしたんだけどなぁ。 alias見てくれないのかなぁ。
- 765 名前:753 mailto:sage [2008/02/06(水) 01:24:55 ]
- >>763
了解。まずそっちをやってからDLLをやります。
- 766 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:36:42 ]
- >>764
D2.0対応はまだ不完全で、invariant()まわりでちょっとバグがあるっぽいこと書いてあった。
- 767 名前:753 mailto:sage [2008/02/06(水) 01:37:57 ]
- tokyo.cool.ne.jp/sdl/sample.html
ここでDLLを落としたら簡単に出来ました。ありがとうございました。
- 768 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:46:36 ]
- >>761
お ありがとう コンパイラの設定ができてなかったんだね プロジェクト作成時に設定したらうまく行きました
- 769 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:57:50 ]
- >>766
そうなのかー。サンクス。 まさか本当にAutoCompleteが(曲がりなりにも)利用できる日が来るとはな……。 ひとつの到達点だな。いち早くたどり着いてくれたのがdescentで嬉しいEclipseユーザ俺。
- 770 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 09:49:40 ]
- 意味のあるaliasと意味の無いaliasの区別がつきません><
- 771 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:18:32 ]
- しかしPoseidonがEclipseベースなんだからDescentと共同開発でもしてくれればいいんだけどな
俺のEclipseはDescent専用なのでこれのためだけに100M近く使うのがもったいないというだけだがw
- 772 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 11:25:29 ]
- PoseidonはDWTベースというだけで別にEclipse関係なかったような
- 773 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 11:45:39 ]
- 例のBOFって、Dを試しに使い始めました程度の人でも
参加していいもの? 行くと場違いだったりしないかな。
- 774 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 14:27:54 ]
- 福岡ならいけたのに(´・ω・`)
- 775 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 14:39:19 ]
- 遠いw
- 776 名前:デフォルトの名無しさん [2008/02/06(水) 17:25:26 ]
- ttp://builder.japan.zdnet.com/news/story/0,3800079086,20366701,00.htm
これも「D」言語?
- 777 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:52:02 ]
- マイクロソフトはどうしてかぶらない名前に出来ないのか。
- 778 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:52:24 ]
- MSらしい嫌がらせだよな。
Borlandの次は、をるたんが標的なのかw
- 779 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:56:23 ]
- どーせコードネームだろ。
本リリースではXのつく名前にするに違いない。
- 780 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:12:34 ]
- >776
DってDQNの略だよ。
- 781 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:23:56 ]
- >>773
そんなの大丈夫だろ
- 782 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:16:41 ]
- MSに目をつけられるほど完成度の高い言語だったのかw
- 783 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:24:24 ]
- MSが肩入れすることで、ようやくD言語も日の目を見るな。
- 784 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:56:33 ]
- やばいwD言語の検索結果が少しM$に侵食されてるw
- 785 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:01:49 ]
- >>783
おいおい。「D」と名の付く全く別の言語だぞ。 > 「非開発者を対象とした宣言型言語」 ただでさえD言語の情報はWEB検索しづらいのに、 MSのせいで更に困難に・・・
- 786 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:03:59 ]
- SolarisにDスクリプトってのがあったよな
- 787 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:13:21 ]
- 何処かにEclipseのわかりやすい使い方無いかな
どこをどうさわっていいやらさっぱりだ
- 788 名前:デフォルトの名無しさん [2008/02/07(木) 00:13:45 ]
- >>776
吹いたw ところで、 module main; import tango.io.Stdout; void main(){ C c1 = new C(); c1.Func(); Stdout.formatln( "&c1 = {:X8}", &c1 ); } class C{ void Func(){ Stdout.formatln( "Func-this = {:X8}", &this ); } } を実行すると Func-this = 0012FE74 &c1 = 0012FE84 となって、二つが違うアドレスなのはなぜ? C++で同じようにthis調べると一緒だったけど。
- 789 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:21:21 ]
- >>787
EclipseWiki ttp://eclipsewiki.net/eclipse/?FrontPage Eclipse入門 ttp://www.javadrive.jp/eclipse3/index.html
- 790 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:24:16 ]
- >>788
&c1はc1があるスタックを指していて、&thisはthisがあるスタック(thisはアセンブラ的にC.Funcの引数として渡される)を指してる、多分。
- 791 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:34:22 ]
- >>789
ありがたや
- 792 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:41:46 ]
- >>788
Dのクラスは参照型だから、C++でいうとC*に相当する。 だから、cast(void*)c1 == cast(void*)this; になるはず。
- 793 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:54:54 ]
- >>788
Cをstructでやってみれば、C++と同じ結果になると思うよ。
- 794 名前:788 [2008/02/07(木) 01:18:41 ]
- >>792
なるほど。その通りになりました。 参照型。。。あれよく分からないんだよなあ。
- 795 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:25:54 ]
- struct内でもthisはポインタだった気がするんだけどまぎらわしいようそうでないような
- 796 名前:788 [2008/02/07(木) 02:19:19 ]
- >>795
試してみたら、構造体ではthisは普通にポインタみたいです。
- 797 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:27:40 ]
- synchronized ( Expression ) ScopeStatement
これの存在意義がわからないです・・ どなたか教えていただけますか
- 798 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:28:04 ]
- Object lock = new Object;
void foo() { bar; synchronized(lock) { hoge; fuga; piyo; } buz; } とかでメソッド全体よりも細かい単位でロック制御できる
- 799 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:42:34 ]
- >>798
横レス失礼 それって、Mutexとどこか違うの? 逆に、Tangoのtango.core.sync.Mutexって意味あるの?
- 800 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:47:00 ]
- ブロックから出れば勝手にロックが解除される
- 801 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:51:39 ]
- >>799
要するにMutexだよ。 tangoのMutexはsynchronized文での自動lock/unlockだけじゃなくて、 手動でもlock/unlock/tryLockが出来る www.dsource.org/projects/tango/wiki/ChapterThreading#Mutex
- 802 名前:799 mailto:sage [2008/02/07(木) 09:50:33 ]
- なるほど、ありがとう。把握した。
大した違いはないけど、より細かいことがやりたかったら synchronized ( Expression ) ScopeStatement だの、Mutexクラスだのを使えってことか。
- 803 名前:797 mailto:sage [2008/02/07(木) 11:41:03 ]
- なるほど、Mutexとして使えばいいのですね
ありがとうございました
- 804 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:04:54 ]
- この俺をさらに強固なアンチMSにしてくれたね。
痛い目を見るよ、この結果は。
- 805 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:20:34 ]
- でもぶっちゃけお前スライムより弱いべ?
- 806 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:50:19 ]
- かたやMSは絶好調時のムドーより強い
- 807 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:53:13 ]
- Descent 0.5.1
- 808 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:33:18 ]
- tangoの日本語ドキュメントは、何処かで公開されてないですかね?
- 809 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:50:21 ]
- Descentつかってる方におききしたいんですが、
デバッグ機能としてのbreak-pointや、watchもばっちりなんですか?
- 810 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:51:32 ]
- >>808
今のところこの二つしかない ttp://shoo.s20.xrea.com/shoo/programing/ ttp://f17.aaa.livedoor.jp/~labamba/?tango
|

|