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の入門講座)
237 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 15:41:16 ] void hoge(ref const real r) { } void main() { real r; hoge(r); } dmd止まる\(^o^)/
238 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 19:02:40 ] >>237 その類のバグは既に報告されている気がする
239 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:07:52 ] phobosのrepositoryが全然変化ないなあ
240 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 21:35:10 ] tangoでFIFOが高速に扱えるcollectionってないのかな? 最初ListSeqがそれかと思ったがこれはなんかLIFOのみ高速に扱えるみたいで… なんかC++のSTLのlistとかに比べると使い勝手悪い感じだなぁ…
241 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 09:34:19 ] phobosのtrunkに単方向リストSList(T)が追加される兆しがあるよ まだprivateらしいけど
242 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 13:31:24 ] SListは最新版DMDに入ってるじゃん。
243 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:20:38 ] あれ・・・編集したってだけか
244 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 12:04:30 ] Dがでてきて結構たつのに未だにコンテナすら整備されてないんだな STLを置き換えられる程度には用意して欲しいもんだ
245 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 12:32:34 ] 壮大なDTLの計画が現在進行中だが、 あまりにも壮大すぎて全く完成していないのが現状。
246 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 12:44:52 ] ここでなんか寄せ集めのライブラリ作ろうぜ 必要なときにdファイル落としてプロジェクトに組み込む系のやつ
247 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:12:01 ] DTLのプロジェクトってもう動いてないんじゃ・・・ スマートポインタはGCあるからいらないとして(ほんとに?) 主要なコンテナとアルゴリズムくらいでいいや あわよくばストリーム系まであれば万万歳
248 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:15:03 ] tangoでいいじゃん
249 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 16:08:22 ] イテレータクラスのかわりにopApplyがあると思ってたんだけどopApply自体あんまり融通利かないんだね
250 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 19:01:08 ] Javaを参考にAPIのインタフェースだけ揃えりゃライブラリも揃えやすいはずだけどね。 D自体、言語を枯らそうという気が皆無だから、ライブラリなんて作れないってのもあるかも
251 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 21:01:16 ] >>248 Phobos上でやりたいよん
252 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 21:08:34 ] tangobosでおk
253 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:29:53 ] Phobosって、設計とか何も考えずに、このぐらいの機能はいるだろって感覚だけで作っていった印象があるべ。 もうちょっとスマート(に拡張できる)設計をしてくれればなあ。
254 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:52:54 ] まあ、そのためのtangoだろう
255 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 00:20:40 ] Dってどのへんが支持してるの?
256 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 00:28:32 ] このスレ
257 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 01:55:59 ] ttp://www.tiobe.com/index.htm?tiobe_index なかなか10位以上にはなれないが頑張ってるよ
258 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 04:33:37 ] (ダリオ戸田の声で)辞書猫の Tango だっす!
259 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:57:48 ] >>257 ほんとだ もっとがんばれ。超がんばれ。
260 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:10:51 ] というかperlってpythonより下なんだ・・・早いなぁ
261 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:35:15 ] >>257 Lua上がりすぎw
262 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 00:39:29 ] 1%未満から1.6%に増えるとか大健闘だな やっぱいつまで経っても正式版が出ないから敬遠する人間が多かったんだな
263 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 11:54:51 ] Dより上になんか壁を感じるw メジャーの壁というか。「ここからが本当の地獄だ……!」みたいな。
264 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 12:25:17 ] 最強のライブラリと伝説のIDEが現れればC++なんて目じゃないよ。
265 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 12:42:36 ] 俺もpythonの位置に違和感があるなあ
266 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:49:10 ] >>264 そりゃすべての言語にいえるんじゃね?
267 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:55:24 ] いずれ日本語を正しく扱うクラス要るし早めに作っとこうぜ
268 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:13:51 ] Phobosってcharsetをサポートしてないのな。 windowsのコードページ変換のみサポートしてる感じか?
269 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 20:42:09 ] MangoにICUのD-bindingあった気がするんだが
270 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:29:13 ] こういう特殊化できるようにならないかな。 void func(T : function)(T f) { f(); }
271 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:57:02 ] 現状だと、aliasで受けるしかできないんだっけ。
272 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 01:48:32 ] どんなに仕様や実装が素晴らしくても>>264 が駄目だと結局駄目なんだよね・・・
273 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 14:05:36 ] その言い回しだと>>264 が駄目な人間みたいじゃないかw
274 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 14:18:51 ] ライブラリはともかく、IDEに頼るのは駄目ジャマイカ?
275 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 14:21:06 ] 仕様や実装が固まらんかぎり良いIDEは出てこないんじゃね?
276 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:11:41 ] いつのまにかクラスをtypedefできるようになってた・・・orz ついにこう書けるんだね・・・! つーかいつできるようになったんですか>< //class HogeError : Error { // this(string msg) { // super(msg); // } //} typedef Error HogeError;
277 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 19:50:45 ] 継承関係はどうなるの? 何か派生だとしっくりこないし、同じ実装を持つ他人になる?
278 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 21:02:38 ] 全く同じClassInfoを持つけど、オーバーロードでは区別され、 typedefもとの型には暗黙変換できる型 になるみたい。
279 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 21:32:36 ] 説明だけみるとなんかダウンキャストできなさそうだな。 出来なくてもいいけど。
280 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 09:04:31 ] 同じClassInfoをもつのに、ダウンキャストできないってことある?
281 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:09:41 ] D2.008 Exceptionから、fileとlineがきえた えぇぇ・・・
282 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:56:33 ] >>281 外部にリリースするものとして、ファイル名だの行番号だのが入っているバイナリってどうなの? と思っていたから別にそれでいいと思う。 でもデバッグ時にはほしい情報だよね。
283 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:13:31 ] VistaSP1のdfrgntfs.exeなんかはもろにソースファイルのパスとかが入ってる 評価版だからだと思うけど
284 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:14:30 ] >>282 伝説のIDEが現れれば例外発生元を突き止めてビジュアルに表示してくれるよ!
285 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:54:31 ] 罠D
286 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:57:09 ] MSがVisualStudioで出せば・・・ 万が一にもありえんか
287 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 21:55:09 ] MSがVisualStudioで出すことになれば仕様策定の遅さに苛立って 独自拡張を続け、ライブラリもMS独自のものが出来上がるだろう。 そう思うと当初のJavaと同じ問題抱えているな・・・
288 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 22:02:25 ] MS Visual D# ... それはそれでよさそうな気がしないでもない
289 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 22:10:23 ] ネイティブバイナリ吐かないDなんてC#でいいじゃん・・・
290 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 22:13:12 ] それならVisual D/CLIで…
291 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 23:15:56 ] >>290 /CLI の部分はいらねえー
292 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 23:23:02 ] >>274 IDEが何やってるのか分かる限りは、むしろIDEもライブラリも「使うべき」だと思う。 とeclipseのリファクタリング機能に味を占めたヘタレの俺が言ってみる。 強い型付けとかコンパイルの早さとか、IDEがあると生きてくる言語だと思うから余計勿体ないのよね。 しかし、年の瀬も押し迫ってきたな…… 去年の1.0への期待でwktkしながら年を越したっけなぁ。 来年のDは果たしてどこへ向かうことやら。 正月にはお空の火星に向かってみんなでお祈りだ。
293 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:40:03 ] 1月1日にv1.001が出たんだっけ? あれ?
294 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:57:25 ] じゃあきっと、あと2週間で3.001がでるな。
295 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 19:16:59 ] もうそんなになるっけ??
296 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 19:22:03 ] 0.99リリース ↓ ついに1.0が来るぞー! ↓ 0.100リリース ↓ (゚д゚) は2004年頃だったっけ?
297 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 19:52:33 ] 次のバージョンうpまだー
298 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 23:00:24 ] static foreachまだかお?
299 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 23:20:22 ] import std.metastrings; pragma(msg, Format!("%s%s", 1, 2)); %sが直に出力されちゃうんだけど、使い方間違ってる?
300 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 23:33:08 ] >>299 2.008ではうまく動いてないように見えるなあ
301 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 01:07:23 ] >>299 semanticが呼ばれてないに一票
302 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 17:01:27 ] MC++DのアンドレイがThe D Programming Languageって本書くよってさ ttp://erdani.org/ Andrei is working on "The D Programming Language" book, slated to hit the shelves in October 2008. His interest in the D programming language stems from Andrei's active participation in the design of D 2.0 as a close collaborator of D's creator, Walter Bright. あー 先週京都に来てたんだ Andrei will present the paper "Graph-Based Learning for Phonetic Classification" co-authored with Katrin Kirchhoff at The 2007 IEEE Automatic Speech Recognition and Understanding (ASRU) Workshop, December 9-13, Kyoto, Japan.
303 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:26:37 ] これは期待
304 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:58:32 ] 役に立つとか立たないとかじゃなく、好きな小説家の新作みたいに楽しみなんだけど、 これはちょっと妙な期待をしすぎかもしれんw
305 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 23:04:28 ] 日本語訳が出る頃には半分くらいコンパイル通らなかったりして そもそも日本語訳が出るかはさておき
306 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 23:29:16 ] 今時ならXMLベースでリソースファイル作ればいいんだけどね
307 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 01:03:37 ] >>302 本が出ることも単純に楽しみだけどこの文で一番気になったのは D2.0をOctober 2008頃には安定させるつもりだってこと
308 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 01:09:06 ] 3.0をリリースするってことだろw
309 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 05:52:34 ] ペロ・・・これは思い込み・・・!
310 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 05:53:14 ] 誤爆
311 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 22:08:33 ] 関数のインライン展開って何か条件ある? -inline オプションつけても全然効果無いんだけど。
312 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 22:27:27 ] インライン展開したら効率悪くなると判断されてるんじゃなかろうか
313 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 22:38:20 ] 逆逆。むやみにインライン展開されて逆に遅くなってるだけ。
314 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:37:29 ] -inlineつけたらどこまでインライン展開されるの? main以下全部ってわけじゃないよね
315 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:37:29 ] いやいや、例えば配列の境界チェックありで要素を取り出そうってので以下のような コードでテストしたらテンプレート化したほうは確実に遅いんだよね。-inline つけてもつけなくても。 size_t at(T)(T[] a, size_t i){ if( i < a.length ) return a[i]; else throw new ArrayBoundsException(null, 0); } void main() { char[] a = new char[64 * 1024 * 1024]; auto begin = timeGetTime(); for(size_t i = 0; i < a.length; i++) { if( i < a.length ) a[i] = a[i]; else throw new ArrayBoundsException(null, 0); } Stdout.format("{}", timeGetTime() - begin).newline; begin = timeGetTime(); for(size_t i = 0; i < a.length; i++) { a[i] = a.at(i); } auto end = timeGetTime(); Stdout.format("{}", timeGetTime() - begin).newline; }
316 名前:315 mailto:sage [2007/12/19(水) 23:40:33 ] で、上のコード実行すると最初のテンプレート化してないほうが 75ms ぐらいで、 下のテンプレート化したほうが 350ms ぐらいだった。-inline つけてもつけなくても一緒。 -inline つけたやつを逆汗したら当然展開されていなかった。
317 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:50:00 ] どうでも良い事でスマソ。 逆アセって事は、直接アセンブラを吐けないコンパイラなの?
318 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:47:37 ] ?? もっと平易な表現でお願い。
319 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 06:44:43 ] マイクロソフトって単位?
320 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 10:02:05 ] >>317 gdcは吐けるdmdは吐かない
321 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 22:01:20 ] dsss + Tango でリソースファイルをリンクするのにはどうするの? dmd-win-tangoとかdsss.confとか見たけどよくわからんかった…(´・ω・`)
322 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 22:48:22 ] >>320 thanx
323 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 23:09:21 ] dmdの場合はオブジェクトファイルをdmのobj2asmにかければ大丈夫じゃね?
324 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 13:48:13 ] 更新まだかなぁ・・・
325 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 00:40:57 ] >>324 じゃあこれで。 Tango 0.99.4 Frank has been released.
326 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:32:51 ] D言語ってJavaのJFrameみたいに簡単にウインドウ出せるの?
327 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:14:41 ] AWTのD-portingのDWTを使ってみるとか。
328 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:04:45 ] DFLならこう // www.dprogramming.com/dfl.php import dfl.all; int main() { Form myForm; Label myLabel; myForm = new Form; myForm.text = "DFL Example"; myLabel = new Label; myLabel.font = new Font("Verdana", 14f); myLabel.text = "Hello, DFL World!"; myLabel.location = Point(15, 15); myLabel.autoSize = true; myLabel.parent = myForm; Application.run(myForm); return 0; }
329 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:43:29 ] tango の最新版、日付・時刻関連が少しすっきりしたけど、まだ手の入る余地がありまくってるな。
330 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 03:17:45 ] >>327 DWTはSWTよ あと開発止まってるぽい
331 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 04:52:40 ] とりあえずTango0.99.4のtango.util.Convertの792行目あたりがあやしい。 returnで返さないっぽい
332 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 14:06:20 ] DFLは付属のdfl.exe使わされるのが嫌で使ってないなあ dmd.exeだけでできたい!
333 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 14:08:07 ] dmdでも長ったらしいオプションつけるか、応答ファイル書くかしておけばいけるでしょ。
334 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 22:14:13 ] 寧ろDFLのモジュールとlib以外の使い道知らんかった
335 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 21:57:56 ] ヲルたんからのクリスマスプレゼントwktk
336 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 22:36:16 ] 実際もうじき約一か月たつし、先月と先々月の更新の日付から見たら夢見てもいいかも? とりあえず全裸待機。
337 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 22:37:06 ] 風邪ひくぞ