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の入門講座)
209 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 00:02:08 ] やばい、今一理解できない orz import std.stdio; public class S { int mutable_num = 1; const(int) const_num = 20; const int const_num2 = 21; invariant(int) invariant_num = 30; invariant int invariant_num2 = 31; } void main() { S s = new S(); writeln("mutable_num: ", s.mutable_num); writeln("const_num: ", s.const_num); writeln("const_num2: ", s.const_num2); writeln("invariant_num: ", s.invariant_num); writeln("invariant_num2: ", s.invariant_num2); } -- output --- mutable_num: 1 const_num: 20 const_num2: 21 invariant_num: 30 invariant_num2: 4296960
210 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 00:03:25 ] >>208 それはinvariant記憶域クラスの変数の話で、 invariant型のauto変数のポインタの話には触れてないよね。 invariant int i; と invariant(int) i; は一応ちがうものだと思うんだけど。
211 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 00:11:29 ] 型がinvariantなのと変数がinvariantっていう違い?
212 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 00:13:26 ] >>211 そう。 現在の文法では、invariant型のデータを保持するミュータブルな変数が許されてる、様な気がする。
213 名前:208 mailto:sage [2007/12/04(火) 00:27:32 ] >>210 あ そうか 型と記憶域クラスで違うんだね・・・
214 名前:205 mailto:sage [2007/12/04(火) 07:16:49 ] >>207 ttp://d.hatena.ne.jp/haru-s/20071203/1196695054 まとめきた 超さんくす
215 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 14:22:33 ] const int i; const(int) i; が違うのは分かるけど。後者は使い道はないよね?
216 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 15:31:26 ] 関数の引数に使えたりしない? invariantでもmutableでも受け取れる・・・みたいな
217 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 20:02:39 ] メンバだと invariant int も const int もクラス変数に取られるみたいだけど invariant int がインスタンス変数としてアクセスするとどっかのアドレス返すのは何故だろう? constはメモリを使い、invariantは使わないという差なら、エラーにすりゃいいのに。
218 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 20:09:51 ] >>217 どういうこと?>>209 のこれのこと? invariant_num: 30 invariant_num2: 4296960
219 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 20:14:43 ] それそれ。仕様上、メモリにとられない=直値に置き換え?みたいだし、何が取れてるんだろうと。
220 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:31:52 ] それは、ただのバグじゃねえの? 俺の環境(2.008/windows)だと mutable_num: 1 const_num: 20 const_num2: 21 invariant_num: 30 invariant_num2: 31 となったが。
221 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:51:59 ] あらら
222 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:02:36 ] 2.007と008との間で対応入ってるみたいね。 const型がコンストラクタで初期化できなくなってるし、 今は使いこなそうと思わないほうがいいのかも。
223 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:01:33 ] じゃあ2.009待つか… マダァ-? (・∀・ )っ/凵⌒☆チンチン
224 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 16:31:44 ] 今月発売予定 (もう出てる?) の本 Learn to Tango with D apress.com/book/view/9781590599600
225 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 16:43:47 ] >>224 おお・・・すげえ
226 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 16:44:52 ] >>224 Amazon.co.jpによると発売日2008/1/28になってるよ。 ttp://www.amazon.co.jp/Learn-Tango-D-Kris-Bell/dp/1590599608/ref=sr_1_1?ie=UTF8&s=english-books&qid=1196840397&sr=8-1
227 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 17:15:50 ] どうせ3ヶ月くらいで古くなるんでしょ
228 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 17:17:55 ] Tangoまだ1.0も出てないのにw
229 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 20:43:43 ] 枯れてwxWidgetsが対応したら、気軽にクライアントに仕えるのにな
230 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 20:59:21 ] Tango・・Phobosと仲良くしてほしいなぁ
231 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 17:41:03 ] Ultimate Tangobos まぁ〜だぁ〜?
232 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 17:49:48 ] なんかStream.readf壊れてる気がするんだけど…
233 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 21:46:57 ] アルティメット・タンコボキバジとな
234 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 23:22:07 ] タンゴボスとガバスはどっちが偉いんですか?
235 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 03:28:13 ] 丹古母鬼馬二 ってなんだこのトンチンカンな名前。 具ぐれ化す。並の名前だなぁ。初めてきいたよ。
236 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 11:42:36 ] ja.wikipedia.org/wiki/%E4%B8%B9%E5%8F%A4%E6%AF%8D%E9%AC%BC%E9%A6%AC%E4%BA%8C 今日日、小学生でもこんな稚拙な文章は書かないぞw
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 ] ペロ・・・これは思い込み・・・!