5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

D言語 Part20

1 :デフォルトの名無しさん:2008/11/14(金) 12:05:16
プログラミング言語 D (D Programming Language) について語るスレッドです。
過去スレ、関連スレは >>2

■前スレ
http://pc11.2ch.net/test/read.cgi/tech/1217813098/

■本家
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フロントエンド)

■参考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/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の入門講座)
ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)

■ IDE
ttp://dronten.googlepages.com/dscite (DSciTE)
ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks)
ttp://www.dprogramming.com/entice.php (Entice Designer)
ttp://www.dsource.org/projects/descent (Descent)
ttp://www.dsource.org/projects/poseidon (Poseidon)

913 :デフォルトの名無しさん:2009/02/07(土) 21:41:18
void a()で1KBくらいnewさせて無限ループさせたらちゃんと使用メモリ量はある一定から上がらないんだよな
サイズの問題とか?newした回数とか?よくわからんな

914 :デフォルトの名無しさん:2009/02/07(土) 21:45:12
new するサイズを変更すれば
サイズか回数か分かるんでない?

915 :デフォルトの名無しさん:2009/02/07(土) 21:57:49
普通に考えれば new やらなんやら D 内で GC に紐付けされた 要素 が実行されたとき
freelist更新 → free して一回の呼び出しで free に到達するかどうかは 運次第

916 :デフォルトの名無しさん:2009/02/08(日) 00:41:23
>>912
>deleteはOKだったが、GCを使う旨味が・・・

逆に考えるんだ。こういう困った場面で小手先の対処(delete)が可能なのがDなんだと。

917 :910:2009/02/08(日) 01:13:23
実験してみた。

int main(char[][] args)
{
for (int i = 0; i < 5; i++) a();
for (int i = 0; ; i++) b();
return 0;
}
void a() { new char[1 * 1024 * 1024]; }
void b() { new char[1 * 1024 * 1024]; }

a():new char[1 * 1024 * 1024]
b():new char[1 * 1024 * 1024] で、メモリ4,600K以上上昇せず。
a():new char[96 * 1024 * 1024]
b():new char[1 * 1024 * 1024] で、753,364K。
a():new char[96 * 1024 * 1024]
b():new char[24 * 1024 * 1024] で、788,424K。
a():new char[96 * 1024 * 1024]
b():new char[25 * 1024 * 1024] で、Out Of Memoryで落ちる。落ちる直前で1,300,000Kくらいまでいってた。
よくわからないが、サイズが問題なのかな?24MBがボーダーライン?

>>916
とりあえず、そう考えてdelete使います・・・。

918 :デフォルトの名無しさん:2009/02/08(日) 01:58:56
>>917
std.utf か std.uni かなんかの使ってるマジックナンバーが
24MBおきくらいの値を漏れなくとってるので、
それが偽ポインタとみなされて、ある程度以上でかい配列は
全て常にグローバルから参照されてる扱いになっちゃってるとか
そんな問題が昔あったので今もあるのかも

919 :デフォルトの名無しさん:2009/02/08(日) 05:31:52
D言語がこの先生きのこるには

920 :デフォルトの名無しさん:2009/02/08(日) 07:38:16
D言語学校の先生キノコるには

921 :デフォルトの名無しさん:2009/02/08(日) 08:23:16
ライブラリとキラーアプリケーションじゃね

922 :デフォルトの名無しさん:2009/02/08(日) 11:21:09
ウシロを顧みず爆進するsyntax改良だとおもう。

923 :910:2009/02/08(日) 11:21:56
>>918

なるほど。そういう問題があったのですか。
ちょっと調べてみます。

924 :デフォルトの名無しさん:2009/02/08(日) 15:49:16
ユビキタス社会が注目されている昨今の状況から、組み込みに目を向けたらいいと思う

925 :デフォルトの名無しさん:2009/02/08(日) 18:07:42
うぉるたんが作るのやめたときが死ぬときでしょ。

発展させるには、ってことか。

926 :デフォルトの名無しさん:2009/02/08(日) 18:27:12
をるたん以外の人はコンパイラ作ってんの?

927 :デフォルトの名無しさん:2009/02/08(日) 18:52:58
>>926
泣きながらPhobos作ってんじゃね?

928 :デフォルトの名無しさん:2009/02/08(日) 19:07:16
高校在学の頃からD言語の完成を待ち続け今や20代半ば

929 :デフォルトの名無しさん:2009/02/08(日) 20:32:39
ホントだ、自分もD言語触り続けてもう5年くらいになる。

930 :デフォルトの名無しさん:2009/02/08(日) 22:23:55
三十路突入、、、

931 :デフォルトの名無しさん:2009/02/08(日) 22:52:38
D言語の代わりになる処理系がありません。

932 :デフォルトの名無しさん:2009/02/09(月) 00:48:10
Phobosで良い感じの xhtmlParser ご存知の方いらっしゃいます?
std.xmlだと上手くいかなくて・・・

933 :デフォルトの名無しさん:2009/02/09(月) 01:11:43
>>932
あきらめろ

934 :デフォルトの名無しさん:2009/02/09(月) 01:55:22
>>933
それだとDユーザーっぽくないな。自分で作れ、じゃなかろうか?
PhobosだのTangoだのを参考にすればそこまで労せず作れる気がする。

935 :デフォルトの名無しさん:2009/02/09(月) 01:55:24
やはり無いですか・・・
色んなパーサ読みながら、解決方法考えてみます。
ありがとうございました。

936 :デフォルトの名無しさん:2009/02/09(月) 03:18:24
D.netになればライブラリの心配はしなくて済むのか…

937 :デフォルトの名無しさん:2009/02/09(月) 03:21:15
そんなD使いたくないな

938 :デフォルトの名無しさん:2009/02/09(月) 07:25:46
>>935
libxmlのラッパでも書いて呉れよ

939 :デフォルトの名無しさん:2009/02/09(月) 08:15:01
tinyxmlは?

940 :デフォルトの名無しさん:2009/02/09(月) 18:27:17
phobosのコミット権が欲しいのは俺だけじゃないよね

941 :デフォルトの名無しさん:2009/02/09(月) 20:10:09
Visual Dまだー?

942 :デフォルトの名無しさん:2009/02/09(月) 20:35:24
そんなD使いたくないな

943 :デフォルトの名無しさん:2009/02/09(月) 20:51:12
なんで使いたくないのかkwsk
簡単なのはいいことだと思うが

944 :デフォルトの名無しさん:2009/02/09(月) 21:34:31
ネイティブコード吐いてくれるのがDの旨みの1つだから
開発するのに .NET/Mono なんて大層なモノ使いたくないから
マゾだから

けど確かにライブラリの豊富さだったり、
GCの実装具合とかで羨ましくもなる。

945 :デフォルトの名無しさん:2009/02/09(月) 21:38:09
.NETならC#と同じ土俵での勝負になっちゃうからなw

946 :デフォルトの名無しさん:2009/02/09(月) 21:53:37
あえてC#と同じ土壌でも戦うことでD言語はより強力になっていくと思う。
ネイティブコード吐くの捨てなきゃ歓迎。

947 :デフォルトの名無しさん:2009/02/09(月) 21:54:23
というかすでにこっちの土俵に乗り込まれてる状況ではないか
ttp://www.atmarkit.co.jp/news/200901/29/mono.html

948 :デフォルトの名無しさん:2009/02/09(月) 21:57:58
VisualStudioで開発できなきゃ永久にC++以下の生産性

949 :デフォルトの名無しさん:2009/02/09(月) 22:10:34
>>944の上2行の発言が謎だ

950 :デフォルトの名無しさん:2009/02/09(月) 22:11:39
Dは言語が生まれるさまをヲチするための言語です

951 :デフォルトの名無しさん:2009/02/09(月) 22:15:46
そして伝説のIDE誕生の瞬間に立ち会えるのがD

952 :デフォルトの名無しさん:2009/02/10(火) 00:37:57
つーかインテリセンス使わない生活にはもう慣れてしまった。
書くのが速くなっても生産性があがるわけじゃないからなぁ・・・。

953 :デフォルトの名無しさん:2009/02/10(火) 04:59:34
正直、D言語はここまで中途半端な存在に成るとは思わなかった
Java,C#のVMの出来が良くなって来た事が原因だと思うけど、
MicroSoftを始めIDEベンダーはガン無視じゃん、酷すぎる。勉強した時間を返せ

954 :デフォルトの名無しさん:2009/02/10(火) 05:47:03
Ct
http://tripper2.kousaku.in/?Ct
D言語が配列演算急いだのはこれからかな。
そのうち水平演算も来るか?

955 :デフォルトの名無しさん:2009/02/10(火) 12:29:24
>>953
まだDは若いしそんなもんだと思うけど

956 :デフォルトの名無しさん:2009/02/10(火) 15:32:22
>>952
インテリセンスがあればメンバ調べたりする手間省けるだけ効率はあがるw

957 :デフォルトの名無しさん:2009/02/10(火) 15:48:24
Dユーザーって
言語いじること自体が好きなタイプ
C#使ってるがちょっと背伸びしてみたいタイプ
の2つにわかれるのかな?

で、もっともターゲットにしたいC/C++ユーザからはしかとw

958 :デフォルトの名無しさん:2009/02/10(火) 18:15:05
>>955
若いっても出てから4〜5年ぐらいたってなかったか?

959 :デフォルトの名無しさん:2009/02/10(火) 18:43:23
まだ小学校にも入学してないじゃないか

960 :デフォルトの名無しさん:2009/02/10(火) 18:43:48
このままだとをるたんのオナヌー言語で終わっていまいそw

961 :デフォルトの名無しさん:2009/02/10(火) 19:50:29
>>957
GCがあって、お気軽に使えてコンパイルの速いC++みたいなのがあったらいいな〜
ってC++使いもいると思う。

そして何度も「ちくしょう、まだ早すぎたんだ!」を繰り返しながら、
夢を見続けると。

962 :デフォルトの名無しさん:2009/02/10(火) 21:49:32
C++=AT&T
Java=Sun
C#=MS

D=DigitalMars

まあ無理だろ
こうなるのは目に見えてた

963 :デフォルトの名無しさん:2009/02/10(火) 21:49:33
MS辺りが拾ってくれたらいいんだけども、
ウォルタンは孤高の道を行くから・・・

964 :デフォルトの名無しさん:2009/02/10(火) 21:54:07
単独で使ってこそ意味がある言語だよな
どう考えてもC#と違って.NETみたいなクロスランゲージな世界には向いてない

965 :デフォルトの名無しさん:2009/02/10(火) 21:57:15
逆に言えば他の言語(C以外)との連携は苦手なのがD

966 :デフォルトの名無しさん:2009/02/10(火) 22:00:03
ヘタすりゃ最後のネイティブマンセー言語かも

967 :デフォルトの名無しさん:2009/02/10(火) 22:05:26
>>957

>言語いじること自体が好きなタイプ

言語オタクが実験を繰り返すだけで
実用的なアプリを誰も作らないから流行らないんだよな
D言語とかハスケルとか

968 :デフォルトの名無しさん:2009/02/10(火) 22:09:05
Haskellはまあ、そういう言語じゃん

Dは一応実用重視を謳ってるのにこれじゃあ…

969 :デフォルトの名無しさん:2009/02/10(火) 22:16:42
>>963
MSよりはGoogleに拾って欲しいな
Native Clientもあるし、C++使いばっかりだから
中の人との相性も悪くないと思う

970 :デフォルトの名無しさん:2009/02/10(火) 22:22:24
D製のアプリっていりす症候群しか知らない

971 :デフォルトの名無しさん:2009/02/10(火) 22:27:05
後は芝生やすゲームとか、ABAさん所のゲームとか

ゲームばっかだよねこの言語

972 :デフォルトの名無しさん:2009/02/10(火) 22:39:19
普通のアプリ探してて D で書かれてたの見つけたのは rulesPlayer だけだな

973 :デフォルトの名無しさん:2009/02/10(火) 23:00:27
PSP方面調べてた時、PSP EmulatorがD言語で書かれていたのに驚いたな。
http://www.soywiz.com/d/pspemulator/

974 :デフォルトの名無しさん:2009/02/10(火) 23:06:18
webはRubyとかでいいし
業務アプリは.netでいいし

975 :デフォルトの名無しさん:2009/02/10(火) 23:11:21
やっぱりDは、破壊的変更にゾクゾクする為の言語なんだね

976 :デフォルトの名無しさん:2009/02/10(火) 23:18:17
M言語とかに名前変えたらいいのにな

977 :デフォルトの名無しさん:2009/02/10(火) 23:19:59
言語自体はSだからS言語でいいよ

978 :デフォルトの名無しさん:2009/02/10(火) 23:24:46
じゃMSはどうなんだ?

979 :デフォルトの名無しさん:2009/02/10(火) 23:54:10
誰かがD言語と呼ばなければ、MARS (M And Reacted S)という名称になっていたのに。

980 :デフォルトの名無しさん:2009/02/11(水) 00:27:27
.netに依存しないところがDの美点。

981 :デフォルトの名無しさん:2009/02/11(水) 00:32:13
>979
流れの中でキレイなオチをつけたなww

982 :デフォルトの名無しさん:2009/02/11(水) 09:27:48
おまんこハンドル=おまんこオープン(若菜 書き込み)



983 :デフォルトの名無しさん:2009/02/11(水) 12:29:15
D言語が駄目だというよりも
いつまでもC++にしがみついてる奴等がムカつく
特にゲ製作技術板なんてC++の話ばっかで全然ゲ製作技術を話してない


984 :デフォルトの名無しさん:2009/02/11(水) 12:33:56
もう、プロトタイプ宣言が必要な言語には戻れないっす

985 :デフォルトの名無しさん:2009/02/11(水) 12:39:00
CとC++だけか

986 :デフォルトの名無しさん:2009/02/11(水) 12:52:19
D elphiもだお
もっとも自動的に挿入してくれるからあんまり意識しないけど

987 :デフォルトの名無しさん:2009/02/11(水) 13:42:18
たのむから64ビットねいちぶなのを・・・

988 :デフォルトの名無しさん:2009/02/11(水) 21:35:09
>>972
テキスト処理が強力だから手元用で便利に使っているのだが、
公開するほどでもないし、ちょい用途ではスクリプト言語に適したものがあるしねえ。
という意味でDがそれなりに活躍できる用途は高負荷なウェブサーバ関連処理だと思う。
個人的には1からPHPで書くくらいだったら、
DにCGI / FastCGI用のインターフェースでも書くかなと。

989 :デフォルトの名無しさん:2009/02/11(水) 21:56:40
C++でいうところのメンバ関数ポインタが欲しいんだけど、
メンバメソッドに&つけるとデリゲートがかえって来ちゃう。

どうすればいいの?

990 :デフォルトの名無しさん:2009/02/11(水) 22:03:40
>>989
&typeof(obj).member  ?

991 :デフォルトの名無しさん:2009/02/11(水) 22:08:41
staticメンバ関数なら&で取れるんじゃない?

992 :デフォルトの名無しさん:2009/02/11(水) 22:36:13
いや、staticだとメンバ関数にする意味がないんだけど…

993 :デフォルトの名無しさん:2009/02/11(水) 22:43:49
オブジェクトと引数を渡すと適切なメソッドに引数を渡す関数
を自動生成するテンプレート関数なら作れそう

994 :デフォルトの名無しさん:2009/02/11(水) 23:06:10
>>989
D言語仕様の知識としてでしか知らんから役に立たないものかも知れんが
>デリゲートの .funcptr プロパティは、 function型で関数ポインタの値を返します

てか1000近いな

995 :デフォルトの名無しさん:2009/02/11(水) 23:07:37
>>989
auto fp = &MyClass.func;
void delegate() dg;
dg.funcptr = fp;
dg.ptr = cast(void*)obj;
タイプセーフじゃないのでもう少しましな方法がある気がする

996 :デフォルトの名無しさん:2009/02/11(水) 23:18:42
>>994-995
それって仮想関数でも大丈夫?

997 :デフォルトの名無しさん:2009/02/11(水) 23:28:41
せめて
「仮想関数で動くかどうか心配でしたがその方法でうまく行きました」とか
「仮想関数では○○という結果になりました」とかさあ…

998 :デフォルトの名無しさん:2009/02/11(水) 23:31:12
スペック読んで疑問に思ったから質問しただけで
まだコンパイラすらダウンロードしてないです^^;

999 :デフォルトの名無しさん:2009/02/11(水) 23:47:04
D言語 Part21
http://pc11.2ch.net/test/read.cgi/tech/1234363551/

1000 :デフォルトの名無しさん:2009/02/11(水) 23:49:07
バイナリげろスレってまだあったんだ(笑

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

208 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)