- 1 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:10:24 ]
- プログラミング言語 D について語るスレッドです。
過去スレは >>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://www.sun-inet.or.jp/~yaneurao/dlang/ ttp://wisdom.sakura.ne.jp/programming/d/
- 202 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 05:48:21 ]
- あげたら迷惑なの?
- 203 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 08:00:22 ]
- >>200-201
D言語をいじくる夏休みとはうらやましいかぎりだぞ
- 204 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 08:30:08 ]
- gdcはどうなってるんだい?
- 205 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 09:42:02 ]
- DFL 0.9.6 リリース
- 206 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:18:16 ]
- >>205
ちょっとコントロールが追加されたくらいかな
- 207 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:30:28 ]
- コンパイラにコンテンツアシストの支援機能を早く組み込め。
そしたらあっという間に普及するから。
- 208 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:36:51 ]
- こんな言語仕様が不安定な言語は普及しないよ。
D が流行るのは言語仕様が安定してからでいい。
- 209 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 02:16:30 ]
- つまりヲルターが死ぬまで流行ることはないということか
- 210 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 02:28:35 ]
- つまり、Rubyは、Matzが死ぬまで流行ることはないのだろうか
- 211 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 02:41:25 ]
- デリゲートリテラルの引数の型を推論できるようにならんかなあ。
void func(int delegate(int) dg); func( (i) { return i * 2; } ); とか、願わくば func(i => i * 2); とか書きたい。
- 212 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 05:41:35 ]
- 後のほうの記法がきもい
- 213 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 07:00:49 ]
- 素人乙
- 214 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 08:36:05 ]
- ラムダ記法はほしい
- 215 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 08:47:55 ]
- >>211
現状の戻り値推論だけなら、要求されているdelegate型と 生成したdelegate型が異なれば型エラー出るけど、 なんかその推論をやっちゃうとエラーの元になりそうだな。 むしろ仮引数名の方を省略したい。 (int){return @int * 2;} みたいな。 普通の関数でも省略できるとなおよし。
- 216 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:05:43 ]
- 今のままでいいよ
下手に省略すると、人間もコードから内容を推論しなきゃならなくなるからめんどい
- 217 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:31:20 ]
- DとObjective-Cを混ぜてみたいな。スクリプト言語より強力になりそうな気がしてね。
- 218 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 17:10:17 ]
- Objective-C++は失敗作だったけどな
- 219 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:54:09 ]
- 開発環境>>ライブラリ>>>>>言語仕様
って感じで、D言語は3.0になったとしてもはやらなそう
- 220 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 20:14:16 ]
- ヲルタータンが「言語仕様はこれにて平定!」って言わない限り無理ぽ
- 221 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:38:42 ]
- これにて閉廷!
- 222 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:59:34 ]
- これにて閉経!
- 223 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 00:00:11 ]
- はたして、進化をやめたDに使う価値はあるのだろうか。
- 224 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 00:05:11 ]
- せめて処理系がほぼ下位互換でないと使う気にはなれんね
- 225 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 03:31:04 ]
- >>223
価値ないな… D言語は変り続けることが美しいのさ…
- 226 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:00:04 ]
- 罷り間違ってD言語が普及してしまったら
下位互換性を重要視するようになると思うよ
- 227 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:00:49 ]
- それは困る
- 228 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:02:15 ]
- そんときゃE言語作ればいいじゃない
- 229 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:03:32 ]
- それはいい言語になりそうだな。
- 230 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:05:05 ]
- >>229
- 231 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:24:35 ]
- >>230は尊敬しているようです
- 232 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:31:07 ]
- E言語はもうあるけどな
- 233 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 04:34:54 ]
- かなりのものは既に使われてるよな。
何か昔一覧を載せてるサイト(不正確に見えたが)があったけど、見つからない。
- 234 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 07:05:25 ]
- scope File("hoge.txt") s;
なんていう表現があったら時々便利そうだなあ いらんけど
- 235 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 13:15:47 ]
- >233
ttp://www.kmonos.net/alang/abc/ これか?
- 236 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 13:49:49 ]
- >>234
scope s = File("hoge.txt"); でいいと思うよ。
- 237 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 18:18:19 ]
- 更新マダー
- 238 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 18:22:54 ]
- こっちのスレは1年以上待って、もっと待つつもりで、実装はさらに待つつもりなのにおまいらときたら
ttp://pc11.2ch.net/test/read.cgi/tech/1149440647/
- 239 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 23:08:43 ]
- >>238
なんだか誠に申し訳ないw でもDはDで……仕様確定マダー? そいやDの仕様もだいぶ増えてきた感があるけど、 まだコンパイラの実装はC++ほど大変でもないんかな? だとしたらどっかに決定的な違いがあるんだろーか。 教えてC++の偉い人ー。
- 240 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 23:14:38 ]
- ウォルタたんがDの理念の一つに掲げているのに
「処理系の作りやすさ」があるから、そうなんだと思うよ。知らないけど。
- 241 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 02:22:03 ]
- だれかDコンパイラを自分で作ってる人とかいないのかな
- 242 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 02:25:12 ]
- 少し前にd.D.announceに自分で作ってみたとかいう人がいたような
- 243 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 15:01:01 ]
- >>227
なんかわろたw
- 244 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 17:28:29 ]
- >>238
もうD言語使えよと言いたくなる場面ばっかりでわろた
- 245 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:00:30 ]
- DもC++0xも永遠に完成しない
- 246 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:05:45 ]
- C++ユーザがもっとDに流れてくれたらいいのに
似たような言語に人的資源が分散してるのがもったいない
- 247 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:09:41 ]
- やはりここは「ぼくらの」形式で間引きだな
- 248 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:14:44 ]
- C++用のライブラリ作ってるけど、
Dポーティングを念頭に書き換え始めてる というかDで類似の仕様設計を書き始めてる でも.NET用のポーティングもありかなと思い始めたり D#マダー
- 249 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:36:03 ]
- 普及するしないの分かれ目は
もはや言語がどうこうってところじゃなくなってるんだけどね
- 250 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:39:05 ]
- ちゃんと標準がTangoに置き換わるまで実質ライブラリさえ作れないような状況だろ。
今作ってもどうせ作り直しになるし。
- 251 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:54:19 ]
- 本当に完全にTangoに置き換わるのなら、もうTangoでライブラリ作ればいいだけの話のような。
……本当に標準がTangoに置き換わるって信じてもいいのか?
- 252 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:01:02 ]
- >>251
それが信じられないから困る phobosがダメなところとTangoの良いところってどんなのがある? phobosはダメだダメだと聞くがあまり具体的には出てこなくて まずは文字コード周りかな
- 253 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:07:14 ]
- みんなエディタなに使ってるの?
- 254 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:28:40 ]
- 個人的には入出力関係はTangoの方が好きかなぁ
コンテナ(コレクション)についてもTangoがほしいね あと、ゆくゆくはTangoでXMLもいじれるようになりそう
- 255 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:31:31 ]
- ようやくTango1.0が出そうかなっていうときにもうD2.0だもんなぁ・・・・
- 256 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:47:39 ]
- D2.0ってなにそれはおいしいの?
と思う俺とForeachRangeStatementが2.0だけってことはそろそろ対応お願いしますという Walterタンの無言の意思表示なのではと思う俺と…
- 257 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 21:09:52 ]
- もうv1はバグフィックスだけだろ。
美味しい機能《えさ》はv2にしか提供されない。
- 258 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 21:52:10 ]
- そもそもTangoが標準になるって発言元はどこなんだぜ?
- 259 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:17:02 ]
- >>258
Tango製作陣からじゃないの
- 260 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:43:00 ]
- まぁTangoのほうがモノが良いなら自然に置き換わっていくんじゃね?
- 261 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:04:50 ]
- どっちかが完全に上位互換ならうれしいんだけどね。
混在できたっけ?
- 262 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:23:12 ]
- >>261
無理じゃなかったっけ。前に似た話出てた気がする。 もともと置換を目的に作られてるしなあ。 つか本当に>>255に同意。 なんでここで互換性ないバージョンとか出して既存ライブラリぶっちぎれるのかと。 Phobosお話になんねー、みたいな声はウォルたんに届いてないんだろうか。
- 263 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:51:04 ]
- ウォルタ「いや、他にやりたいことあるし…」
- 264 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:17:57 ]
- ウォルタ「ライブラリのためにDを止めたくないのくらいわかってくれるだろ」
- 265 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:29:21 ]
- ウォルタ「ライブラリが追随すればいいだろwwwww更新おせーんだよwwww」
- 266 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:41:46 ]
- ウォルタ「俺の勝手だろwwwwwwwwwwef9swccnj3」
- 267 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:44:39 ]
- 普遍条件にinvariant()って括弧がいるのはどうにかならんかなあ。
見た目が悪すぐる
- 268 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 08:36:17 ]
- >>267
気にしすぎじゃね? >>240あたりの理由で()付じゃないとダメだという可能性は?
- 269 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:03:23 ]
- ウ「本来のあるべき姿を追い求めた結果だから仕方ないだろ」
- 270 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:19:19 ]
- まぁdmd2.0のFinal Const Invariantの導入があるから整合性のために仕方がないよ。
struct{ final {int final_hoge = 0;} const {int const_hoge = 0;} invariant{int invariant_hoge = 0;} } これでinvariantだけ定数の宣言じゃなくて不変条件になると違和感が漂いすぎるし。
- 271 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 12:25:29 ]
- unittestにあわせて、ちょっと長いけどinvarianttestとかにしてくれりゃいいのに。
- 272 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:05:21 ]
- ちょっとD触ってみたんだけど試してみたいことがあってサンプルコード探して動かしてみようとしたら動かない、とかデフォ?
メッセージボックスに日本語出力するだけですげー時間かかって泣きそうだったわ あとみんなは開発環境何使ってるの? Eclipse+Descentでやってたらソースにエラーの赤線引いてあるけど見た目どこも問題ないしコンパイル通るし動作するしで微妙だった
- 273 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:11:49 ]
- >>272 D2.0系だとサンプルコードってほとんどないんじゃないかな
今公開されてるサンプルコードって大半がD1.0時代のものだと思う(しかも今のD1.0系で動くとも限らない) 少なくとも日本語の文書においては
- 274 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:22:34 ]
- >>272
まだまともなIDEはないから、俺は普通のテキストエディタで書いて、コマンドラインからビルドしとるよ。
- 275 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:24:11 ]
- 俺も>>274と同じくコマンドライン(というかバッチファイル作ってダブルクリック)
ポセイドンとかどうなんだろ?
- 276 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:47:28 ]
- >>273
そーなんか とりあえず1.0系インスコしたんだけどみんな2.0系使ってるの? 2.0系って正式リリースされてないよね? >>274-275 そーかー Code::BlocksとPoseidonも使ってみるよ コード補完がないとソース書いててだるい気がするしね
- 277 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:00:11 ]
- >>276
正式リリースなんて飾り。
- 278 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:09:37 ]
- >>276
バージョンが0.001増えるだけで、大幅な書き直しを余儀なくさせられる言語。それがD
- 279 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:31:15 ]
- バージョンアップしたらHello, woldさえコンパイル通らなくなったときは泣きそうになった
- 280 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:31:53 ]
- 書きまつがえた
- 281 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:54:14 ]
- >>276
予約語以外までまともにコード補完できるIDEなんてまだないかと >>279 これのことかな s/stdout/dout/g import std.cstream; void main() { stdout.writefln("Hello, world!"); // 古いコード } 歴史は繰り返す(Tango) Cout(Hello, world!").newline;
- 282 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:15:35 ]
- cout << "Hello, World!" << endl;
とC++みたいに出力できるのを作ったことがあるがマニピュレータ周りでモチベーションが切れて終了
- 283 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:24:48 ]
- coutなんて飾りです
- 284 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:46:27 ]
- doutとかs(td)outとかじゃないのか
- 285 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 23:12:09 ]
- >>282
C++のストリームの記法が便利だと思ったことは一度も無いな
- 286 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 23:28:32 ]
- つかC++形式の利点って何なの?
たぶんCのprintfが非型安全だから作られたんだと思うんだが、Dだと型安全な可変個引数関数が作れるわけで。
- 287 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 00:18:06 ]
- 型安全、拡張可能、フォーマット文字列の解析が不要ってとこか
その代償として、寄せ、桁、精度、基数等の指定が必要な場合の 記述が面倒くさすぎ ぶっちゃけ拡張可能性という面でもstreambufが継承可能であることが 重要で、入出力演算子なんてただのオモチャだと思ってる
- 288 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 00:32:35 ]
- tangoの方間違ってたらすまん
phobosのwriteflnの方がピンと来るのは俺だけ? tangoのはどうなんだこれ CoutとStdoutの使い分けとか必要なのか? string hoge = "hoge", HOGE = "HOGE"; int a = 10, b = 20; //phobos writefln(hoge, a, "[%s%d]", HOGE, b); //tango Cout(hoge)(a)("[")(HOGE)(b)("]").newline; Stdout.formatln("{}{}[{}{}]", hoge, a, HOGE, b);
- 289 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 05:32:21 ]
- Coutキタナッ
- 290 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:20:23 ]
- tx好きー。
- 291 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:44:43 ]
- Code:Blocks使ってみた
入力補完させよーとするとC++かなんかの予約語を補完してくださった Poseidon使ってみた 日本語表示もできるし予約語の補完もできるし自分で書いたメソッドの入力補完もできるっぽい ちょっと幸せ でもエディタの挙動とか配色がキモい たぶん変更できるんだろうけどまだあんまし触ってない
- 292 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 07:24:56 ]
- writefln で十分だな。
- 293 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:07:31 ]
- printfで十分だ
- 294 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:33:23 ]
- うむ
C++ ライクな入出力ストリーム表記はどうにも好きになれん
- 295 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:13:18 ]
- 型安全であることと、色んなもんに出力できるという点は評価できるが、
printf ライクにそれを行うことも可能なわけで。
- 296 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 15:42:56 ]
- >>288
tangoはこれならstd::coutのほうがましだな
- 297 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:23:02 ]
- 正直、これ位の簡易な実装で俺は良いんだけどなぁ。
void main(){ println(2,' ',3,' ',4); } static import std.string,std.stdio; alias std.string.toString toString; string toString(string x){return x;} string toString(Object o){return o.toString;} //構造体とか配列とか連想配列とかも同じノリで定義 void println(T...)(T x){ foreach(v;x){ string r = toString(v); std.stdio.fwrite(r.ptr,1,r.length,std.stdio.stdout); } std.stdio.putc('\n',std.stdio.stdout); }
- 298 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:26:37 ]
- 結局型安全にした printf ライクなものが一番だよね。
- 299 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 19:43:44 ]
- writeflnに慣れすぎて手放せなくなってる
- 300 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:48:15 ]
- 誰かD1.0を擬人化してみてくれ
- 301 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:52:16 ]
- >>300
pc11.2ch.net/test/read.cgi/tech/1098953121/
- 302 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 22:08:16 ]
- >>297
それでprintf("%08X", n); とかはどうやりますか?
|

|