トップページ⇒tech
962コメント242KB

D言語 Part24

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/01/26(火) 00:06:57
プログラミング言語 D (D Programming Language) について語るスレッドです。

■前スレ
http://pc12.2ch.net/test/read.cgi/tech/1253443684/

■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)

■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)

■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
ttp://dsource.org/ (dsource)
ttp://tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
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の入門講座)
ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
ttp://dusers.dip.jp (D言語友の会)
ttp://www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)

>>2へ続く
0263デフォルトの名無しさん2010/03/28(日) 04:28:19
>>262
それは思う
他の言語でもあるように配列と文字列を完全に別のものにして欲しいかも
0264デフォルトの名無しさん2010/03/28(日) 12:41:56
>>261
文法見ると関数の戻り値型は省略できないはずなんだよね
せめてautoと書かないと

ところがstaticとかつけるとコンパイル通ってしまう(privateは駄目)
たぶん変数の型を省略できる辺りの仕様と混線してるんだと思う
0265デフォルトの名無しさん2010/03/28(日) 16:24:54
>>264
これだね
http://lists.puremagic.com/pipermail/digitalmars-d-learn/2010-March/016389.html
0266デフォルトの名無しさん2010/03/28(日) 21:28:16
DMDのパーサは継ぎ接ぎだらけで汚いからなあ
0267デフォルトの名無しさん2010/03/28(日) 22:00:41
誰かDで書き直してやれよ
0268デフォルトの名無しさん2010/03/28(日) 22:10:08
Dで書いてもなぁ、パーサジェネレータ使ったものでないと他人が
読めるぐらい平易にならんよ
0269デフォルトの名無しさん2010/03/28(日) 22:44:40
ddmdっていう、dmdをD言語で実装するとか頑張ってるのがあるよ
http://www.dsource.org/projects/ddmd
0270デフォルトの名無しさん2010/03/29(月) 00:21:25
まず仕様が固まらないとなw
D3マダー?
0271デフォルトの名無しさん2010/03/29(月) 12:18:39
>>263
これ以上組み込み型増やすのは勘弁だわ
Cとの互換性も下がるし
0272デフォルトの名無しさん2010/03/29(月) 14:17:47
Cとの互換性大事だろうがあッ!!
0273デフォルトの名無しさん2010/03/29(月) 14:24:14
Cとの互換性は大事だよ、大事だよ
0274デフォルトの名無しさん2010/03/29(月) 15:22:52
http://www.digitalmars.com/d/archives/digitalmars/D/Why_Strings_as_Classes_75488.html

Cとの互換そんなことを考えていた頃も
あり…ありま…(ry
0275デフォルトの名無しさん2010/03/29(月) 19:57:10
dflインスコ出来ねぇ
0276デフォルトの名無しさん2010/03/29(月) 20:50:49
今生きてるGUIライブラリはGtkDとQtDだけ?
0277デフォルトの名無しさん2010/03/29(月) 20:52:23
>>274
何この大河ドラマ
0278デフォルトの名無しさん2010/03/29(月) 20:57:16
>>276
マジかよ・・・うぇ
0279デフォルトの名無しさん2010/03/29(月) 21:00:01
>>274
なげええええええええええええええええええ!!!!!!!!!!
0280デフォルトの名無しさん2010/03/29(月) 21:26:31
>>274
夜空を流れる天の川みたいだ・・・
0281デフォルトの名無しさん2010/03/29(月) 21:36:32
>>274人気杉ワロタ
0282デフォルトの名無しさん2010/03/29(月) 21:44:08
wxDは、DWTは生きている
そんな風に思っていた時期が、俺にもありました
0283デフォルトの名無しさん2010/03/30(火) 00:51:14
流れる星は生きている(もすぐ死ぬ)
0284デフォルトの名無しさん2010/03/30(火) 01:43:59
日本語でも読む気しねえよこの長さww
0285デフォルトの名無しさん2010/03/30(火) 17:03:50
char 型と、utf8 型(?)に分けちゃえば、すんなり行くような気がする今日この頃。
そうでもない?
UTF-8 と決まっている D の char 型と、C言語用の文字(列)型としての char 型が
ごちゃ混ぜになってるのがそもそもの不幸の始まりだよね?
0286デフォルトの名無しさん2010/03/30(火) 18:12:04
>>285
それなら、Cのcharに相当するのをlocale_charみたいな名前で新設する方がいいな。
UTF-16をwchar, 32をdcharって名前にしてしまってるんだから。
0287デフォルトの名無しさん2010/03/30(火) 18:23:37
(u)byteでは何か問題があるの?
0288デフォルトの名無しさん2010/03/30(火) 18:33:37
>>287
charでもubyteでも何の問題もないけど、そういうaliasが欲しいねって話と思ったんだが。
0289デフォルトの名無しさん2010/03/31(水) 11:59:12
いらねーヨ
0290デフォルトの名無しさん2010/03/31(水) 19:44:28
byteで何も困ってないからなぁ

locale_charとかsynchronizedとimmutableとforeach_reverseについで嫌いな名前になりそうだぜ
0291デフォルトの名無しさん2010/03/31(水) 20:07:45
foreach_reverseについては同意
もうちょっと良い感じのはなかったのだろうか
0292デフォルトの名無しさん2010/03/31(水) 20:15:38
いや自分が書くときはcharで困らんけどさ。
OSの言語設定や環境変数LANGに左右されるC文字列と、UTF-8固定のD文字列を区別しておかないと
混同しても何も困らない欧米人が混同したコード書きやがるよね、
というよくある話を>>285は言いたいんじゃないのか?別人だけど。
0293デフォルトの名無しさん2010/03/31(水) 20:21:13
ubyteでいいじゃん
0294デフォルトの名無しさん2010/03/31(水) 21:16:10
>>291
rforeachでいいよなぁ
0295デフォルトの名無しさん2010/03/31(水) 21:25:30
欲を言えばimmutableはもうちょっと短い言葉だと良かった
constに比べると長い
0296デフォルトの名無しさん2010/03/31(水) 21:36:58
invariantのほうが打ちやすい
0297デフォルトの名無しさん2010/03/31(水) 22:14:58
文字数の多さは最近そんな感じだな
むかしはメモリが少なかったし画面も狭かったから、
Cが発達したころ、その辺の事情と区別しやすさのバランスが取れた頃合いが5文字だったんだろう
0298デフォルトの名無しさん2010/03/31(水) 22:50:32
unsigned intをuintにした頃のウォルたんはどこへ…
0299デフォルトの名無しさん2010/03/31(水) 23:19:23
キーワードにスペース入ってるのは気持ち悪いんだよなあ
auto refとか
0300デフォルトの名無しさん2010/03/31(水) 23:39:58
static thisとかな
0301デフォルトの名無しさん2010/03/31(水) 23:41:49
こうしてD++の開発が始まったのだ
0302デフォルトの名無しさん2010/04/01(木) 00:16:11
複雑さでC++の10倍を目指します
0303デフォルトの名無しさん2010/04/01(木) 01:31:27
冗談でも言ってよいことと悪いことがある!
0304デフォルトの名無しさん2010/04/01(木) 03:54:56
先ずはD--
0305デフォルトの名無しさん2010/04/01(木) 15:17:24
そしてラブプラス+
0306デフォルトの名無しさん2010/04/01(木) 16:37:16
L言語作ってくるか…
0307デフォルトの名無しさん2010/04/01(木) 17:21:05
dllの読み込みはstd.loaderでいいのか?ライブラリ関連よくわからん
0308デフォルトの名無しさん2010/04/01(木) 22:22:43
>>307
え〜?そんなライブラリはないだろう……、と思ったがあったッ!!
うん。使えるんじゃないかな。使ったこと無いけど。
0309デフォルトの名無しさん2010/04/01(木) 22:59:51
std.loaderなんてあったんだな、しらんかった
0310デフォルトの名無しさん2010/04/01(木) 23:12:08
どっかに過去のバージョンのコンパイラは落ちてないんですか?
具体的に言うと0.149があるとABA gamesのMu-cadeが楽にコンパイルできそうなんですが
0311デフォルトの名無しさん2010/04/01(木) 23:54:09
>>308
thx
0312デフォルトの名無しさん2010/04/02(金) 00:01:04
>>310
http://www.kmonos.net/alang/d/1.0/changelog.html
ここの「D 1.049 での変更点」から落とせる。
0313デフォルトの名無しさん2010/04/02(金) 00:26:11
>>312
必要なのは0.149でしたけど、older versionsから辿って見つけることができました。
ありがとうございます
0314デフォルトの名無しさん2010/04/02(金) 11:49:03
bit型はどこいっちゃったの
0315デフォルトの名無しさん2010/04/02(金) 12:20:51
bit型 → bool型のalias → 非推奨のbool型のalias → 消滅
と順番に形を変えていきました
0316デフォルトの名無しさん2010/04/02(金) 12:34:42
バイト・ワードが定着して以降はマシン的に「1ビットのメモリ」なんて細かい扱いはしないから、
ビット単位で詰め込みたい人はstd.bitmanipで便利に使ってくれって感じの方針だな
0317デフォルトの名無しさん2010/04/02(金) 15:05:42
なるほどさんくす。
byteをboolの代わりにするのもにょもにょする
0318デフォルトの名無しさん2010/04/03(土) 10:48:05
いまある一番オススメなIDEはなんですか?
0319デフォルトの名無しさん2010/04/03(土) 11:04:00
使ったことないからまともに動くかどうかは知らないけど
使ったことがないからこそまともに動く可能性があるかもと思えるのはD-IDE
0320デフォルトの名無しさん2010/04/03(土) 12:45:14
今後C言語の置き換えが起こるとしたら、D言語で間違いないですか
もっと大きなパラダイムシフトが起こるまでそんなことないですか
0321デフォルトの名無しさん2010/04/03(土) 14:30:27
Cの代替になる言語は一つも無いんじゃね?
Cはコンパイル言語じゃなくて高級アセンブラだからなー

ただ、C++の代替にならなる可能性は…やっぱり無いか…
0322デフォルトの名無しさん2010/04/03(土) 14:46:35
代替じゃなくてDでしか作れないようなものがないと無理なんだろうね
0323デフォルトの名無しさん2010/04/03(土) 14:59:56
GC回りが整備されたら純粋なbetter Cの一角に名乗り出る資格はあると思うけどね
C++とかC#とかで書いてて思ったのは、
やはり関数の扱いがちゃんと関数で安心できることとか、
構造体型を返り値にするときの挙動の予測しやすさとかはいい点だと感じる
0324デフォルトの名無しさん2010/04/07(水) 05:47:18
言語仕様はC++の後継と言っていいと思うけど、現状、利用者が少ないからなー。
コンパイラにバグが残ってたり、ライブラリが未完成だったり、言語仕様がコロコロ変わったりするし、
そのせいもあってかIDEもまともなのがないし、ネット上の情報量も少なくて敷居が高いよね。

登場から11年経つけどこれから流行るかな・・・?
0325デフォルトの名無しさん2010/04/07(水) 06:40:08
標準ライブラリが整備されてなくてちょっと試せないのが厳しい(Tangoは最新バージョンで使えないしPhobosはネットワークとか死んでる)
あとやっぱりRubyのgemみたいなのが標準で欲しいかな
0326デフォルトの名無しさん2010/04/07(水) 10:54:17
言語仕様が固まってなくて文法がメジャーバージョンアップでもないのに
後方互換性がなく変わる状態じゃライブラリも周辺ツールも整備できねーよな
0327デフォルトの名無しさん2010/04/07(水) 16:13:59
だからD2はアルファ版だと…
0328デフォルトの名無しさん2010/04/07(水) 20:21:49
D1なら安定している
そんな風に思っていた時期が、俺にもありました
0329デフォルトの名無しさん2010/04/07(水) 21:11:11
仕様が固定したらライブラリ開発もやる気になるけど
現状ではとてもじゃないがやる気にならない
0330デフォルトの名無しさん2010/04/07(水) 21:53:14
だが待って欲しい。仕様を固定して進歩をやめたD言語に魅力などあるだろうか。
0331デフォルトの名無しさん2010/04/07(水) 21:57:21
進むも地獄とどまるも地獄
0332デフォルトの名無しさん2010/04/07(水) 22:28:37
進む地獄こそ選ぶ道
0333デフォルトの名無しさん2010/04/07(水) 22:36:42
こんなに苦しいのなら、悲しいのなら………Dなどやっぱ要る
0334デフォルトの名無しさん2010/04/08(木) 00:57:39
D言語に敵がいない、という事に最近気づいた
0335デフォルトの名無しさん2010/04/08(木) 03:05:18
無害、それ故に無敵
0336デフォルトの名無しさん2010/04/08(木) 20:36:18
<del>無害</del><ins>ほとんど無害</ins>
0337デフォルトの名無しさん2010/04/08(木) 22:35:59
「D言語」ってのが中二系小説で出てきそうな魔界の言語的なイメージなんだよ
0338デフォルトの名無しさん2010/04/09(金) 00:02:01
そんな発想が出てくるのは若さ故だな。
0339デフォルトの名無しさん2010/04/09(金) 00:36:17
クッ、奴ら、D言語で会話してやがる・・・ッ!
0340デフォルトの名無しさん2010/04/09(金) 00:40:47
┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨
0341デフォルトの名無しさん2010/04/10(土) 00:54:58
Demon's Language

Version D 2.043 Apr 6, 2010
New/Changed Features
.init property for static arrays is now an array literal
Improved speed of associative arrays
std.bigint has been completely replaced with a faster implementation. Multiplication is now 5 times faster, division is 300 times faster, and squaring is 10 times faster. For large numbers (~5000 words), the speedup is 5 times larger than this.
Bugs Fixed
Fixed memory corruption problem with array appends
・・・


Bigint!

動的配列appendのバグが直ったー
ハッハー
0342デフォルトの名無しさん2010/04/10(土) 01:43:48
!!! 300 times !!!
0343デフォルトの名無しさん2010/04/10(土) 01:49:39
しかしD言語はいくら努力してもいつまでも日陰者のままなのであった・・・
0344デフォルトの名無しさん2010/04/10(土) 02:11:24
むしろ努力すればするほど……
0345デフォルトの名無しさん2010/04/10(土) 03:12:24
phobosとtangoをくっつけたら結構いけるはずなんだよ…
0346デフォルトの名無しさん2010/04/10(土) 07:46:11
で、最近は仕様固まってんの?
0347デフォルトの名無しさん2010/04/10(土) 08:31:25
しようがないのが仕様
0348デフォルトの名無しさん2010/04/10(土) 08:53:19
それならしょうがない
0349デフォルトの名無しさん2010/04/10(土) 09:30:16
しようゆうこと
0350デフォルトの名無しさん2010/04/10(土) 10:48:01
safeDの範囲ならもう大体決まってるんじゃない?バグは多いけど。
javaやC#ライクに書けるネイティブコンパイラとしては、確かに敵がいない

ただ、そこから一歩踏み込んだ先は広大なカオス領域。
そして、Dユーザは必ずそこに向かう。
0351デフォルトの名無しさん2010/04/10(土) 10:53:58
safeという建前のmixinの黒魔術っぷりとか割と目も当てられない気が
0352デフォルトの名無しさん2010/04/10(土) 11:13:31
mixinなんて使い出す人は、設計能力が足りないんだと思う
0353デフォルトの名無しさん2010/04/10(土) 11:21:06
D言語なんて使い出す人は、設計能力が足りないんだと思う
0354デフォルトの名無しさん2010/04/10(土) 11:22:33
D言語なんて使い出す人は、現状認識能力が足りないんだと思う
0355デフォルトの名無しさん2010/04/10(土) 11:23:19
どうみても、役には立たないな。
理論とは適当に折り合いをつけてプログラムしろぐらいの意味しかないだろ。
0356デフォルトの名無しさん2010/04/10(土) 11:31:14
忌み嫌われる手法、黒魔術
それを許容するのも、Demon's Lang(略)
0357デフォルトの名無しさん2010/04/10(土) 11:55:45
まだでかいproduct作る気にはならない(作ろうとすると必ず後悔する)けど、
Rubyでやるような内容で計算コストがかかる時とか大規模行列計算のない数値実験には重宝している。
実際速いよねDMD
0358デフォルトの名無しさん2010/04/10(土) 12:46:58
言語仕様の変更を受けにくいコーディングスタイルを誰か確立してくれ詳しい人
鉄板の保守的な機能のみ使うガイドラインというか

アプリ作る時と遊びたい時を分けたいんだよね
0359デフォルトの名無しさん2010/04/10(土) 12:56:45
大規模プログラムでOPTLINKが妙なエラーを吐く件は修正されたんだっけ?
0360デフォルトの名無しさん2010/04/10(土) 13:33:54
>>358
例えば俺はあるプログラムでBigIntを何年か安心して使ってたんだが
2.043でコンパイルしたらそこでエラーを吐いたので修正が必要になった
そういう事態を避けるにはphobosを避けるしかないな!
0361デフォルトの名無しさん2010/04/10(土) 13:36:02
いや、Dを避けるしかない
0362デフォルトの名無しさん2010/04/10(土) 13:38:08
まあ待て、std.c.*とCの文だけ使ってれば大丈夫だろ
■ このスレッドは過去ログ倉庫に格納されています