[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/03 02:04 / Filesize : 146 KB / Number-of Response : 879
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

D言語 Part28



1 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 06:02:12.35 ]
プログラミング言語 D (D Programming Language) について語るスレッドです。

■前スレ
D言語 Part27
hibari.2ch.net/test/read.cgi/tech/1303022487/

■本家
www.digitalmars.com/d/
www.d-programming-language.org/ (ドキュメント)
www.kmonos.net/alang/d/ (和訳)

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

■参考URL
f17.aaa.livedoor.jp/~labamba/ (D言語研究)
f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
dsource.org/ (dsource)
tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
www.kmonos.net/alang/wnd/ (わかったつもりになるD言語)
shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか)
shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座)
www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
dusers.dip.jp (D言語友の会)
www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)

67 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 00:28:49.81 ]
使いたがらせる必要性について

68 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 01:16:46.24 ]
使いたがる人間性について

69 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 01:33:11.65 ]
個性

70 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 03:11:57.12 ]
というか30年の歴史持ってる言語がCとfortranくらいしかなんじゃないか…
lisp辺りもいけるかよくわからんけど

71 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 03:14:04.45 ]
COBOL

72 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 03:14:52.37 ]
hibari.2ch.net/test/read.cgi/tech/1098953121/829
うむ…C意外と若かったな

73 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 14:36:07.12 ]
こんなの思いついた 引数でenum定義できたら面白そうじゃね?
void hoge(enum { a, b, c } type) {
  writeln(type);
}
hoge(type.b);
とか

74 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 14:43:23.64 ]
それ呼び出し側のカッコの中だけ
名前空間変わるの?

オーバーロード・オーバーライドも難しくなりそう

# 本音はIDEがつくりにくくなるから反対

75 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 15:24:51.56 ]
引数のtype.bはどこから出てくんのーとかな
俺も反対



76 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 15:33:16.01 ]
いっそ多相enumが入ればいい。

void hoge(enum { a, b, c } arg);
void foo(enum { c, d, e } arg);

hoge(enum.c); // {a, b, c}集合の中のcとして解釈
foo(enum.c); // {c, d, e}集合の中のcとして解釈

void bar(enum {a, b, c, d, e} arg)
{
 final switch(arg){
  case enum.a, enum.b, enum.c: hoge(arg); break; //argは{a,b,c}
  case enum.d, enum.e: foo(arg); break; //argは{d, e}
 }
}

Dに型推論は無いので所々キャストが必要になるかもしれない。

77 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 17:14:03.26 ]
void bar(enum {a, b, c, d, e} arg)
{
enum {a, b} aaa;
 switch(arg){
  case enum.a, enum.b, enum.c: hoge(arg); break; //argは{c}
  case enum.d, enum.e: foo(arg); break; //argは{d, e}
 }
}

ますます酷くなるな

78 名前:デフォルトの名無しさん mailto:sage [2011/08/30(火) 18:27:00.51 ]
そんなの実装する変態言語なんてあるわけない
強いていうならどこかのDとかいう言語くらいだな

79 名前:デフォルトの名無しさん [2011/08/31(水) 04:25:42.91 ]
D言語で作られた有名なソフトとかあんの?


80 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 04:44:11.30 ]
いりす症候群とか

81 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 06:27:25.57 ]
ecmascript+html5→アプリケーション
JavaVM|dotNet→ローカルデータ処理、OS管理
ruby|python→操作簡略化、シェルスクリプト

後は高速処理特化言語で並列化だろうな
プロセスとパイプを扱えるライブラリがあれば
シェルスクリプトの代わりもできるかもしれないけど
mainが邪魔すぎる

82 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:20:17.47 ]
いつの間にかKindleStoreでD言語の公式仕様書が2.99ドルで売られてるけど大丈夫なのかこれ

83 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:25:06.26 ]
ウォルターがキレたら仕様変更があるだけだから問題ないね

84 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:27:01.60 ]
TDPLじゃなくて
d-programming-language.org/ そのままかと思ってるけど

85 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:30:33.00 ]
TDPLって何?
東京ディズニープアーランド?



86 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:38:41.22 ]
ttp://www.walterbright.com/
ここからリンク張ってあるくらいだから本人の副収入だべ

>>85
ttp://d.hatena.ne.jp/repeatedly/20110506/1304651110

87 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:47:19.55 ]
The D Programming Language

ああこれね

88 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 21:48:37.15 ]
2.055まだ?

89 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 23:52:22.85 ]
>>81
ecma⊂html5

90 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 00:06:15.13 ]
ecmaはecmaだろ
jscriptだってecmaの処理系だぞってスレ違いか

91 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 07:36:26.51 ]
近い将来javascriptに変換、あるいはインタプリタ実装できてない言語は廃れると思う
windowsユーザーよりもhtml5対応ブラウザユーザーの方が多くなるだろうから
ウェブアプリを開発できない言語は先生きのこれない

92 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 07:46:43.91 ]
ブログにでも書いてろ

93 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 11:51:41.61 ]
ハハハワロス

組み込みみたいにシビアな世界ではそんなもの通用しないから

94 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 12:32:34.70 ]
出た出た「○×みたいにシビアな世界」

そのセリフを吐きながら新しいものを全く吸収できず自滅していった技術者が
過去どれだけいたっけかな。

メインフレーム以外はおもちゃと断じていた奴
ゲームは機械語プログラミングが全てと信じていた奴
etcetc

95 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 14:36:10.97 ]
みんなでD言語を普及させようぜ。
そのためのキラーアプリを作ろう。
どんどんアイディアを言ってくれ!



96 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 14:37:10.14 ]
普及しなくてもいいんじゃね派が多数

97 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:17:22.92 ]
それでもD言語のキラーアプリは、一つや二つくらいは必要

98 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:18:03.47 ]
ひさしぶりにきのこ先生みた

99 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:19:21.88 ]
Dでjavasriptコンパイラ作るか

100 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:34:41.72 ]
>>99それイイね!

101 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 17:08:33.53 ]
忘れられたDMDScript・・・
www.digitalmars.com/dscript/

102 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 18:33:00.23 ]
Go を思い出してしまった
あれどうなったんだろ

103 名前:デフォルトの名無しさん [2011/09/02(金) 18:55:36.22 ]
>>101すまぬ・・・すまぬ・・・DMDScriptよ・・・。
他の考えようか。

104 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:03:35.86 ]
Dでプログラミングしたら
javascript吐くのとかは無理?

105 名前:デフォルトの名無しさん [2011/09/02(金) 19:22:06.05 ]
日本語でおk



106 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:30:34.83 ]
D言語からJavaScriptへのトランスレータみたいなものは、有名なものは
多分まだない。

107 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:37:08.27 ]
>>104いまから>>106を作ろう!

108 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 00:32:31.91 ]
Webアプリケーションを作ればいいと思うよ

109 名前:デフォルトの名無しさん [2011/09/03(土) 00:37:34.13 ]
仕様変更がまだ怖いから来年本気出す

110 名前:デフォルトの名無しさん [2011/09/03(土) 01:09:52.05 ]
仕様変更が怖くて何でD使ってんの?

111 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 01:30:14.23 ]
将来性があるから

112 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 02:42:20.53 ]
仕様変更しない言語なんて無いだろ
CもC++もC#もObjective-CもJavaもJavascriptも何らかの形で常に仕様変更してるよ

113 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 04:33:27.18 ]
CやC++の仕様変更周期はまるで亀の一生だが、DのそれはCエレガンスの寿命みたいなもんだ。

114 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 15:45:15.15 ]
5年前に書いたDプログラムを今コンパイルしたら全部の行でエラー出るんだろ
そんな言語使えるか

115 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 15:49:21.61 ]
仕事増えていいじゃん



116 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 16:04:31.69 ]
古いバージョン使えばエラーでないよ^^

117 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 16:26:12.12 ]
全部の行は無いだろ
'}' だけの行とか絶対出ないし
総合的に見てもせいぜいエラー率150%くらいのもんだろ

118 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 21:19:29.59 ]
関数の引数に「in」って付けたとき、昔はC++で言うconst参照の意味だったと思うのだけど、今はそうなってないのはバグ?
関数の引数に「scope」って付けても何も変わらないような気がするけど、値渡しで「const scope」無意味じゃない?

119 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 21:24:35.44 ]
enum str = "a";
str = "b";
代入できちゃうな
これってバグだよね

120 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:22:46.45 ]
出来ないけど何言ってるの?
ideone.com/AjSpV

121 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:31:49.86 ]
そのコンパイラ一周りも古い
肩の力抜けよ。ここはDスレだぜ

122 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:32:53.43 ]
ideoneがランタイムエラーになっているのはlinuxだから。
windowsだと普通に代入できるよ。
そもそも、そこは「Error: constant str is not an lvalue」とコンパイルエラーになるべき。

123 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 15:22:59.79 ]
2.055

124 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 15:51:47.98 ]
キターーーーー

125 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:04:26.57 ]
というのはガセ



126 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:08:01.13 ]
ライオンとピーマンを追加してカロリー0の豆腐を考慮に入れたらしい

127 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 19:38:22.26 ]
圧倒的じゃないかdmdのバグ量は…

128 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 22:00:36.32 ]
バグを作る為に新機能を追加してるんだってば
D使いのくせにそんな事も知らないの?

129 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 23:32:21.70 ]
コンパイラやライブラリだけじゃなくユーザコードもバグらせるDさん

130 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 23:37:03.05 ]
そういう時はバージョンを戻せば大丈夫でしょw

131 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 22:40:09.84 ]
ttp://techtarget.itmedia.co.jp/tt/news/1109/08/news04.html
Tangoはじまったな

132 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 01:49:26.32 ]
itmediaとな…その時点で、D関係ねぇな…
うん関係なかったな

133 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 02:20:33.13 ]
>> 57

d.puremagic.com/issues/show_bug.cgi?id=6609
Bugzillaに登録して

https://github.com/D-Programming-Language/phobos/pull/250
Pull request出した

134 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:02:33.69 ]
D言語はJavaやC#が後方互換性を維持してる意義がよく分かる言語だな
もはやぼくのかんがえたさいきょうのぷろぐらみんぐげんご

135 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:37:41.65 ]
>>133
乙なんだな

bitbucketばっかり使ってるけどgithubにもアカウント作っとこうかしらん



136 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 14:45:07.68 ]
おい2.054から2.055にしたのにoverride:がthis()にかかってるとか
どうして今までコンパイル通ってたのかわからないような部分を修正しただけで動いちまったぞ
どうなってるんだ?Dはもう終わっちまったのか?

137 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 14:46:17.98 ]
焦らしプレイか……。

138 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 16:44:42.91 ]
うひゃあ、getExt()をextension()に変えたりfnmatch()をglobMatch()に変えたりしてたら
途端に何もかも動かなくなった
びっくりするほどユートピア!

139 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 18:08:47.95 ]
俺のソース上のstd.algorithm.removeがコンパイル通らなくなったから
どこが悪いのかとunittestと比較しようとしたら
unittestからコピペしてきたのもコンパイル通らなくてワロタ

140 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 18:12:19.45 ]
まさにD!

141 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 19:55:30.77 ]
std.path の変更はただのリネームじゃなかった気がするが

・・・と思ったらレファレンスが更新されてNEEEE!

142 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 20:27:51.43 ]
unittestが仕様です は罠

143 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:10:10.61 ]
D back in top 20!
ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html?a

144 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:42:16.19 ]
void main(){}

2.053 => 146,972 バイト
2.054 => 149,532 バイト
2.055 => 150,556 バイト

順調にむくんでいってる

145 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:58:32.44 ]
そのうち150,550 byteくらいはGCなんだろうな



146 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:58:49.27 ]
>>139は間違いだった反省している
むしろ今までコンパイル通ってたのがおかしかった

147 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 22:45:55.54 ]
globMatch()はなにかおかしい…。たまにglobMatch内でAssersionFailure起こす。

148 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 22:56:47.36 ]
なんか053から055にバージョン上げたら文脈によってnewで落ちるようになった
またGC周りの何かの予感が
自分のバグならいいけど・・いやいくないけど

149 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 23:02:01.31 ]
>>147
'['が含まれてるパスがおかしいのは確認した

というか'['とか普通にパスに使える文字じゃないの?なんなのこの仕様

150 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:06:28.19 ]
第2引数何指定してる?

151 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:38:38.06 ]
>>149
UNIX系のシェルだと、[ABC]でAかBかCのどれか、みたいなワイルドカードが使えるものがあるんだよ。

……本当に'['を指定したい時のための記法は用意されてるんだろうか。

152 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:46:08.96 ]
fnmatch()には「エスケープはできません(キリッ」と書かれてのけぞったが
replace("[", "[[]")でなんとかなった
glabMatchはそれやるとassertで落ちる

153 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 05:03:12.23 ]
globMatchの第2引数では[]{}は特別な意味持ってるから開きと閉じの個数が合ってないと落ちるよ、てか落とすよ

154 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 05:20:47.30 ]
D言語のライブラリ、Tangoの次はMank(ry

155 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 08:35:13.32 ]
大人しく普通のワイルドカードで比較するか



156 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 08:45:34.34 ]
そのうち例外出すように変わるだろうね

157 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 09:40:41.88 ]
男らしく副作用が多すぎて使い物にならない関数の代表を目指してほしい

158 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 09:55:54.49 ]
strtokさんを超えてくれ

159 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 17:34:05.26 ]
ドキュメントは d-p-l のサイトだけ更新されたな
やっぱりこっちが本家なのか

日本語との照会がしづらくなるのう

160 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:06:34.25 ]
public auto hoge() @property { return 0; }
これがコンパイル通らないのって仕様?@2.055
public int hoge() @property { return 0; }

public auto hoge() { return 0; }
はもちろん通る

161 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:08:59.49 ]
std.path.getExt() -> extension() の危険な罠を回避した
手をつけるのを遅らせておいてよかった・・・

162 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:10:02.59 ]
@property {
public auto hoge() { return 0; }
}
でとりあえずコンパイルはできるみたい。

163 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:14:38.02 ]
>>161
あれどうしてあんな風になったんだろ?

164 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:25:14.51 ]
元の getExt() にドットが含まれない方が違和感あったから
俺はこっちがいい

165 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 19:25:24.14 ]
static if (__VERSION__ < 2055) {
std.algorithm.sort!"std.path.fcmp(a.name,b.name)<0"( list );
} else {
std.algorithm.sort!"std.path.filenameCmp(a.name,b.name)<0"( list );
}

こういうのをもっと簡単に書けないものか・・・

alias pred UZEEEEEEE



166 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 20:08:22.80 ]
何度もやるならalias使うしか

167 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 20:52:58.99 ]
std.path.rel2abs(".") -> absolutePath(".") も罠だった

カレントディレクトリ取る方法が他にあれば・・・






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<146KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef