1 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 06:02:12.35 ] プログラミング言語 D (D Programming Language) について語るスレッドです。 ■前スレ D言語 Part27 hibari.2ch.net/test/read.cgi/tech/1303022487/ ■本家 www.digitalmars.com/d/ www.d-programming-language.org/ (ドキュメント) www.kmonos.net/alang/d/ (和訳) ■コンパイラ www.digitalmars.com/d/dcompiler.html (DMD, 本家) dgcc.sourceforge.net/ (GDC, gccフロントエンド) www.dsource.org/projects/ldc (LDC, バックエンドにLLVM) ■参考URL f17.aaa.livedoor.jp/~labamba/ (D言語研究) f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF) dsource.org/ (dsource) tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0) www.kmonos.net/alang/wnd/ (わかったつもりになるD言語) shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか) shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座) www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画) www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games) dusers.dip.jp (D言語友の会) www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)
109 名前:デフォルトの名無しさん [2011/09/03(土) 00:37:34.13 ] 仕様変更がまだ怖いから来年本気出す
110 名前:デフォルトの名無しさん [2011/09/03(土) 01:09:52.05 ] 仕様変更が怖くて何でD使ってんの?
111 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 01:30:14.23 ] 将来性があるから
112 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 02:42:20.53 ] 仕様変更しない言語なんて無いだろ CもC++もC#もObjective-CもJavaもJavascriptも何らかの形で常に仕様変更してるよ
113 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 04:33:27.18 ] CやC++の仕様変更周期はまるで亀の一生だが、DのそれはCエレガンスの寿命みたいなもんだ。
114 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 15:45:15.15 ] 5年前に書いたDプログラムを今コンパイルしたら全部の行でエラー出るんだろ そんな言語使えるか
115 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 15:49:21.61 ] 仕事増えていいじゃん
116 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 16:04:31.69 ] 古いバージョン使えばエラーでないよ^^
117 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 16:26:12.12 ] 全部の行は無いだろ '}' だけの行とか絶対出ないし 総合的に見てもせいぜいエラー率150%くらいのもんだろ
118 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 21:19:29.59 ] 関数の引数に「in」って付けたとき、昔はC++で言うconst参照の意味だったと思うのだけど、今はそうなってないのはバグ? 関数の引数に「scope」って付けても何も変わらないような気がするけど、値渡しで「const scope」無意味じゃない?
119 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 21:24:35.44 ] enum str = "a"; str = "b"; 代入できちゃうな これってバグだよね
120 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:22:46.45 ] 出来ないけど何言ってるの? ideone.com/AjSpV
121 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:31:49.86 ] そのコンパイラ一周りも古い 肩の力抜けよ。ここはDスレだぜ
122 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:32:53.43 ] ideoneがランタイムエラーになっているのはlinuxだから。 windowsだと普通に代入できるよ。 そもそも、そこは「Error: constant str is not an lvalue」とコンパイルエラーになるべき。
123 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 15:22:59.79 ] 2.055
124 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 15:51:47.98 ] キターーーーー
125 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:04:26.57 ] というのはガセ
126 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:08:01.13 ] ライオンとピーマンを追加してカロリー0の豆腐を考慮に入れたらしい
127 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 19:38:22.26 ] 圧倒的じゃないかdmdのバグ量は…
128 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 22:00:36.32 ] バグを作る為に新機能を追加してるんだってば D使いのくせにそんな事も知らないの?
129 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 23:32:21.70 ] コンパイラやライブラリだけじゃなくユーザコードもバグらせるDさん
130 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 23:37:03.05 ] そういう時はバージョンを戻せば大丈夫でしょw
131 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 22:40:09.84 ] ttp://techtarget.itmedia.co.jp/tt/news/1109/08/news04.html Tangoはじまったな
132 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 01:49:26.32 ] itmediaとな…その時点で、D関係ねぇな… うん関係なかったな
133 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 02:20:33.13 ] >> 57 d.puremagic.com/issues/show_bug.cgi?id=6609 Bugzillaに登録して https://github.com/D-Programming-Language/phobos/pull/250 Pull request出した
134 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:02:33.69 ] D言語はJavaやC#が後方互換性を維持してる意義がよく分かる言語だな もはやぼくのかんがえたさいきょうのぷろぐらみんぐげんご
135 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:37:41.65 ] >>133 乙なんだな bitbucketばっかり使ってるけどgithubにもアカウント作っとこうかしらん
136 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 14:45:07.68 ] おい2.054から2.055にしたのにoverride:がthis()にかかってるとか どうして今までコンパイル通ってたのかわからないような部分を修正しただけで動いちまったぞ どうなってるんだ?Dはもう終わっちまったのか?
137 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 14:46:17.98 ] 焦らしプレイか……。
138 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 16:44:42.91 ] うひゃあ、getExt()をextension()に変えたりfnmatch()をglobMatch()に変えたりしてたら 途端に何もかも動かなくなった びっくりするほどユートピア!
139 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 18:08:47.95 ] 俺のソース上のstd.algorithm.removeがコンパイル通らなくなったから どこが悪いのかとunittestと比較しようとしたら unittestからコピペしてきたのもコンパイル通らなくてワロタ
140 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 18:12:19.45 ] まさにD!
141 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 19:55:30.77 ] std.path の変更はただのリネームじゃなかった気がするが ・・・と思ったらレファレンスが更新されてNEEEE!
142 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 20:27:51.43 ] unittestが仕様です は罠
143 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:10:10.61 ] D back in top 20! ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html?a
144 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:42:16.19 ] void main(){} 2.053 => 146,972 バイト 2.054 => 149,532 バイト 2.055 => 150,556 バイト 順調にむくんでいってる
145 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:58:32.44 ] そのうち150,550 byteくらいはGCなんだろうな
146 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:58:49.27 ] >>139 は間違いだった反省している むしろ今までコンパイル通ってたのがおかしかった
147 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 22:45:55.54 ] globMatch()はなにかおかしい…。たまにglobMatch内でAssersionFailure起こす。
148 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 22:56:47.36 ] なんか053から055にバージョン上げたら文脈によってnewで落ちるようになった またGC周りの何かの予感が 自分のバグならいいけど・・いやいくないけど
149 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 23:02:01.31 ] >>147 '['が含まれてるパスがおかしいのは確認した というか'['とか普通にパスに使える文字じゃないの?なんなのこの仕様
150 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:06:28.19 ] 第2引数何指定してる?
151 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:38:38.06 ] >>149 UNIX系のシェルだと、[ABC]でAかBかCのどれか、みたいなワイルドカードが使えるものがあるんだよ。 ……本当に'['を指定したい時のための記法は用意されてるんだろうか。
152 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:46:08.96 ] fnmatch()には「エスケープはできません(キリッ」と書かれてのけぞったが replace("[", "[[]")でなんとかなった glabMatchはそれやるとassertで落ちる
153 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 05:03:12.23 ] globMatchの第2引数では[]{}は特別な意味持ってるから開きと閉じの個数が合ってないと落ちるよ、てか落とすよ
154 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 05:20:47.30 ] D言語のライブラリ、Tangoの次はMank(ry
155 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 08:35:13.32 ] 大人しく普通のワイルドカードで比較するか
156 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 08:45:34.34 ] そのうち例外出すように変わるだろうね
157 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 09:40:41.88 ] 男らしく副作用が多すぎて使い物にならない関数の代表を目指してほしい
158 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 09:55:54.49 ] strtokさんを超えてくれ
159 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 17:34:05.26 ] ドキュメントは d-p-l のサイトだけ更新されたな やっぱりこっちが本家なのか 日本語との照会がしづらくなるのう
160 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:06:34.25 ] public auto hoge() @property { return 0; } これがコンパイル通らないのって仕様?@2.055 public int hoge() @property { return 0; } や public auto hoge() { return 0; } はもちろん通る
161 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:08:59.49 ] std.path.getExt() -> extension() の危険な罠を回避した 手をつけるのを遅らせておいてよかった・・・
162 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:10:02.59 ] @property { public auto hoge() { return 0; } } でとりあえずコンパイルはできるみたい。
163 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:14:38.02 ] >>161 あれどうしてあんな風になったんだろ?
164 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:25:14.51 ] 元の getExt() にドットが含まれない方が違和感あったから 俺はこっちがいい
165 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 19:25:24.14 ] static if (__VERSION__ < 2055) { std.algorithm.sort!"std.path.fcmp(a.name,b.name)<0"( list ); } else { std.algorithm.sort!"std.path.filenameCmp(a.name,b.name)<0"( list ); } こういうのをもっと簡単に書けないものか・・・ alias pred UZEEEEEEE
166 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 20:08:22.80 ] 何度もやるならalias使うしか
167 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 20:52:58.99 ] std.path.rel2abs(".") -> absolutePath(".") も罠だった カレントディレクトリ取る方法が他にあれば・・・
168 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 21:24:59.46 ] std.file.getcwdでええんちゃう? なんでstd.fileなのさ
169 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 00:53:14.41 ] やっぱりあるんだね Windowsユーザにその名前は盲点だった そして最新のドキュメントからは消えている・・・
170 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 02:11:28.75 ] >>168 std.file と std.path は統合してもいいんじゃ?と時々思う。 分かれてるもっともらしい理由を以前ここで見た気がするが忘れた。 ttp://ideone.com/t2Ym9 2.055のバグ(?)かと思ったけど、Ideoneの出力もなんか予想と違うような…
171 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 02:56:25.22 ] システムコールを必要とするものしないもの、かな?妄想だけど ……だったらrel2absの意味がわからんか
172 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 01:44:39.54 ] 原因不明でnewに失敗するんだけど core.memory.GC.disable();すると落ちなくなる、、 何これ、、、、、
173 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 10:23:55.95 ] >>172 どっか別のオブジェクトのデストラクタが意図せぬ順番で走るパターン とエスパーしてみる
174 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 10:28:40.15 ] ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html TIOBE 順位の躍進の理由は C++11に注目が集まって、それと比較するためとにらんでいる D = C++11 と混同した層とかそういうデマとかもたくさんあったに違いない だから2〜3ヶ月もすると(ry
175 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 19:32:09.37 ] 0.2%増えたのって大きいのか小さいのか
176 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 20:12:33.24 ] ぐらふを見るべき ttp://www.tiobe.com/index.php/paperinfo/tpci/D.html
177 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 21:03:17.40 ] 数年前に何があったんだってばよ
178 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 21:45:57.54 ] 2007年正月のはver. 1.00発表 やっと正式版になったかと思ったのも懐かしい思い出
179 名前:デフォルトの名無しさん mailto:sage [2011/09/14(水) 02:13:15.18 ] >>174 単純にAndreiの入門書が出たからだよ。 大規模C++ソフトウェアデザインの著者だからネームバリューが凄い
180 名前:デフォルトの名無しさん mailto:sage [2011/09/14(水) 13:16:56.89 ] MC++Dかと
181 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 00:36:33.06 ] ねえねえ、今のPhobosってどのくらい強力って感じなの?
182 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 01:32:20.67 ] std.c.stdioのprintfまじ強力
183 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 09:33:30.30 ] mapファイル出力して中身を見ると 16384バイトごとに必ず文字抜けする このバグ、誰も報告してないんやろか・・・
184 名前:183 mailto:sage [2011/09/15(木) 10:00:52.37 ] 補足 OPTLINK (R) for Win32 Release 8.00.12
185 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 17:48:44.11 ] 取り合えず報告してみて 報告済みなら誰かが重複マークをつけてくれると思って書いたらいい
186 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 18:04:45.48 ] バグがコミュニケーションの輪を広げるんだよ!! D言語はウォルターの人間愛でできてるんだよ!!!
187 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 18:09:28.85 ] むしろ、D言語の存在そのものがバグ
188 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 18:52:07.48 ] 書いた d.puremagic.com/issues/show_bug.cgi?id=6673
189 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 19:38:16.95 ] D言語友の会 dusers.dip.jp/ 久しぶりに覗いたらChangelogがちゃんと日本語化されててワロタ というか、日本語で解説見るまで toUTF16z → toUTFz になったの気づかなかった 有志には乙と言わざるを得ない
190 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 19:47:51.72 ] toUTF16zの代替はtoUTFz!(wchar*)であることに気付かなくて一瞬阿鼻叫喚になったんだ 友の会の中の人は本当に乙だな
191 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 19:54:08.98 ] お、DWTアプリにクラス1個追加したら-gつけた時に出るようになったOPTLINKのエラーが もう2〜3個クラス追加したら出なくなった
192 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 23:51:38.45 ] .NETはオワコン
193 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 01:22:45.57 ] opDotに@propertyつけてなかったが為に起きた、segvもせずにでたらめな値を返すバグに、数時間はまってた。 しかも単純なコードだと再現しねぇ(dmd2.055win)
194 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 01:56:45.22 ] え、詳しく
195 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 06:22:39.75 ] Dもやろうと思えばJITコンパイラ書けるよね。 Safeモードもあるし。
196 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 10:33:12.82 ] -safe は犠牲になったのだ・・・
197 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 20:00:06.39 ] Phobos「-safe? -property? 何のことです?」
198 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 20:06:21.46 ] memory safe D って -safe もろとも消えたと思ってたけど SafeD ってのは別物なの?
199 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 17:18:52.43 ] え?safeなくなったの? propertyはまだあるよね?
200 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 17:47:43.97 ] -safeは無くなったみたい phobosさえ使わなければちゃんと機能したのになぁ…
201 名前:デフォルトの名無しさん [2011/09/17(土) 19:51:10.43 ] さーてOS作るか
202 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 21:01:55.83 ] OSのバージョンアップ頻度 < 開発環境の更新頻度
203 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 21:03:29.02 ] DのOSか 名前はDOSで決まり
204 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 21:22:36.14 ] あ、DOSを使っててC言語を思いついたのかもね
205 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 23:02:18.83 ] >>194 すまん。193は勘違いだった。今やったら再現しないわ。 スレよごしてごめん
206 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 23:08:27.23 ] Dだから実は勘違いでない可能性大
207 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 03:40:06.23 ] opDotなんて使うのか? もはやalias thisだろ
208 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 09:55:18.32 ] WinRTに対応したら ネイティブ言語としてのまさかの覇権があるかもよ
209 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 10:03:19.85 ] ではまず WinRTから SJISを排除するところから