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)
46 名前:デフォルトの名無しさん [2011/08/27(土) 19:20:40.92 ] D言語(笑)
47 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 19:41:53.47 ] Javaはそれなりに成功というか普及したのに Dはなんでこうなった
48 名前:デフォルトの名無しさん [2011/08/27(土) 19:48:08.21 ] 俺が見放したから でも次の規格ができたら戻ってくる予定
49 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 21:18:20.12 ] えっ
50 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 22:13:43.65 ] 営利企業のものではなくて、コミュニティのものだ。 これ、メリット、だよね?ね?
51 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 02:27:20.38 ] でも何故か開発がクローズドなんだよねw
52 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 02:35:57.75 ] 言語仕様がオープンなら可能性はゼロじゃない
53 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 18:15:36.32 ] Oops! Internet Explorer could not find www.digitalmars.com
54 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 18:23:16.47 ] D言語おわた?
55 名前:デフォルトの名無しさん [2011/08/28(日) 18:52:29.50 ] 始まってもいないよ
56 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 22:03:21.67 ] 直ったな
57 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 23:07:50.42 ] $ type test.d import std.conv; void main() { parse!int("42", 10); parse!int("-42", 10); } $ dmd -run test.d std.conv.ConvException@std\conv.d(38): std.conv(1209): Can't convert value `-42' of type string base 10 to type int (゚д゚)
58 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 00:39:59.77 ] unittestからして負数考慮してねえ・・・
59 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 04:31:43.83 ] win版の仕様です
60 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 10:29:28.12 ] ただ勝ちあるのみ
61 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 20:23:58.29 ] std.dateをimportして、parseとtoUTCStringとtoDateStringを使ったら、toDateStringのみタイムゾーンが違うようです。 parseやtoUTCStringと同じタイムゾーンで使うにはどうすればいいのでしょうか? std.datetimeへの移行は、未翻訳のドキュメントを読むのがつらいので、できれば今は避けたいです・・・。
62 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 21:01:16.79 ] でもstd.dateは消滅するんじゃないかなあ バグだとしても修正されなさそうだし
63 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 21:12:42.59 ] どうせ同じコードを数ヶ月先まで使おうなんて思うわけ無いしstd.date使ってもいいだろ
64 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 23:19:39.54 ] そのりくつはおかしい
65 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 23:34:37.76 ] 30年も持つソフトを作ろうとは思わないだろう? Dは他言語の100倍の速さで時間が流れている そういうことだ
66 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 23:57:47.07 ] 自分は考え方を変えた 30年も面倒見れないわ もし30年もメンテするなら 途中で誰かに引き継ぐ必要があるが Dなんて普及しないもん誰が使いたがるんだ
67 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 00:28:49.81 ] 使いたがらせる必要性について
68 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 01:16:46.24 ] 使いたがる人間性について
69 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 01:33:11.65 ] 個性
70 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 03:11:57.12 ] というか30年の歴史持ってる言語がCとfortranくらいしかなんじゃないか… lisp辺りもいけるかよくわからんけど
71 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 03:14:04.45 ] COBOL
72 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 03:14:52.37 ] hibari.2ch.net/test/read.cgi/tech/1098953121/829 うむ…C意外と若かったな
73 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 14:36:07.12 ] こんなの思いついた 引数でenum定義できたら面白そうじゃね? void hoge(enum { a, b, c } type) { writeln(type); } hoge(type.b); とか
74 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 14:43:23.64 ] それ呼び出し側のカッコの中だけ 名前空間変わるの? オーバーロード・オーバーライドも難しくなりそう # 本音はIDEがつくりにくくなるから反対
75 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 15:24:51.56 ] 引数のtype.bはどこから出てくんのーとかな 俺も反対
76 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 15:33:16.01 ] いっそ多相enumが入ればいい。 void hoge(enum { a, b, c } arg); void foo(enum { c, d, e } arg); hoge(enum.c); // {a, b, c}集合の中のcとして解釈 foo(enum.c); // {c, d, e}集合の中のcとして解釈 void bar(enum {a, b, c, d, e} arg) { final switch(arg){ case enum.a, enum.b, enum.c: hoge(arg); break; //argは{a,b,c} case enum.d, enum.e: foo(arg); break; //argは{d, e} } } Dに型推論は無いので所々キャストが必要になるかもしれない。
77 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 17:14:03.26 ] void bar(enum {a, b, c, d, e} arg) { enum {a, b} aaa; switch(arg){ case enum.a, enum.b, enum.c: hoge(arg); break; //argは{c} case enum.d, enum.e: foo(arg); break; //argは{d, e} } } ますます酷くなるな
78 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 18:27:00.51 ] そんなの実装する変態言語なんてあるわけない 強いていうならどこかのDとかいう言語くらいだな
79 名前:デフォルトの名無しさん [2011/08/31(水) 04:25:42.91 ] D言語で作られた有名なソフトとかあんの?
80 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 04:44:11.30 ] いりす症候群とか
81 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 06:27:25.57 ] ecmascript+html5→アプリケーション JavaVM|dotNet→ローカルデータ処理、OS管理 ruby|python→操作簡略化、シェルスクリプト 後は高速処理特化言語で並列化だろうな プロセスとパイプを扱えるライブラリがあれば シェルスクリプトの代わりもできるかもしれないけど mainが邪魔すぎる
82 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:20:17.47 ] いつの間にかKindleStoreでD言語の公式仕様書が2.99ドルで売られてるけど大丈夫なのかこれ
83 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:25:06.26 ] ウォルターがキレたら仕様変更があるだけだから問題ないね
84 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:27:01.60 ] TDPLじゃなくて d-programming-language.org/ そのままかと思ってるけど
85 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:30:33.00 ] TDPLって何? 東京ディズニープアーランド?
86 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:38:41.22 ] ttp://www.walterbright.com/ ここからリンク張ってあるくらいだから本人の副収入だべ >>85 ttp://d.hatena.ne.jp/repeatedly/20110506/1304651110
87 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:47:19.55 ] The D Programming Language ああこれね
88 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 21:48:37.15 ] 2.055まだ?
89 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 23:52:22.85 ] >>81 ecma⊂html5
90 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 00:06:15.13 ] ecmaはecmaだろ jscriptだってecmaの処理系だぞってスレ違いか
91 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 07:36:26.51 ] 近い将来javascriptに変換、あるいはインタプリタ実装できてない言語は廃れると思う windowsユーザーよりもhtml5対応ブラウザユーザーの方が多くなるだろうから ウェブアプリを開発できない言語は先生きのこれない
92 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 07:46:43.91 ] ブログにでも書いてろ
93 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 11:51:41.61 ] ハハハワロス 組み込みみたいにシビアな世界ではそんなもの通用しないから
94 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 12:32:34.70 ] 出た出た「○×みたいにシビアな世界」 そのセリフを吐きながら新しいものを全く吸収できず自滅していった技術者が 過去どれだけいたっけかな。 メインフレーム以外はおもちゃと断じていた奴 ゲームは機械語プログラミングが全てと信じていた奴 etcetc
95 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 14:36:10.97 ] みんなでD言語を普及させようぜ。 そのためのキラーアプリを作ろう。 どんどんアイディアを言ってくれ!
96 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 14:37:10.14 ] 普及しなくてもいいんじゃね派が多数
97 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:17:22.92 ] それでもD言語のキラーアプリは、一つや二つくらいは必要
98 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:18:03.47 ] ひさしぶりにきのこ先生みた
99 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:19:21.88 ] Dでjavasriptコンパイラ作るか
100 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:34:41.72 ] >>99 それイイね!
101 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 17:08:33.53 ] 忘れられたDMDScript・・・ www.digitalmars.com/dscript/
102 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 18:33:00.23 ] Go を思い出してしまった あれどうなったんだろ
103 名前:デフォルトの名無しさん [2011/09/02(金) 18:55:36.22 ] >>101 すまぬ・・・すまぬ・・・DMDScriptよ・・・。 他の考えようか。
104 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:03:35.86 ] Dでプログラミングしたら javascript吐くのとかは無理?
105 名前:デフォルトの名無しさん [2011/09/02(金) 19:22:06.05 ] 日本語でおk
106 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:30:34.83 ] D言語からJavaScriptへのトランスレータみたいなものは、有名なものは 多分まだない。
107 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:37:08.27 ] >>104 いまから>>106 を作ろう!
108 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 00:32:31.91 ] Webアプリケーションを作ればいいと思うよ
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 は間違いだった反省している むしろ今までコンパイル通ってたのがおかしかった