14/03/30 11:12:18.99 oSarRJOs
プログラミング言語 D (D Programming Language) について語るスレッドです。
■本家
URLリンク(dlang.org) - 公式(英語)
URLリンク(www.kmonos.net) - 公式の和訳
URLリンク(d.puremagic.com) - D言語バグ報告
URLリンク(github.com) - D言語開発リポジトリ
■Wiki
URLリンク(dusers.dip.jp) - D言語友の会(日本語フォーラムあり)
URLリンク(prowiki.org) - Wiki4D(公認Wiki)
■前スレ
D言語 Part32
スレリンク(tech板)
■過去スレ、関連スレ
URLリンク(makimo.to:8000)
2:デフォルトの名無しさん
14/03/30 11:15:13.49 oSarRJOs
■IDE
URLリンク(www.dsource.org) - Visual D(Visual Studioプラグイン)
URLリンク(code.google.com) - DDT(Eclipseプラグイン)
URLリンク(mono-d.alexanderbothe.com) - Mono-D (MonoDevelop プラグイン)
■ライブラリ
URLリンク(www.dsource.org) - DWT(GUIライブラリ)
URLリンク(www.dsource.org) - GtkD(GUIライブラリ)
URLリンク(github.com) - DFL(GUIライブラリ・非公式最新版)
URLリンク(www.dsource.org) - Derelict(SDL/OpenGLなどのポーティング)
URLリンク(www.ku6.jp) - 傾き指向プログラミング(SDLなどのポーティング)
■OMF<->COFF変換ツール
URLリンク(www.agner.org)
■D言語で作られたゲーム
URLリンク(www.nicovideo.jp) - D言語で作られた芝ゲー niconico動画
URLリンク(www.asahi-net.or.jp) - ABA Games
■テンプレの直し
ソース貼付サイト URLリンク(dpaste.dzfl.pl)
新Wiki URLリンク(wiki.dlang.org)
今生きてる?
URLリンク(www.dsource.org)
プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu
URLリンク(www.amazon.co.jp)
3:デフォルトの名無しさん
14/03/30 11:19:12.96 0gK4mhb1
新スレ記念にマジレスすると
Qt とか Python とか知ってしまうと
D いらないんだよね
4:デフォルトの名無しさん
14/03/30 11:23:20.85 Ubp7wCfs
QtはともかくPythonとDは単純には比較出来ないな
ネイティブじゃなくても済む用途では大抵Pythonで足りると思うけど
5:デフォルトの名無しさん
14/03/30 11:38:38.38 o9ag65ui
ソース貼付サイト URLリンク(dpaste.dzfl.pl)
新Wiki URLリンク(wiki.dlang.org)
<$><$> URLリンク(www.bountysource.com)
そろそろ次スレだな~と思いつつ
テンプレの直しを忘れていたな
6:デフォルトの名無しさん
14/03/30 11:43:44.43 o9ag65ui
>>2 の後についてるじゃん・・・
prowikiとwiki.dlangを入れ替えてくれればよかったのに
後 dsource系も全部入れ替えたかった
7:デフォルトの名無しさん
14/03/31 12:18:18.92 D1GO4u2R
vibe.dのソースみると、色んな機構を全部自前で実装してて大変そうだ
汎用的な部分を切り出してライブラリにしてくれないかなぁ
8:デフォルトの名無しさん
14/04/02 10:36:51.92 8w2UJ6xF
URLリンク(sourceforge.jp)
米FacebookがC/C++プリプロセッサ「warp」をオープンソースで公開、高速な処理が特徴
2014年4月1日18:30 末岡洋子
米Facebookの開発者は3月28日、C/C++言語向けのプリプロセッサ「warp」をオープンソース
で公開した。Facebook社内で開発したもので、同社ではGNU cppに代わる高速なプリプロセッサ
として利用しているという。
FacebookがD言語設計者のWalter Bright氏とのコラボレーションにより開発した。
C/C++バイナリ構築のプリプロセス時間を短縮することを目的に設計した。パイプ&フィルター
(pipes-and-filters)スタイルを採用し、コンポーネント化を進めることで高速化を図っている。
大規模なコードベースと多数の依存性がある複雑なプロジェクトにおいて、デバッグおよび
ビルド速度を10~40%改善したという。
warpはCentOS 6のみで検証済み。今後対応OSを増やしていくとしている。
ビルドにはD言語が必要。ライセンスはBoost Software License 1.0。
warpのGitリポジトリ
URLリンク(github.com)
9:デフォルトの名無しさん
14/04/02 10:42:32.04 ueE6QFcL
> ビルドにはD言語が必要
www
10:デフォルトの名無しさん
14/04/02 15:00:31.24 UvREGYKd
ビルドには書籍「プログラミング言語D」が必要です。
11:デフォルトの名無しさん
14/04/03 01:44:00.74 hYdkI11b
日付見ろ日付
12:デフォルトの名無しさん
14/04/03 07:24:43.19 oN99KWq6
warpは少し前に完成してたけど
13:デフォルトの名無しさん
14/04/03 09:26:31.84 CP8BnsY7
4/1だからと言ってなんでもかんでもAFってわけでもない
14:デフォルトの名無しさん
14/04/04 16:02:43.67 gc2i2IVv
エラーメッセージに表示されるコード片ってどれも脱糖した後なんかな
test.d(11): Error: cannot implicitly convert expression (cast(immutable(char)*)foo()) of type immutable(char)* to string*
15:デフォルトの名無しさん
14/04/04 16:17:55.99 UPfoP0f4
D終わったか・・・
URLリンク(ufcpp.wordpress.com)
URLリンク(msdn.microsoft.com)
【プログラミング速報】.NET Frameworkがオープンソース化!MS,Mono,GitHubなどが.Net財団設立へ
スレリンク(poverty板)
[速報]米マイクロソフト、C#/Visual Basic次世代コンパイラ「Roslyn」を
オープンソースで公開。独自言語など開発可能に。Build 2014
URLリンク(www.publickey1.jp)
16:デフォルトの名無しさん
14/04/04 16:44:51.92 JzfvGMgJ
RoslynでD#が作り上げられ
逆襲が始まるのでは
17:デフォルトの名無しさん
14/04/04 16:54:00.87 /tt/9E5O
D.Net作ればいいやん
C#がネイティブコンパイルできたとしてもCのポジションではないような
Dはシステムに近いコードも書ける長所がある(と思う)
18:デフォルトの名無しさん
14/04/04 17:32:53.11 gc2i2IVv
.Netのオープンソース版はMS謹製じゃないというだけで今までも有ったし、D.Netを開発していた人も居た(その後の経過はお察し)
19:デフォルトの名無しさん
14/04/04 17:50:50.62 ZtsQOPBg
MS/Windows に寄り添う連中はコミュニティの資産を築いて守るとか興味ないんじゃないかな
20:デフォルトの名無しさん
14/04/04 19:19:15.93 Tkp1+6Vq
大人になっても低い『自己肯定感』を飛躍的に高める5つの習慣
1.ほめられたら「ありがとう」といってみよう
2.台所をきれいにして、お料理をしてみよう
3.失敗したら「今回は失敗した」と考えるくせをつけよう
4.「D言語」を禁止する
5.自己肯定感は高けりゃいいもんじゃない!
URLリンク(goodluckjapan.com)
21:デフォルトの名無しさん
14/04/04 21:08:33.31 R0yHAQ3Q
(´゚д゚`)
22:デフォルトの名無しさん
14/04/04 23:27:23.96 hvv4ZV1u
何か勘違いがあるようだな
そもそも始まってすらいない
23:デフォルトの名無しさん
14/04/04 23:34:23.80 6t2n97/t
Dのコミュニティ
24:デフォルトの名無しさん
14/04/05 11:50:08.90 AlWzj+6w
convert!("days", "hours")(31) とか dur!"days"(31) みたいな感じで、動作をテンプレート引数にするのは何か利点があるのかな
convert(31, TimeUnit.days, TimeUnit.hours) とか dur(31, TimeUnit.days) みたいなインタフェースもあった方が、
実行時にユーザの入力によって単位が変わるような状況にも簡単に対応できて良いんじゃないの?
テンプレートになってると、使われる可能性のある全ての単位についてインスタンス化しないといけないと思うんだけど
テンプレートにする利点とか、この点について参考になるフォーラムのスレッドとかあったら教えてください
25:デフォルトの名無しさん
14/04/05 12:04:35.82 aT2aTLkp
テンプレート使うとしても文字列じゃなくて定数でいいんじゃねぇの?とも思うな
なんで文字列でテンプレート引数なんだろ
26:デフォルトの名無しさん
14/04/05 15:09:44.32 OY212SP5
実行時に単位が変わり得るから文字列なんじゃね
普通に型渡すと書かれてる分しかインスタンス化されないし
27:デフォルトの名無しさん
14/04/05 16:13:25.98 aT2aTLkp
テンプレート引数だけど実行時に変わるの?
と思ったけどコンパイル時にバリバリ変わりうるのか
28:デフォルトの名無しさん
14/04/05 16:21:16.35 AlWzj+6w
>>26
テンプレート引数はコンパイル時に決定されないと駄目なので……
それに文字列の場合も書かれた分だけインスタンス化されます
29:デフォルトの名無しさん
14/04/05 18:28:07.14 loi852VO
俺の印象だと、Goと立ち位置が被ってるんだけど
ここの住民の皆さんはどう考えますか
応用が若干違うというか、Goはサーバープログラム全般、
Dはゲームに使われてるって感じはするけど
30:デフォルトの名無しさん
14/04/05 21:13:19.29 46vlRM1W
goとは似てないだろ
goはシステムレベル言語を志向してない
被ってるのはrust
31:デフォルトの名無しさん
14/04/10 17:03:36.66 dNpYH1lz
かぶってるのはC
32:デフォルトの名無しさん
14/04/11 13:40:19.48 qSzwuFMo
そろそろD言語3って本当なの?
33:デフォルトの名無しさん
14/04/12 12:48:06.21 9BhBrkhV
2009年ごろは本当と言えたんだがw
D2の立ち上げ方は大失策だったとうぉるたん自身認めている
34:デフォルトの名無しさん
14/04/12 13:30:03.87 UapBJj1i
名前が良くないよね
3Dにするべきだった
35:デフォルトの名無しさん
14/04/12 21:29:57.14 Um6TiL0Z
なにが失策だったん?
1とか2なんて作るべきじゃなかったって?
36:デフォルトの名無しさん
14/04/12 22:08:39.58 9BhBrkhV
:3D
37:デフォルトの名無しさん
14/04/12 22:41:49.92 Ng8eLNYY
D3は社名だから飛ばしてD4にすべきだな
38:デフォルトの名無しさん
14/04/12 22:58:07.60 hUjabRUg
小さいバージョンアップはアルファベットの添字で区別だな
D4A、D4B、D4C…
39:デフォルトの名無しさん
14/04/12 23:44:01.97 rUzF/sBO
いつもたやすく行われるえげつないアップデート
40:デフォルトの名無しさん
14/04/13 00:07:00.62 FPoAABT8
いつもたやすく行われるえげつない仕様変更
41:デフォルトの名無しさん
14/04/13 00:07:53.64 FPoAABT8
いとも
42:デフォルトの名無しさん
14/04/13 07:16:05.20 qnyX9I3J
4.0A->4.0Bはかなりえげつないアップデートというか超えられない壁だった
43:デフォルトの名無しさん
14/04/15 17:54:43.94 ZiuccpsX
import std.parallelism;
void main() {
auto p = new TaskPool;
}
44:デフォルトの名無しさん
14/04/19 07:39:44.06 nYuw6hja
p.finish() or p.kill()
45:デフォルトの名無しさん
14/04/20 23:41:44.54 eqUDgrbl
ねぇ、Dってプロで誰が使ってるの?
46:デフォルトの名無しさん
14/04/20 23:45:16.36 DFy2aWIc
結構前にいた、Dで業務で納品するプログラム作った(?)って言ってた人
あの人は少なくともその当時はプロといえたんじゃないかな
47:デフォルトの名無しさん
14/04/21 01:59:34.32 vFAy+4Ub
プロジェクトのプロダクトであるプロパーなプログラム
48:デフォルトの名無しさん
14/04/21 04:29:52.17 OswYx45F
懐かしいな納品した人。
BOFももう6年前くらいになるのか
49:デフォルトの名無しさん
14/04/21 08:48:04.77 iXDirvvO
バージョン変わったらソースから書き直すんだろ
引き継いでメンテさせられる方はたまったもんじゃないな
50:デフォルトの名無しさん
14/04/21 10:52:14.33 vFAy+4Ub
古いコンパイラ使えばいいだけじゃね
51:デフォルトの名無しさん
14/04/21 10:55:02.76 fKV6ATCG
ライブラリとかあまり依存させないようにすれば
そのバージョンの開発環境ごと残したりできる
開発環境・実行環境をポータブルに保つなら有用
52:デフォルトの名無しさん
14/04/21 12:21:47.94 qtHldiIk
>>45
フェースブックのバックエンドって話じゃなかったの?
53:デフォルトの名無しさん
14/04/21 23:26:32.67 0HxEE5y6
>>45
>>8
54:デフォルトの名無しさん
14/04/22 00:35:13.46 iW92QTdj
俺が業務で必要になったツールをちょいと作るのに使ってるのはプロが使ってるとは言わない・・・か
55:デフォルトの名無しさん
14/04/22 15:02:18.92 QveWaMVI
よろしい
許可します
56:デフォルトの名無しさん
14/04/22 20:40:38.15 X3kPdAVe
>>8
warpって、Windowsに負けたOSと同じ名前じゃん。
57:デフォルトの名無しさん
14/04/23 06:57:17.83 FFaG/QbY
ワスプ撃沈
58:デフォルトの名無しさん
14/04/23 18:36:32.37 8qVBJOFV
DIP60: @nogc attribute
URLリンク(wiki.dlang.org)
59:デフォルトの名無しさん
14/04/23 19:14:41.78 5LW5gntL
あれ・・前は「内部でGC呼んでるとこがわかるようにする」
みたいのじゃなかったっけ?
勘違いかな
60:デフォルトの名無しさん
14/04/23 19:23:22.48 Na8exnyH
それもやる
これもやる
ってことじゃないかな
61:デフォルトの名無しさん
14/04/23 19:36:47.62 5LW5gntL
なるほど
62:デフォルトの名無しさん
14/04/24 00:29:43.12 OZUK9Izi
破壊的変更?
63:デフォルトの名無しさん
14/04/24 09:12:31.42 mnsZs1hI
-vgc は既に入ったよ
標準ライブラリが一通り追従しないと実用的じゃないと思うけど
64:デフォルトの名無しさん
14/04/24 10:46:27.79 LJ192m/8
ああーコンパイラスイッチの方は既に入ってるのか・・
-vgc で、GCのメモリ確保をリスト表示
@nogc で、GCのメモリ確保を警告(但しCTFEはOK)
65:デフォルトの名無しさん
14/04/24 20:32:09.32 ZRk9R+R1
コンパイル時ならGC動かしていいとか熱いわ
66:デフォルトの名無しさん
14/04/25 13:04:50.38 jPmvuOB6
コンパイル時のみに特化したテスト用サーバーが要求される日は近いな
67:デフォルトの名無しさん
14/04/25 15:56:30.69 rIfJx988
そもそもコンパイル時ってGC動くのか?
フォーラムでGC入れると遅くなるよ的な話してるんだけど、つまり今は無いってことだよね
68:デフォルトの名無しさん
14/04/25 19:39:46.81 jPmvuOB6
GCを前提としたnew,mallocならガンガン使われてるよ(真顔)
69:デフォルトの名無しさん
14/04/25 22:23:02.74 GT7mg3QG
>>67
コンパイル時計算で長さ不定の配列を計算過程に使ったらGCひつようじゃね?
CTFEの仕様知らないけど。
定数を返すようになるはずだから、そこまで持ってくのにはGCいるでしょ。
70:デフォルトの名無しさん
14/04/25 22:50:48.13 rIfJx988
>>69
Walter曰く、
> I made a build of dmd with a collector in it.
> It destroyed the speed. Took it out.
これがコンパイル速度の秘密か……
71:デフォルトの名無しさん
14/04/25 22:58:10.90 lgSageRr
「コンパイル時のGC」と「ランタイムのGC」は全くの別物でしょ
72:デフォルトの名無しさん
14/04/25 22:59:34.09 GT7mg3QG
あれ?DMDってDMDでかかれてるんだっけ?
73:デフォルトの名無しさん
14/04/26 00:29:26.43 BSsIs6S6
C++製だよ
このcollectorってのはBoehmGCだったと思う
一時入ってたよね
74:デフォルトの名無しさん
14/04/26 03:08:41.15 pdO++Zde
コンパイル時の処理は内部構造のツリー操作が基本
75:デフォルトの名無しさん
14/04/26 03:09:25.97 pdO++Zde
操作=部分的な組み換え
76:デフォルトの名無しさん
14/04/26 12:01:38.32 ciZFgagp
>>72-73
なんでD使ってないの?
実用にならないから?
77:デフォルトの名無しさん
14/04/26 13:09:02.01 pdO++Zde
スピード狂のうぉるたんがそんなこと許すはずがない
78:デフォルトの名無しさん
14/04/26 13:20:24.06 BSsIs6S6
これおかしい
ヌル以降を無視するのが正常だよね?
sc.yutopp.net/entries/535b307543f75e31400007fc
>>76
そうだよ(便乗)
makeの時にD言語へ変換してコンパイルするって話もあるが
github.com/D-Programming-Language/dmd/pull/3410
79:デフォルトの名無しさん
14/04/26 14:20:50.48 maxCcAxD
ゼロターミネートはCのprintfとかの仕様なんで・・・
80:デフォルトの名無しさん
14/04/26 17:41:32.10 pdO++Zde
これはひどい
81:デフォルトの名無しさん
14/04/26 18:21:23.47 BSsIs6S6
>>79
そうみたいですねー
単一引数のwritelnだけヌルで表示が終わるのは、
高速化のためにwriteln内部でfprintf使ってるのが原因だったようで…
82:デフォルトの名無しさん
14/04/26 23:24:06.06 maxCcAxD
phobosのC依存がヤバイ
最近ましになったけどまだヤバイ
83:デフォルトの名無しさん
14/04/27 00:29:50.55 3I8p77UE
@nogcの次はnamespaceか
84:デフォルトの名無しさん
14/04/27 01:34:59.71 tMnP8Ntb
またうぉるたんか。諦めてなかったのか
URLリンク(wiki.dlang.org)
もうこれ以上名前解決を複雑にするのはヤメロッテ
85:デフォルトの名無しさん
14/04/27 10:03:06.37 NuojISZA
module hoge.kore;
を
namespace hoge.kore:
に書き換える仕事が始まるの?
86:デフォルトの名無しさん
14/04/27 10:18:06.09 3I8p77UE
別にDのモジュールに競合するもんじゃなくて、namespaceが付いてるC++の関数を呼ぶための機能なのかな
> Currently, there is no support in D to call C++ functions in namespaces.
C++の為に新しいキーワードを追加するのは負けっぽい感じがする……
externにnamespaceへの参照を書けるようにだけして、D側ではモジュール使うとかで良いのにね
87:デフォルトの名無しさん
14/04/27 14:59:57.30 05N9/iDm
-vgc @nogc ときて、今度はnamespaceか
C++からの乗り換えキャンペーンでも始まるの?
88:デフォルトの名無しさん
14/04/27 20:00:40.15 Vxyi8oSx
C++のアクセスなら、SWIGみたいな外部ツール使えないのかな。
使ったことないからよくわからんけど。
89:デフォルトの名無しさん
14/04/28 18:27:07.47 7OVUzoPA
extern(C++, namespace)に落ち着いたか
しかしexternごときがD言語側に名前空間を作っちゃうのも、これはこれで気持ち悪いな
90:デフォルトの名無しさん
14/04/28 20:03:51.15 qL0Qca/s
確かに、externに引数が並んでるのに違和感あるかな
けど、Dのモジュールの中にnamespaceを閉じ込められるなら
破壊的変更にはならないね(残念)
91:デフォルトの名無しさん
14/04/29 00:58:10.09 devc/baf
宣言文じゃないのにシンボルが増えるというのが非常にきもちわるい
92:デフォルトの名無しさん
14/04/29 14:06:42.02 tuCmfcOr
>C++の為に新しいキーワードを追加するのは負けっぽい感じがする……
まさにこれ
93:デフォルトの名無しさん
14/04/29 15:08:47.84 devc/baf
pragma でよかったんじゃ
extern もろともなくすべきなんじゃ
94:デフォルトの名無しさん
14/04/29 16:13:39.75 pvgpWpOe
わかります
95:デフォルトの名無しさん
14/04/29 22:31:55.63 pkBpl5m8
devc/baf ってなんかいいな
96:デフォルトの名無しさん
14/05/01 16:34:19.67 6z5O7ux5
デストラクタ廃止ってマジ?
97:デフォルトの名無しさん
14/05/01 17:23:04.39 7C5boMZl
間違ってデストラクタ使う被害者がこれ以上出ないように
廃止するのは賛成
98:デフォルトの名無しさん
14/05/01 20:51:01.95 0oza+WQR
オブジェクトが破棄されるタイミングでやりたい事って案外無いよな
大抵はスコープを抜けるタイミングでやりたい事だもんな
99:デフォルトの名無しさん
14/05/01 21:10:04.46 7C5boMZl
デストラクタの中で何かやってるつもりでも
一度も呼ばれないってことも結構あるし
100:デフォルトの名無しさん
14/05/01 21:49:10.84 v0Y0ltE+
だいたいscope(exit) hoge.dispose();だからな・・
101:デフォルトの名無しさん
14/05/02 07:53:43.62 KPrlDK0D
メモリ管理自分で書くならD使う意味が無い
freeとかdeleteとかと変わらん
102:デフォルトの名無しさん
14/05/02 10:56:24.98 G4Q+sCxM
「定期的にGC動かすためだけのスレッド」を作ってくれる関数を、
標準ライブラリに用意すれば、デストラクタの使い道も変わるかも
103:デフォルトの名無しさん
14/05/02 12:11:44.84 brLwemZd
>>101
スコープ出るときに効くんだから
>>100 の書き方は便利だし意味があるよ
104:デフォルトの名無しさん
14/05/02 13:11:18.42 blXeKn1i
>>101 は全く違う話をしている
105:デフォルトの名無しさん
14/05/02 14:52:31.90 p8pwekjp
Dの管轄外のリソースを管理するときにデストラクタだけではあまりに心許ない
106:デフォルトの名無しさん
14/05/02 16:03:15.93 JnFUlpC1
え、デストラクタなくなるの?
初歩的な質問かもしれんけど
今までは scope hoge = new Hoge; だけでよしなにやってくれたのが
scope(exit) hoge.dispose(); とか、
destroy(hoge); だっけ? とか書かないといかんの面倒に感じるんだが
どういう流れなの?
107:デフォルトの名無しさん
14/05/02 16:08:54.71 blXeKn1i
よしなにやってくれていたという幻想
108:デフォルトの名無しさん
14/05/02 16:21:53.47 JnFUlpC1
なん・・だと・・?!
109:デフォルトの名無しさん
14/05/02 16:30:25.36 JnFUlpC1
あ、destroy(hoge)は関係なかった・・
110:デフォルトの名無しさん
14/05/02 18:29:34.17 0U4Igm5b
フォーラム見ると、デストラクタ廃止に反対してる人は多いみたいね
英語力無いから内容はよく分からんが
111:デフォルトの名無しさん
14/05/03 11:41:56.53 jF/2O4SL
クラスってあまり使わない
112:デフォルトの名無しさん
14/05/03 13:00:36.35 C4/8a7In
たしかにクラスなんて面倒くさい、多様な継承を許さないのは未熟者が多いせいだ。
ん~まあ、scope, try - catch - finary とかもあまり使わないな。
ふんだんにリソースを使っているとにに限って頑張るCG!
だいたい型つけが強い関数なんてあるから cast() で引数を間違うんだ!
そもそも、foreach regnge ってなにさ、renge を効率よく作らなくてはと強迫されているようだ
いつから switch って default 付けないと怒られるようになった!
CTFE なんてあるから、コンパイル時に頑張ろうとしすぎる。
static if って便利なようで便利じゃないじゃんw
一週間たつと自分で書いた OneLiner のコードが読めなくなる。
と思いつつ、d言語を使うのであった。
113:デフォルトの名無しさん
14/05/03 13:19:14.95 Dtr708N3
読める、読めるぞ
114:デフォルトの名無しさん
14/05/03 13:40:57.56 NUO+XoEk
縦読みっぽいけどそうじゃないのか
115:デフォルトの名無しさん
14/05/03 16:22:24.21 C4/8a7In
disるのも愛の一つ
116:デフォルトの名無しさん
14/05/03 18:46:36.84 Dtr708N3
disれてないんだよなぁ……
117:デフォルトの名無しさん
14/05/03 19:01:12.92 NNpB4isO
うーん、disというよりあまりD言語を把握できてないだけなんじゃないかなぁ
慣れもあるかもしれないけどね
個人的には、やっぱり標準ライブラリが微妙だと思う
洗練されてない部分がまだ多い
118:デフォルトの名無しさん
14/05/04 08:17:55.31 tIlgksMI
デストラクタをちゃんと呼ぶGCが作れないのは何故?
やってる言語もあるのに
119:デフォルトの名無しさん
14/05/04 10:46:43.71 QXbdMCU9
やってる言語なんかねーよ
やってるように見えても、GC中全スレッドを止めるとか変なルールが大量にあるとか微妙なのばっかだ
120:デフォルトの名無しさん
14/05/04 11:04:17.33 Bu5D/Ogc
Obj-CのGCは?
121:デフォルトの名無しさん
14/05/04 11:35:09.48 dMbtMIdw
にわかが多いなw
122:デフォルトの名無しさん
14/05/04 11:45:55.48 kkY/TYaH
C++最強無敵!!
123:デフォルトの名無しさん
14/05/04 13:43:35.25 aqdlSFYo
デストラクタが呼ばれないケースってあるのか?
124:デフォルトの名無しさん
14/05/04 13:43:58.82 PKtoVgDn
C++erにはこれをどぞ
sc.yutopp.net/entries/5365c46943f75e3140000da2
125:デフォルトの名無しさん
14/05/04 14:17:07.50 onUxYY9O
>>123
例えばプロセス終了時にアプリがメモリ回収するくらいならOSにやらせる。という戦略もあるそうだ。
そういう時はアプリはターミネートしてOSがページごと破棄するのでデストラクタは呼ばれない。
そして、ハンドル類も回収されない。
126:デフォルトの名無しさん
14/05/04 14:23:38.08 G6sgjCKW
それが問題になるとするとアプリがクラッシュしたらゴミが残りまくることになる
127:デフォルトの名無しさん
14/05/04 19:41:19.36 onUxYY9O
アプリクラッシュしたら、ハンドルリークはしてると思うけど、最近のOSは回収してるのかな?
128:デフォルトの名無しさん
14/05/04 19:52:21.66 xA5nmMXs
プロセス終了時に回収するだろ
129:デフォルトの名無しさん
14/05/04 20:21:41.18 onUxYY9O
へぇー。そうなんだ。
いつもそれが怖くてOSプログラムはやりたくなかった。
130:デフォルトの名無しさん
14/05/04 22:14:22.23 Z6Cxw61y
クラッシュするより無限ループの方が怖い
131:デフォルトの名無しさん
14/05/05 13:23:22.36 r2TGCNLc
core.exception.InvalidMemoryOperationError が怖い
132:デフォルトの名無しさん
14/05/05 16:04:48.06 xi43Egaj
饅頭こわい
133:デフォルトの名無しさん
14/05/07 20:32:05.93 BaKW9Opk
Gui系って今どうなってんすか
134:デフォルトの名無しさん
14/05/08 08:17:34.41 Yn6TNSXa
wxD使ってる
他は判らないのでスマソ
135:デフォルトの名無しさん
14/05/08 11:45:33.43 wn4ijeJt
C++との結合が強化されるなら、QtのDバインディング開発が再開してくれればいいな…
136:デフォルトの名無しさん
14/05/08 17:33:53.22 ibsoH7t0
GtkDおすすめ、他の言語のGTKバインディングと遜色ないよ
URLリンク(github.com)
137:デフォルトの名無しさん
14/05/08 19:31:52.92 Mynsh9hv
DFLとDWT現役
wxDと同様DLLまみれにならないのがよろし
138:デフォルトの名無しさん
14/05/08 19:48:34.04 wfJQ+mIZ
>>134
今wxDメンテされてるの?
139:デフォルトの名無しさん
14/05/08 21:51:08.94 XJcFiGzl
URLリンク(code.dlang.org)
久々にみたけど、いろいろあるね
140:デフォルトの名無しさん
14/05/08 23:25:46.60 IKpiIcyq
GPLが大股開きで誘ってる
141:デフォルトの名無しさん
14/05/09 07:39:23.51 H3Me5XKl
久しぶりに弄って見ようと思ってVisualDインスコしたけどVSは相変わらず有効期限がどうたら出て使えナス
ググっても特に何も出ないし、自分の環境だけなんかなこれ
142:デフォルトの名無しさん
14/05/09 08:23:07.25 TkXdcrE/
Twitterに流れてたんで触ってみたけどtkdもかなりよさげ。
143:デフォルトの名無しさん
14/05/09 09:48:10.65 dvCRlMvr
DもClangで造ってはどうか?
URLリンク(developers.slashdot.jp)
144:デフォルトの名無しさん
14/05/09 09:48:59.86 dvCRlMvr
>>136
他のGTKバインディングと遜色ない程度ならいらんな
145:デフォルトの名無しさん
14/05/09 10:18:50.67 Mr0Sp7Ii
>>141
VSのアクチベーションしてないんでしょ
146:デフォルトの名無しさん
14/05/09 15:31:59.22 UorZm4vP
>>143
LDC
URLリンク(wiki.dlang.org)
147:デフォルトの名無しさん
14/05/09 18:29:35.33 kZb9S5gA
Clangは知っててもLLVMは知らなさそう
148:デフォルトの名無しさん
14/05/09 19:26:11.42 /kwvD8VY
dmdのソースをDに変換する仕組みができたってマジ?
149:デフォルトの名無しさん
14/05/10 06:04:55.29 UKCEJh+S
皆さんデバッガーとか使ってるんですか
150:デフォルトの名無しさん
14/05/10 06:05:50.56 AX17qFeB
GDBがD言語サポートしてるのでそれを
151:デフォルトの名無しさん
14/05/10 10:21:52.22 1J9c3/jB
writelnっていうグレートなやつを使ってる
152:デフォルトの名無しさん
14/05/10 14:43:12.71 vuipbNsY
しっかりしたunittestとカバレッジとwritelnがあれば大体足りる
153:デフォルトの名無しさん
14/05/10 16:49:53.26 vuipbNsY
>>148
magicport2 github でぐぐれ
コンパイラがメモリリークで死ぬのは防げそう
string が char* のままとかそういうレベルだしここから先どうすんだろ
154:デフォルトの名無しさん
14/05/10 17:51:08.36 AX17qFeB
[DDMD] Add ddmd manually ported source and build system support #3410
URLリンク(github.com)
155:デフォルトの名無しさん
14/05/11 01:08:34.10 O0lpU4CW
D最近全然更新ないね
156:デフォルトの名無しさん
14/05/11 04:03:01.73 o03oWJtW
何かをやり遂げた後はかなり疲れる
157:デフォルトの名無しさん
14/05/11 06:30:04.03 iFyy5/4/
>>155
次回アップデート予定日は一応5月19日らしい
URLリンク(wiki.dlang.org)
リリース目標は未だに達成されてない模様
158:デフォルトの名無しさん
14/05/11 10:45:52.23 6bj6YQCX
No symbol table is loaded. Use the "file" command.
シンボルテーブルってどうやれば作れるんでしょうか
gdbは32・64Bit両方使ってみたんですがエラー出るんですが。
ちなみに64Bitのgdb使うと
warning: `C:\Windows\SYSTEM32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
Quit (expect signal SIGINT when the program is resumed)
こんな感じでエラー出ます。
159:デフォルトの名無しさん
14/05/11 11:32:49.38 5bM6wK/T
>>158
やりたいことも環境も全くわからん
Win上で DMD/32->GDB をやろうとしてるなら未対応
>>155
2.065の後やりすぎと思うほどどかどか変更が入った
俺の予想ではリリースは来月半ば
160:デフォルトの名無しさん
14/05/11 13:45:11.72 Fjq4go6P
いつのまにscope非推奨になったの!??
デストラクタも非推奨になるとすると
C/C++のバインディング系全滅じゃね??
161:デフォルトの名無しさん
14/05/11 16:38:08.03 iFyy5/4/
scope変数は色々危なかったから仕方ないね
必要ならstd.typecons.scopedを使えってdlang.orgにも書いてある
クラスのデストラクタが非推奨に、ってのもGCはデストラクタを呼ぶ保証が無いから参照カウンタ使えって話でしょ
しかし、何でもライブラリでやろうってのは気にいらんな
この辺の基礎的な部分は言語組込みの方が色々便利だと思うんだが
162:デフォルトの名無しさん
14/05/11 18:51:01.17 5bM6wK/T
コンパイラは小さいにこしたことはない
あえて言えばコンパイルエラーが意味不明になりがちなのが弊害か
163:デフォルトの名無しさん
14/05/12 23:35:16.56 ZtmTFQ/l
invariant() の () がやられたらしい
164:デフォルトの名無しさん
14/05/13 00:14:54.00 tJgFTBc/
あれって構文解析の都合で付いてたのかよ…
165:デフォルトの名無しさん
14/05/13 00:34:43.68 2r3q1gkh
std.typecons.scopedもスタック上にメモリ取ってくれるのかな?
166:デフォルトの名無しさん
14/05/13 06:55:57.53 tJgFTBc/
はい
167:デフォルトの名無しさん
14/05/13 13:10:40.61 I3YIR7QR
関数の戻り値の型推論とメンバのオーバーライドは相性悪いみたいだけど
将来対応する予定とかあるのかな・・・ないならfinalにしてほしい
168:デフォルトの名無しさん
14/05/13 21:08:51.05 /K4LjeLO
公式のPhobosマニュアルに新しいレイアウトがきてる
169:デフォルトの名無しさん
14/05/14 01:12:00.63 PfEAJdFI
デストラクタが非推奨になったらD言語使う意味がなくなるんだが俺…
170:デフォルトの名無しさん
14/05/14 01:24:01.12 iQmPUCPO
デス・トラクター ~死の宣告人~
5/20 放映
171:デフォルトの名無しさん
14/05/14 01:26:26.95 uPLogBgZ
幽霊トラクターがどこまでも追ってくるという内容のB級映画か
172:デフォルトの名無しさん
14/05/14 07:21:09.12 0gp7mrIb
クラス、GC、参照カウンタ
173:デフォルトの名無しさん
14/05/14 09:09:00.30 SmoJI8OF
来るかもしれないって煽っておきながら結局来ないのか
174:デフォルトの名無しさん
14/05/14 19:31:35.02 z8cZm/fT
デストラクタはさすがに D2 では残すんじゃねーの
175:デフォルトの名無しさん
14/05/14 19:34:50.41 FT297TjW
>>163
static this「奴は我々の中でも一番の小物」
176:デフォルトの名無しさん
14/05/14 19:40:34.31 eTwx7JM5
あたしさっきハンガリアンの彼と別れてきたわ
イケてないじゃない
177:デフォルトの名無しさん
14/05/14 19:49:31.32 9e1uL7m3
国破れてハンガリア
178:デフォルトの名無しさん
14/05/14 21:12:19.06 iQmPUCPO
だっちゅ~の☆
179:デフォルトの名無しさん
14/05/14 23:34:41.79 PSOih+2g
static thisは()が無いとおかしくね? あれモジュールのコンストラクタだろ
180:デフォルトの名無しさん
14/05/15 00:47:08.76 5sMFAW9N
引数なしが明らかなら省いてもいいんじゃね
181:デフォルトの名無しさん
14/05/15 06:03:33.86 UtPqEVIk
クラスの方と書き方が変わるのはなー
182:デフォルトの名無しさん
14/05/15 09:01:48.61 xi9ZoLAu
むしろプロパティとかあるんだから、引数がない関数全般で宣言の()省けてもいいんじゃないか
単なる変数と区別がつかないとかそういうのは、まあどうにかなるだろう
183:デフォルトの名無しさん
14/05/15 09:25:29.69 5sMFAW9N
つまり defとかfnとか付けるんですね
184:デフォルトの名無しさん
14/05/15 20:43:26.37 UtPqEVIk
既に宣言周りの文法は混雑してるしなぁ
int foo() {} // 関数
int foo()() {} // 関数テンプレート
int foo() = int.init; // 変数テンプレート
int foo(); // 関数プロトタイプ
int foo; // 変数
185:デフォルトの名無しさん
14/05/15 21:45:55.46 bNXT5ksa
解りやすい(グルグル目)
186:デフォルトの名無しさん
14/05/17 04:17:09.99 Wucrn46j
あれ、日本語の公式っぽいサイトはとうとう更新とまってたのか
187:デフォルトの名無しさん
14/05/17 05:52:30.86 wwvCM72E
一、二年ぐらい前から止まってなかった?
かなり変更入ってるから、もう古いドキュメントだって警告入れてくれないかな
188:デフォルトの名無しさん
14/05/18 17:33:56.96 egFZ9eA5
Error 42: Symbol Undefined _D4dgui4core8geometry4Size6opCallFiiZS4dgui4core8geometry4Size
普通にソースコード内にある構造体なんですけど、これdmdのバージョン落とすとか必要なんでしょうか?
189:デフォルトの名無しさん
14/05/18 17:47:50.83 xz6WkwdF
それ普通のリンク漏れじゃないの
190:デフォルトの名無しさん
14/05/18 18:16:03.61 hTP5ZYg1
何がクソって日本人が関わると閉鎖的になるんだよね
191:デフォルトの名無しさん
14/05/18 18:38:35.04 aiwStKdm
>>187
Githubでpull request送れば良いと思うよ
192:デフォルトの名無しさん
14/05/18 18:53:09.68 ruYXH5xa
能力で並グループ、上位グループでそれぞれ固まって並未満は汚物のようにあしらわれる日本の文化は
低脳にも棒グラフの短いほう的需要がある社会の三国人からすると異質に感じるだろうね
たしかに不寛容が過ぎると思うわ
193:デフォルトの名無しさん
14/05/18 19:05:47.41 aiwStKdm
どこの誤爆だ
194:デフォルトの名無しさん
14/05/18 23:15:18.77 ZB44VEet
>>191
しらんかったw
URLリンク(www.kmonos.net)
195:デフォルトの名無しさん
14/05/19 00:14:23.02 B8oDFdUr
本家にはv2.061以降の英語原文が置いてあるけど
現状の日本語訳の元になった原文は何処かにないのかなぁ
英語原文同士の差分が作れないと全部目視確認することになりそう
196:デフォルトの名無しさん
14/05/19 00:18:02.78 tHtfoV9l
>>188
古いライブラリでエラーが出るなら
まずは同時期のバージョンで試すべき
197:デフォルトの名無しさん
14/05/19 00:34:35.67 /4iavZdo
それで上手くいったら、今度は何がエラーの原因かを突き止めて、
現行版のDMDで動くようにライブラリの改良ですね。
198:デフォルトの名無しさん
14/05/19 00:38:23.71 QLgTC1UW
>>195
URLリンク(github.com)
これが近いのかな?
199:デフォルトの名無しさん
14/05/19 00:48:57.50 tHtfoV9l
文法は2.060
URLリンク(github.com)
↓この時点まではターゲットバージョンが書いてあったんだがその後なぜか消されてるな
URLリンク(github.com)
200:デフォルトの名無しさん
14/05/19 00:57:01.09 tHtfoV9l
ライブラリの方は2.052くらいだが
まず先にphobos/druntimeのソースから差分を簡単に取れるツールか何か必要と言って
そのまま止まってるんじゃなかったか
201:デフォルトの名無しさん
14/05/19 06:05:44.25 xEeDrkw/
>>192
日本語でok