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

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

D言語 Part33

1 :デフォルトの名無しさん:2014/03/30(日) 11:12:18.99 ID:oSarRJOs.net
プログラミング言語 D (D Programming Language) について語るスレッドです。

■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳
http://d.puremagic.com/issues/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ

■Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
http://prowiki.org/wiki4d/ - Wiki4D(公認Wiki)

■前スレ
D言語 Part32
http://toro.2ch.net/test/read.cgi/tech/1374022208/

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000

2 :デフォルトの名無しさん:2014/03/30(日) 11:15:13.49 ID:oSarRJOs.net
■IDE
http://www.dsource.org/projects/visuald - Visual D(Visual Studioプラグイン)
http://code.google.com/a/eclipselabs.org/p/ddt/ - DDT(Eclipseプラグイン)
http://mono-d.alexanderbothe.com/ - Mono-D (MonoDevelop プラグイン)

■ライブラリ
http://www.dsource.org/projects/dwt - DWT(GUIライブラリ)
http://www.dsource.org/projects/gtkd - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
http://www.dsource.org/projects/derelict - Derelict(SDL/OpenGLなどのポーティング)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)

■OMF<->COFF変換ツール
http://www.agner.org/optimize/#objconv

■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games

■テンプレの直し
ソース貼付サイト http://dpaste.dzfl.pl/
新Wiki http://wiki.dlang.org/
今生きてる?
http://www.dsource.org/

プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu
http://www.amazon.co.jp/dp/4798131105

3 :デフォルトの名無しさん:2014/03/30(日) 11:19:12.96 ID:0gK4mhb1.net
新スレ記念にマジレスすると
Qt とか Python とか知ってしまうと
D いらないんだよね

4 :デフォルトの名無しさん:2014/03/30(日) 11:23:20.85 ID:Ubp7wCfs.net
QtはともかくPythonとDは単純には比較出来ないな
ネイティブじゃなくても済む用途では大抵Pythonで足りると思うけど

5 :デフォルトの名無しさん:2014/03/30(日) 11:38:38.38 ID:o9ag65ui.net
ソース貼付サイト http://dpaste.dzfl.pl/
新Wiki http://wiki.dlang.org/
<$><$> https://www.bountysource.com/trackers/383571-d-programming-language

そろそろ次スレだな〜と思いつつ
テンプレの直しを忘れていたな

6 :デフォルトの名無しさん:2014/03/30(日) 11:43:44.43 ID:o9ag65ui.net
>>2 の後についてるじゃん・・・
prowikiとwiki.dlangを入れ替えてくれればよかったのに
後 dsource系も全部入れ替えたかった

7 :デフォルトの名無しさん:2014/03/31(月) 12:18:18.92 ID:D1GO4u2R.net
vibe.dのソースみると、色んな機構を全部自前で実装してて大変そうだ
汎用的な部分を切り出してライブラリにしてくれないかなぁ

8 :デフォルトの名無しさん:2014/04/02(水) 10:36:51.92 ID:8w2UJ6xF.net
http://sourceforge.jp/magazine/14/04/01/183000

米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リポジトリ
https://github.com/facebook/warp

9 :デフォルトの名無しさん:2014/04/02(水) 10:42:32.04 ID:ueE6QFcL.net
> ビルドにはD言語が必要

www

10 :デフォルトの名無しさん:2014/04/02(水) 15:00:31.24 ID:UvREGYKd.net
ビルドには書籍「プログラミング言語D」が必要です。

11 :デフォルトの名無しさん:2014/04/03(木) 01:44:00.74 ID:hYdkI11b.net
日付見ろ日付

12 :デフォルトの名無しさん:2014/04/03(木) 07:24:43.19 ID:oN99KWq6.net
warpは少し前に完成してたけど

13 :デフォルトの名無しさん:2014/04/03(木) 09:26:31.84 ID:CP8BnsY7.net
4/1だからと言ってなんでもかんでもAFってわけでもない

14 :デフォルトの名無しさん:2014/04/04(金) 16:02:43.67 ID:gc2i2IVv.net
エラーメッセージに表示されるコード片ってどれも脱糖した後なんかな

test.d(11): Error: cannot implicitly convert expression (cast(immutable(char)*)foo()) of type immutable(char)* to string*

15 :デフォルトの名無しさん:2014/04/04(金) 16:17:55.99 ID:UPfoP0f4.net
D終わったか・・・
http://ufcpp.wordpress.com/2014/04/03/net-native/
http://msdn.microsoft.com/en-US/vstudio/dotnetnative

【プログラミング速報】.NET Frameworkがオープンソース化!MS,Mono,GitHubなどが.Net財団設立へ
http://maguro.2ch.net/test/read.cgi/poverty/1396585709/

[速報]米マイクロソフト、C#/Visual Basic次世代コンパイラ「Roslyn」を
オープンソースで公開。独自言語など開発可能に。Build 2014
ttp://www.publickey1.jp/blog/14/cvisual_basicroslynbuild_2014.html

16 :デフォルトの名無しさん:2014/04/04(金) 16:44:51.92 ID:JzfvGMgJ.net
RoslynでD#が作り上げられ
逆襲が始まるのでは

17 :デフォルトの名無しさん:2014/04/04(金) 16:54:00.87 ID:/tt/9E5O.net
D.Net作ればいいやん

C#がネイティブコンパイルできたとしてもCのポジションではないような
Dはシステムに近いコードも書ける長所がある(と思う)

18 :デフォルトの名無しさん:2014/04/04(金) 17:32:53.11 ID:gc2i2IVv.net
.Netのオープンソース版はMS謹製じゃないというだけで今までも有ったし、D.Netを開発していた人も居た(その後の経過はお察し)

19 :デフォルトの名無しさん:2014/04/04(金) 17:50:50.62 ID:ZtsQOPBg.net
MS/Windows に寄り添う連中はコミュニティの資産を築いて守るとか興味ないんじゃないかな

20 :デフォルトの名無しさん:2014/04/04(金) 19:19:15.93 ID:Tkp1+6Vq.net
大人になっても低い『自己肯定感』を飛躍的に高める5つの習慣

1.ほめられたら「ありがとう」といってみよう

2.台所をきれいにして、お料理をしてみよう

3.失敗したら「今回は失敗した」と考えるくせをつけよう

4.「D言語」を禁止する

5.自己肯定感は高けりゃいいもんじゃない!

ttp://goodluckjapan.com/jikokoute2/

21 :デフォルトの名無しさん:2014/04/04(金) 21:08:33.31 ID:R0yHAQ3Q.net
(´゚д゚`)

22 :デフォルトの名無しさん:2014/04/04(金) 23:27:23.96 ID:hvv4ZV1u.net
何か勘違いがあるようだな

そもそも始まってすらいない

23 :デフォルトの名無しさん:2014/04/04(金) 23:34:23.80 ID:6t2n97/t.net
Dのコミュニティ

24 :デフォルトの名無しさん:2014/04/05(土) 11:50:08.90 ID:AlWzj+6w.net
convert!("days", "hours")(31) とか dur!"days"(31) みたいな感じで、動作をテンプレート引数にするのは何か利点があるのかな
convert(31, TimeUnit.days, TimeUnit.hours) とか dur(31, TimeUnit.days) みたいなインタフェースもあった方が、
実行時にユーザの入力によって単位が変わるような状況にも簡単に対応できて良いんじゃないの?
テンプレートになってると、使われる可能性のある全ての単位についてインスタンス化しないといけないと思うんだけど

テンプレートにする利点とか、この点について参考になるフォーラムのスレッドとかあったら教えてください

25 :デフォルトの名無しさん:2014/04/05(土) 12:04:35.82 ID:aT2aTLkp.net
テンプレート使うとしても文字列じゃなくて定数でいいんじゃねぇの?とも思うな
なんで文字列でテンプレート引数なんだろ

26 :デフォルトの名無しさん:2014/04/05(土) 15:09:44.32 ID:OY212SP5.net
実行時に単位が変わり得るから文字列なんじゃね
普通に型渡すと書かれてる分しかインスタンス化されないし

27 :デフォルトの名無しさん:2014/04/05(土) 16:13:25.98 ID:aT2aTLkp.net
テンプレート引数だけど実行時に変わるの?
と思ったけどコンパイル時にバリバリ変わりうるのか

28 :デフォルトの名無しさん:2014/04/05(土) 16:21:16.35 ID:AlWzj+6w.net
>>26
テンプレート引数はコンパイル時に決定されないと駄目なので……
それに文字列の場合も書かれた分だけインスタンス化されます

29 :デフォルトの名無しさん:2014/04/05(土) 18:28:07.14 ID:loi852VO.net
俺の印象だと、Goと立ち位置が被ってるんだけど
ここの住民の皆さんはどう考えますか

応用が若干違うというか、Goはサーバープログラム全般、
Dはゲームに使われてるって感じはするけど

30 :デフォルトの名無しさん:2014/04/05(土) 21:13:19.29 ID:46vlRM1W.net
goとは似てないだろ
goはシステムレベル言語を志向してない
被ってるのはrust

31 :デフォルトの名無しさん:2014/04/10(木) 17:03:36.66 ID:dNpYH1lz.net
かぶってるのはC

32 :デフォルトの名無しさん:2014/04/11(金) 13:40:19.48 ID:qSzwuFMo.net
そろそろD言語3って本当なの?

33 :デフォルトの名無しさん:2014/04/12(土) 12:48:06.21 ID:9BhBrkhV.net
2009年ごろは本当と言えたんだがw

D2の立ち上げ方は大失策だったとうぉるたん自身認めている

34 :デフォルトの名無しさん:2014/04/12(土) 13:30:03.87 ID:UapBJj1i.net
名前が良くないよね
3Dにするべきだった

35 :デフォルトの名無しさん:2014/04/12(土) 21:29:57.14 ID:Um6TiL0Z.net
なにが失策だったん?
1とか2なんて作るべきじゃなかったって?

36 :デフォルトの名無しさん:2014/04/12(土) 22:08:39.58 ID:9BhBrkhV.net
:3D

37 :デフォルトの名無しさん:2014/04/12(土) 22:41:49.92 ID:Ng8eLNYY.net
D3は社名だから飛ばしてD4にすべきだな

38 :デフォルトの名無しさん:2014/04/12(土) 22:58:07.60 ID:hUjabRUg.net
小さいバージョンアップはアルファベットの添字で区別だな

D4A、D4B、D4C…

39 :デフォルトの名無しさん:2014/04/12(土) 23:44:01.97 ID:rUzF/sBO.net
いつもたやすく行われるえげつないアップデート

40 :デフォルトの名無しさん:2014/04/13(日) 00:07:00.62 ID:FPoAABT8.net
いつもたやすく行われるえげつない仕様変更

41 :デフォルトの名無しさん:2014/04/13(日) 00:07:53.64 ID:FPoAABT8.net
いとも

42 :デフォルトの名無しさん:2014/04/13(日) 07:16:05.20 ID:qnyX9I3J.net
4.0A->4.0Bはかなりえげつないアップデートというか超えられない壁だった

43 :デフォルトの名無しさん:2014/04/19(土) 07:39:44.06 ID:nYuw6hja.net
p.finish() or p.kill()

44 :デフォルトの名無しさん:2014/04/20(日) 23:41:44.54 ID:eqUDgrbl.net
ねぇ、Dってプロで誰が使ってるの?

45 :デフォルトの名無しさん:2014/04/20(日) 23:45:16.36 ID:DFy2aWIc.net
結構前にいた、Dで業務で納品するプログラム作った(?)って言ってた人
あの人は少なくともその当時はプロといえたんじゃないかな

46 :デフォルトの名無しさん:2014/04/21(月) 01:59:34.32 ID:vFAy+4Ub.net
プロジェクトのプロダクトであるプロパーなプログラム

47 :デフォルトの名無しさん:2014/04/21(月) 04:29:52.17 ID:OswYx45F.net
懐かしいな納品した人。
BOFももう6年前くらいになるのか

48 :デフォルトの名無しさん:2014/04/21(月) 08:48:04.77 ID:iXDirvvO.net
バージョン変わったらソースから書き直すんだろ
引き継いでメンテさせられる方はたまったもんじゃないな

49 :デフォルトの名無しさん:2014/04/21(月) 10:52:14.33 ID:vFAy+4Ub.net
古いコンパイラ使えばいいだけじゃね

50 :デフォルトの名無しさん:2014/04/21(月) 10:55:02.76 ID:fKV6ATCG.net
ライブラリとかあまり依存させないようにすれば
そのバージョンの開発環境ごと残したりできる

開発環境・実行環境をポータブルに保つなら有用

51 :デフォルトの名無しさん:2014/04/21(月) 12:21:47.94 ID:qtHldiIk.net
>>44
フェースブックのバックエンドって話じゃなかったの?

52 :デフォルトの名無しさん:2014/04/21(月) 23:26:32.67 ID:0HxEE5y6.net
>>44
>>8

53 :デフォルトの名無しさん:2014/04/22(火) 00:35:13.46 ID:iW92QTdj.net
俺が業務で必要になったツールをちょいと作るのに使ってるのはプロが使ってるとは言わない・・・か

54 :デフォルトの名無しさん:2014/04/22(火) 15:02:18.92 ID:QveWaMVI.net
よろしい
許可します

55 :デフォルトの名無しさん:2014/04/22(火) 20:40:38.15 ID:X3kPdAVe.net
>>8
warpって、Windowsに負けたOSと同じ名前じゃん。

56 :デフォルトの名無しさん:2014/04/23(水) 06:57:17.83 ID:FFaG/QbY.net
ワスプ撃沈

57 :デフォルトの名無しさん:2014/04/23(水) 18:36:32.37 ID:8qVBJOFV.net
DIP60: @nogc attribute

http://wiki.dlang.org/DIP60

58 :デフォルトの名無しさん:2014/04/23(水) 19:14:41.78 ID:5LW5gntL.net
あれ・・前は「内部でGC呼んでるとこがわかるようにする」
みたいのじゃなかったっけ?
勘違いかな

59 :デフォルトの名無しさん:2014/04/23(水) 19:23:22.48 ID:Na8exnyH.net
それもやる
これもやる
ってことじゃないかな

60 :デフォルトの名無しさん:2014/04/23(水) 19:36:47.62 ID:5LW5gntL.net
なるほど

61 :デフォルトの名無しさん:2014/04/24(木) 00:29:43.12 ID:OZUK9Izi.net
破壊的変更?

62 :デフォルトの名無しさん:2014/04/24(木) 09:12:31.42 ID:mnsZs1hI.net
-vgc は既に入ったよ
標準ライブラリが一通り追従しないと実用的じゃないと思うけど

63 :デフォルトの名無しさん:2014/04/24(木) 10:46:27.79 ID:LJ192m/8.net
ああーコンパイラスイッチの方は既に入ってるのか・・
-vgc で、GCのメモリ確保をリスト表示
@nogc で、GCのメモリ確保を警告(但しCTFEはOK)

64 :デフォルトの名無しさん:2014/04/24(木) 20:32:09.32 ID:ZRk9R+R1.net
コンパイル時ならGC動かしていいとか熱いわ

65 :デフォルトの名無しさん:2014/04/25(金) 13:04:50.38 ID:jPmvuOB6.net
コンパイル時のみに特化したテスト用サーバーが要求される日は近いな

66 :デフォルトの名無しさん:2014/04/25(金) 15:56:30.69 ID:rIfJx988.net
そもそもコンパイル時ってGC動くのか?
フォーラムでGC入れると遅くなるよ的な話してるんだけど、つまり今は無いってことだよね

67 :デフォルトの名無しさん:2014/04/25(金) 19:39:46.81 ID:jPmvuOB6.net
GCを前提としたnew,mallocならガンガン使われてるよ(真顔)

68 :デフォルトの名無しさん:2014/04/25(金) 22:23:02.74 ID:GT7mg3QG.net
>>66
コンパイル時計算で長さ不定の配列を計算過程に使ったらGCひつようじゃね?
CTFEの仕様知らないけど。
定数を返すようになるはずだから、そこまで持ってくのにはGCいるでしょ。

69 :デフォルトの名無しさん:2014/04/25(金) 22:50:48.13 ID:rIfJx988.net
>>68
Walter曰く、
> I made a build of dmd with a collector in it.
> It destroyed the speed. Took it out.

これがコンパイル速度の秘密か……

70 :デフォルトの名無しさん:2014/04/25(金) 22:58:10.90 ID:lgSageRr.net
「コンパイル時のGC」と「ランタイムのGC」は全くの別物でしょ

71 :デフォルトの名無しさん:2014/04/25(金) 22:59:34.09 ID:GT7mg3QG.net
あれ?DMDってDMDでかかれてるんだっけ?

72 :デフォルトの名無しさん:2014/04/26(土) 00:29:26.43 ID:BSsIs6S6.net
C++製だよ
このcollectorってのはBoehmGCだったと思う
一時入ってたよね

73 :デフォルトの名無しさん:2014/04/26(土) 03:08:41.15 ID:pdO++Zde.net
コンパイル時の処理は内部構造のツリー操作が基本

74 :デフォルトの名無しさん:2014/04/26(土) 03:09:25.97 ID:pdO++Zde.net
操作=部分的な組み換え

75 :デフォルトの名無しさん:2014/04/26(土) 12:01:38.32 ID:ciZFgagp.net
>>71-73
なんでD使ってないの?
実用にならないから?

76 :デフォルトの名無しさん:2014/04/26(土) 13:09:02.01 ID:pdO++Zde.net
スピード狂のうぉるたんがそんなこと許すはずがない

77 :デフォルトの名無しさん:2014/04/26(土) 13:20:24.06 ID:BSsIs6S6.net
これおかしい
ヌル以降を無視するのが正常だよね?
sc.yutopp.net/entries/535b307543f75e31400007fc

>>75
そうだよ(便乗)

makeの時にD言語へ変換してコンパイルするって話もあるが
github.com/D-Programming-Language/dmd/pull/3410

78 :デフォルトの名無しさん:2014/04/26(土) 14:20:50.48 ID:maxCcAxD.net
ゼロターミネートはCのprintfとかの仕様なんで・・・

79 :デフォルトの名無しさん:2014/04/26(土) 17:41:32.10 ID:pdO++Zde.net
これはひどい

80 :デフォルトの名無しさん:2014/04/26(土) 18:21:23.47 ID:BSsIs6S6.net
>>78
そうみたいですねー
単一引数のwritelnだけヌルで表示が終わるのは、
高速化のためにwriteln内部でfprintf使ってるのが原因だったようで…

81 :デフォルトの名無しさん:2014/04/26(土) 23:24:06.06 ID:maxCcAxD.net
phobosのC依存がヤバイ
最近ましになったけどまだヤバイ

82 :デフォルトの名無しさん:2014/04/27(日) 00:29:50.55 ID:3I8p77UE.net
@nogcの次はnamespaceか

83 :デフォルトの名無しさん:2014/04/27(日) 01:34:59.71 ID:tMnP8Ntb.net
またうぉるたんか。諦めてなかったのか
http://wiki.dlang.org/DIP61

もうこれ以上名前解決を複雑にするのはヤメロッテ

84 :デフォルトの名無しさん:2014/04/27(日) 10:03:06.37 ID:NuojISZA.net
module hoge.kore;

namespace hoge.kore:
に書き換える仕事が始まるの?

85 :デフォルトの名無しさん:2014/04/27(日) 10:18:06.09 ID:3I8p77UE.net
別にDのモジュールに競合するもんじゃなくて、namespaceが付いてるC++の関数を呼ぶための機能なのかな
> Currently, there is no support in D to call C++ functions in namespaces.

C++の為に新しいキーワードを追加するのは負けっぽい感じがする……
externにnamespaceへの参照を書けるようにだけして、D側ではモジュール使うとかで良いのにね

86 :デフォルトの名無しさん:2014/04/27(日) 14:59:57.30 ID:05N9/iDm.net
-vgc @nogc ときて、今度はnamespaceか

C++からの乗り換えキャンペーンでも始まるの?

87 :デフォルトの名無しさん:2014/04/27(日) 20:00:40.15 ID:Vxyi8oSx.net
C++のアクセスなら、SWIGみたいな外部ツール使えないのかな。
使ったことないからよくわからんけど。

88 :デフォルトの名無しさん:2014/04/28(月) 18:27:07.47 ID:7OVUzoPA.net
extern(C++, namespace)に落ち着いたか
しかしexternごときがD言語側に名前空間を作っちゃうのも、これはこれで気持ち悪いな

89 :デフォルトの名無しさん:2014/04/28(月) 20:03:51.15 ID:qL0Qca/s.net
確かに、externに引数が並んでるのに違和感あるかな
けど、Dのモジュールの中にnamespaceを閉じ込められるなら
破壊的変更にはならないね(残念)

90 :デフォルトの名無しさん:2014/04/29(火) 00:58:10.09 ID:devc/baf.net
宣言文じゃないのにシンボルが増えるというのが非常にきもちわるい

91 :デフォルトの名無しさん:2014/04/29(火) 14:06:42.02 ID:tuCmfcOr.net
>C++の為に新しいキーワードを追加するのは負けっぽい感じがする……

まさにこれ

92 :デフォルトの名無しさん:2014/04/29(火) 15:08:47.84 ID:devc/baf.net
pragma でよかったんじゃ
extern もろともなくすべきなんじゃ

93 :デフォルトの名無しさん:2014/04/29(火) 16:13:39.75 ID:pvgpWpOe.net
わかります

94 :デフォルトの名無しさん:2014/04/29(火) 22:31:55.63 ID:pkBpl5m8.net
devc/baf ってなんかいいな

95 :デフォルトの名無しさん:2014/05/01(木) 16:34:19.67 ID:6z5O7ux5.net
デストラクタ廃止ってマジ?

96 :デフォルトの名無しさん:2014/05/01(木) 17:23:04.39 ID:7C5boMZl.net
間違ってデストラクタ使う被害者がこれ以上出ないように
廃止するのは賛成

97 :デフォルトの名無しさん:2014/05/01(木) 20:51:01.95 ID:0oza+WQR.net
オブジェクトが破棄されるタイミングでやりたい事って案外無いよな
大抵はスコープを抜けるタイミングでやりたい事だもんな

98 :デフォルトの名無しさん:2014/05/01(木) 21:10:04.46 ID:7C5boMZl.net
デストラクタの中で何かやってるつもりでも
一度も呼ばれないってことも結構あるし

99 :デフォルトの名無しさん:2014/05/01(木) 21:49:10.84 ID:v0Y0ltE+.net
だいたいscope(exit) hoge.dispose();だからな・・

100 :デフォルトの名無しさん:2014/05/02(金) 07:53:43.62 ID:KPrlDK0D.net
メモリ管理自分で書くならD使う意味が無い
freeとかdeleteとかと変わらん

101 :デフォルトの名無しさん:2014/05/02(金) 10:56:24.98 ID:G4Q+sCxM.net
「定期的にGC動かすためだけのスレッド」を作ってくれる関数を、
標準ライブラリに用意すれば、デストラクタの使い道も変わるかも

102 :デフォルトの名無しさん:2014/05/02(金) 12:11:44.84 ID:brLwemZd.net
>>99
スコープ出るときに効くんだから
>>99 の書き方は便利だし意味があるよ

103 :デフォルトの名無しさん:2014/05/02(金) 13:11:18.42 ID:blXeKn1i.net
>>100 は全く違う話をしている

104 :デフォルトの名無しさん:2014/05/02(金) 14:52:31.90 ID:p8pwekjp.net
Dの管轄外のリソースを管理するときにデストラクタだけではあまりに心許ない

105 :デフォルトの名無しさん:2014/05/02(金) 16:03:15.93 ID:JnFUlpC1.net
え、デストラクタなくなるの?
初歩的な質問かもしれんけど

今までは scope hoge = new Hoge; だけでよしなにやってくれたのが
scope(exit) hoge.dispose(); とか、
destroy(hoge); だっけ? とか書かないといかんの面倒に感じるんだが

どういう流れなの?

106 :デフォルトの名無しさん:2014/05/02(金) 16:08:54.71 ID:blXeKn1i.net
よしなにやってくれていたという幻想

107 :デフォルトの名無しさん:2014/05/02(金) 16:21:53.47 ID:JnFUlpC1.net
なん・・だと・・?!

108 :デフォルトの名無しさん:2014/05/02(金) 16:30:25.36 ID:JnFUlpC1.net
あ、destroy(hoge)は関係なかった・・

109 :デフォルトの名無しさん:2014/05/02(金) 18:29:34.17 ID:0U4Igm5b.net
フォーラム見ると、デストラクタ廃止に反対してる人は多いみたいね
英語力無いから内容はよく分からんが

110 :デフォルトの名無しさん:2014/05/03(土) 11:41:56.53 ID:jF/2O4SL.net
クラスってあまり使わない

111 :デフォルトの名無しさん:2014/05/03(土) 13:00:36.35 ID:C4/8a7In.net
たしかにクラスなんて面倒くさい、多様な継承を許さないのは未熟者が多いせいだ。
ん〜まあ、scope, try - catch - finary とかもあまり使わないな。
ふんだんにリソースを使っているとにに限って頑張るCG!

だいたい型つけが強い関数なんてあるから cast() で引数を間違うんだ!
そもそも、foreach regnge ってなにさ、renge を効率よく作らなくてはと強迫されているようだ
いつから switch って default 付けないと怒られるようになった!
CTFE なんてあるから、コンパイル時に頑張ろうとしすぎる。
static if って便利なようで便利じゃないじゃんw
一週間たつと自分で書いた OneLiner のコードが読めなくなる。

と思いつつ、d言語を使うのであった。

112 :デフォルトの名無しさん:2014/05/03(土) 13:19:14.95 ID:Dtr708N3.net
読める、読めるぞ

113 :デフォルトの名無しさん:2014/05/03(土) 13:40:57.56 ID:NUO+XoEk.net
縦読みっぽいけどそうじゃないのか

114 :デフォルトの名無しさん:2014/05/03(土) 16:22:24.21 ID:C4/8a7In.net
disるのも愛の一つ

115 :デフォルトの名無しさん:2014/05/03(土) 18:46:36.84 ID:Dtr708N3.net
disれてないんだよなぁ……

116 :デフォルトの名無しさん:2014/05/03(土) 19:01:12.92 ID:NNpB4isO.net
うーん、disというよりあまりD言語を把握できてないだけなんじゃないかなぁ
慣れもあるかもしれないけどね

個人的には、やっぱり標準ライブラリが微妙だと思う
洗練されてない部分がまだ多い

117 :デフォルトの名無しさん:2014/05/04(日) 08:17:55.31 ID:tIlgksMI.net
デストラクタをちゃんと呼ぶGCが作れないのは何故?
やってる言語もあるのに

118 :デフォルトの名無しさん:2014/05/04(日) 10:45:55.56 ID:0hzZ26EBF
やってる言語なんかねーよ
やってるように見えても、GC中全スレッドを止めるとか変なルールが大量にあるとか微妙なのばっかだ

119 :デフォルトの名無しさん:2014/05/04(日) 10:46:43.71 ID:QXbdMCU9.net
やってる言語なんかねーよ
やってるように見えても、GC中全スレッドを止めるとか変なルールが大量にあるとか微妙なのばっかだ

120 :デフォルトの名無しさん:2014/05/04(日) 11:04:17.33 ID:Bu5D/Ogc.net
Obj-CのGCは?

121 :デフォルトの名無しさん:2014/05/04(日) 11:35:09.48 ID:dMbtMIdw.net
にわかが多いなw

122 :デフォルトの名無しさん:2014/05/04(日) 11:45:55.48 ID:kkY/TYaH.net
C++最強無敵!!

123 :デフォルトの名無しさん:2014/05/04(日) 13:43:35.25 ID:aqdlSFYo.net
デストラクタが呼ばれないケースってあるのか?

124 :デフォルトの名無しさん:2014/05/04(日) 13:43:58.82 ID:PKtoVgDn.net
C++erにはこれをどぞ
sc.yutopp.net/entries/5365c46943f75e3140000da2

125 :デフォルトの名無しさん:2014/05/04(日) 14:17:07.50 ID:onUxYY9O.net
>>123
例えばプロセス終了時にアプリがメモリ回収するくらいならOSにやらせる。という戦略もあるそうだ。
そういう時はアプリはターミネートしてOSがページごと破棄するのでデストラクタは呼ばれない。
そして、ハンドル類も回収されない。

126 :デフォルトの名無しさん:2014/05/04(日) 14:23:38.08 ID:G6sgjCKW.net
それが問題になるとするとアプリがクラッシュしたらゴミが残りまくることになる

127 :デフォルトの名無しさん:2014/05/04(日) 19:41:19.36 ID:onUxYY9O.net
アプリクラッシュしたら、ハンドルリークはしてると思うけど、最近のOSは回収してるのかな?

128 :デフォルトの名無しさん:2014/05/04(日) 19:52:21.66 ID:xA5nmMXs.net
プロセス終了時に回収するだろ

129 :デフォルトの名無しさん:2014/05/04(日) 20:21:41.18 ID:onUxYY9O.net
へぇー。そうなんだ。
いつもそれが怖くてOSプログラムはやりたくなかった。

130 :デフォルトの名無しさん:2014/05/04(日) 22:14:22.23 ID:Z6Cxw61y.net
クラッシュするより無限ループの方が怖い

131 :デフォルトの名無しさん:2014/05/05(月) 13:23:22.36 ID:r2TGCNLc.net
core.exception.InvalidMemoryOperationError が怖い

132 :デフォルトの名無しさん:2014/05/05(月) 16:04:48.06 ID:xi43Egaj.net
饅頭こわい

133 :デフォルトの名無しさん:2014/05/07(水) 20:32:05.93 ID:BaKW9Opk.net
Gui系って今どうなってんすか

134 :デフォルトの名無しさん:2014/05/08(木) 08:17:34.41 ID:Yn6TNSXa.net
wxD使ってる
他は判らないのでスマソ

135 :デフォルトの名無しさん:2014/05/08(木) 11:45:33.43 ID:wn4ijeJt.net
C++との結合が強化されるなら、QtのDバインディング開発が再開してくれればいいな…

136 :デフォルトの名無しさん:2014/05/08(木) 17:33:53.22 ID:ibsoH7t0.net
GtkDおすすめ、他の言語のGTKバインディングと遜色ないよ
https://github.com/gtkd-developers/GtkD/blob/master/demos/gtk/OtherTests.d

137 :デフォルトの名無しさん:2014/05/08(木) 19:31:52.92 ID:Mynsh9hv.net
DFLとDWT現役
wxDと同様DLLまみれにならないのがよろし

138 :デフォルトの名無しさん:2014/05/08(木) 19:48:34.04 ID:wfJQ+mIZ.net
>>134
今wxDメンテされてるの?

139 :デフォルトの名無しさん:2014/05/08(木) 21:51:08.94 ID:XJcFiGzl.net
http://code.dlang.org/
久々にみたけど、いろいろあるね

140 :デフォルトの名無しさん:2014/05/08(木) 23:25:46.60 ID:IKpiIcyq.net
GPLが大股開きで誘ってる

141 :デフォルトの名無しさん:2014/05/09(金) 07:39:23.51 ID:H3Me5XKl.net
久しぶりに弄って見ようと思ってVisualDインスコしたけどVSは相変わらず有効期限がどうたら出て使えナス
ググっても特に何も出ないし、自分の環境だけなんかなこれ

142 :デフォルトの名無しさん:2014/05/09(金) 08:23:07.25 ID:TkXdcrE/.net
Twitterに流れてたんで触ってみたけどtkdもかなりよさげ。

143 :デフォルトの名無しさん:2014/05/09(金) 09:48:10.65 ID:dvCRlMvr.net
DもClangで造ってはどうか?
http://developers.slashdot.jp/story/14/05/02/0425216/

144 :デフォルトの名無しさん:2014/05/09(金) 09:48:59.86 ID:dvCRlMvr.net
>>136
他のGTKバインディングと遜色ない程度ならいらんな

145 :デフォルトの名無しさん:2014/05/09(金) 10:18:50.67 ID:Mr0Sp7Ii.net
>>141
VSのアクチベーションしてないんでしょ

146 :デフォルトの名無しさん:2014/05/09(金) 15:31:59.22 ID:UorZm4vP.net
>>143
LDC
http://wiki.dlang.org/LDC

147 :デフォルトの名無しさん:2014/05/09(金) 18:29:35.33 ID:kZb9S5gA.net
Clangは知っててもLLVMは知らなさそう

148 :デフォルトの名無しさん:2014/05/09(金) 19:26:11.42 ID:/kwvD8VY.net
dmdのソースをDに変換する仕組みができたってマジ?

149 :デフォルトの名無しさん:2014/05/10(土) 06:04:55.29 ID:UKCEJh+S.net
皆さんデバッガーとか使ってるんですか

150 :デフォルトの名無しさん:2014/05/10(土) 06:05:50.56 ID:AX17qFeB.net
GDBがD言語サポートしてるのでそれを

151 :デフォルトの名無しさん:2014/05/10(土) 10:21:52.22 ID:1J9c3/jB.net
writelnっていうグレートなやつを使ってる

152 :デフォルトの名無しさん:2014/05/10(土) 14:43:12.71 ID:vuipbNsY.net
しっかりしたunittestとカバレッジとwritelnがあれば大体足りる

153 :デフォルトの名無しさん:2014/05/10(土) 16:49:53.26 ID:vuipbNsY.net
>>148
magicport2 github でぐぐれ
コンパイラがメモリリークで死ぬのは防げそう
string が char* のままとかそういうレベルだしここから先どうすんだろ

154 :デフォルトの名無しさん:2014/05/10(土) 17:51:08.36 ID:AX17qFeB.net
[DDMD] Add ddmd manually ported source and build system support #3410
https://github.com/D-Programming-Language/dmd/pull/3410

155 :デフォルトの名無しさん:2014/05/11(日) 01:08:34.10 ID:O0lpU4CW.net
D最近全然更新ないね

156 :デフォルトの名無しさん:2014/05/11(日) 04:03:01.73 ID:o03oWJtW.net
何かをやり遂げた後はかなり疲れる

157 :デフォルトの名無しさん:2014/05/11(日) 06:30:04.03 ID:iFyy5/4/.net
>>155
次回アップデート予定日は一応5月19日らしい
http://wiki.dlang.org/Agenda#v2.066_.2819_May_2014.29

リリース目標は未だに達成されてない模様

158 :デフォルトの名無しさん:2014/05/11(日) 10:45:52.23 ID:6bj6YQCX.net
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 :デフォルトの名無しさん:2014/05/11(日) 11:32:49.38 ID:5bM6wK/T.net
>>158
やりたいことも環境も全くわからん
Win上で DMD/32->GDB をやろうとしてるなら未対応

>>155
2.065の後やりすぎと思うほどどかどか変更が入った
俺の予想ではリリースは来月半ば

160 :デフォルトの名無しさん:2014/05/11(日) 13:45:11.72 ID:Fjq4go6P.net
いつのまにscope非推奨になったの!??
デストラクタも非推奨になるとすると
C/C++のバインディング系全滅じゃね??

161 :デフォルトの名無しさん:2014/05/11(日) 16:38:08.03 ID:iFyy5/4/.net
scope変数は色々危なかったから仕方ないね
必要ならstd.typecons.scopedを使えってdlang.orgにも書いてある
クラスのデストラクタが非推奨に、ってのもGCはデストラクタを呼ぶ保証が無いから参照カウンタ使えって話でしょ

しかし、何でもライブラリでやろうってのは気にいらんな
この辺の基礎的な部分は言語組込みの方が色々便利だと思うんだが

162 :デフォルトの名無しさん:2014/05/11(日) 18:51:01.17 ID:5bM6wK/T.net
コンパイラは小さいにこしたことはない
あえて言えばコンパイルエラーが意味不明になりがちなのが弊害か

163 :デフォルトの名無しさん:2014/05/12(月) 23:35:16.56 ID:ZtmTFQ/l.net
invariant() の () がやられたらしい

164 :デフォルトの名無しさん:2014/05/13(火) 00:14:54.00 ID:tJgFTBc/.net
あれって構文解析の都合で付いてたのかよ…

165 :デフォルトの名無しさん:2014/05/13(火) 00:34:43.68 ID:2r3q1gkh.net
std.typecons.scopedもスタック上にメモリ取ってくれるのかな?

166 :デフォルトの名無しさん:2014/05/13(火) 06:55:57.53 ID:tJgFTBc/.net
はい

167 :デフォルトの名無しさん:2014/05/13(火) 13:10:40.61 ID:I3YIR7QR.net
関数の戻り値の型推論とメンバのオーバーライドは相性悪いみたいだけど
将来対応する予定とかあるのかな・・・ないならfinalにしてほしい

168 :デフォルトの名無しさん:2014/05/13(火) 21:08:51.05 ID:/K4LjeLO.net
公式のPhobosマニュアルに新しいレイアウトがきてる

169 :デフォルトの名無しさん:2014/05/14(水) 01:12:00.63 ID:PfEAJdFI.net
デストラクタが非推奨になったらD言語使う意味がなくなるんだが俺…

170 :デフォルトの名無しさん:2014/05/14(水) 01:24:01.12 ID:iQmPUCPO.net
デス・トラクター 〜死の宣告人〜
5/20 放映

171 :デフォルトの名無しさん:2014/05/14(水) 01:26:26.95 ID:uPLogBgZ.net
幽霊トラクターがどこまでも追ってくるという内容のB級映画か

172 :デフォルトの名無しさん:2014/05/14(水) 07:21:09.12 ID:0gp7mrIb.net
クラス、GC、参照カウンタ

173 :デフォルトの名無しさん:2014/05/14(水) 09:09:00.30 ID:SmoJI8OF.net
来るかもしれないって煽っておきながら結局来ないのか

174 :デフォルトの名無しさん:2014/05/14(水) 19:31:35.02 ID:z8cZm/fT.net
デストラクタはさすがに D2 では残すんじゃねーの

175 :デフォルトの名無しさん:2014/05/14(水) 19:34:50.41 ID:FT297TjW.net
>>163
static this「奴は我々の中でも一番の小物」

176 :デフォルトの名無しさん:2014/05/14(水) 19:40:34.31 ID:eTwx7JM5.net
あたしさっきハンガリアンの彼と別れてきたわ
イケてないじゃない

177 :デフォルトの名無しさん:2014/05/14(水) 19:49:31.32 ID:9e1uL7m3.net
国破れてハンガリア

178 :デフォルトの名無しさん:2014/05/14(水) 21:12:19.06 ID:iQmPUCPO.net
だっちゅ〜の☆

179 :デフォルトの名無しさん:2014/05/14(水) 23:34:41.79 ID:PSOih+2g.net
static thisは()が無いとおかしくね? あれモジュールのコンストラクタだろ

180 :デフォルトの名無しさん:2014/05/15(木) 00:47:08.76 ID:5sMFAW9N.net
引数なしが明らかなら省いてもいいんじゃね

181 :デフォルトの名無しさん:2014/05/15(木) 06:03:33.86 ID:UtPqEVIk.net
クラスの方と書き方が変わるのはなー

182 :デフォルトの名無しさん:2014/05/15(木) 09:01:48.61 ID:xi9ZoLAu.net
むしろプロパティとかあるんだから、引数がない関数全般で宣言の()省けてもいいんじゃないか
単なる変数と区別がつかないとかそういうのは、まあどうにかなるだろう

183 :デフォルトの名無しさん:2014/05/15(木) 09:25:29.69 ID:5sMFAW9N.net
つまり defとかfnとか付けるんですね

184 :デフォルトの名無しさん:2014/05/15(木) 20:43:26.37 ID:UtPqEVIk.net
既に宣言周りの文法は混雑してるしなぁ

int foo() {} // 関数
int foo()() {} // 関数テンプレート
int foo() = int.init; // 変数テンプレート
int foo(); // 関数プロトタイプ
int foo; // 変数

185 :デフォルトの名無しさん:2014/05/15(木) 21:45:55.46 ID:bNXT5ksa.net
解りやすい(グルグル目)

186 :デフォルトの名無しさん:2014/05/17(土) 04:17:09.99 ID:Wucrn46j.net
あれ、日本語の公式っぽいサイトはとうとう更新とまってたのか

187 :デフォルトの名無しさん:2014/05/17(土) 05:52:30.86 ID:wwvCM72E.net
一、二年ぐらい前から止まってなかった?
かなり変更入ってるから、もう古いドキュメントだって警告入れてくれないかな

188 :デフォルトの名無しさん:2014/05/18(日) 17:33:56.96 ID:egFZ9eA5.net
Error 42: Symbol Undefined _D4dgui4core8geometry4Size6opCallFiiZS4dgui4core8geometry4Size
普通にソースコード内にある構造体なんですけど、これdmdのバージョン落とすとか必要なんでしょうか?

189 :デフォルトの名無しさん:2014/05/18(日) 17:47:50.83 ID:xz6WkwdF.net
それ普通のリンク漏れじゃないの

190 :デフォルトの名無しさん:2014/05/18(日) 18:16:03.61 ID:hTP5ZYg1.net
何がクソって日本人が関わると閉鎖的になるんだよね

191 :デフォルトの名無しさん:2014/05/18(日) 18:38:35.04 ID:aiwStKdm.net
>>187
Githubでpull request送れば良いと思うよ

192 :デフォルトの名無しさん:2014/05/18(日) 18:53:09.68 ID:ruYXH5xa.net
能力で並グループ、上位グループでそれぞれ固まって並未満は汚物のようにあしらわれる日本の文化は
低脳にも棒グラフの短いほう的需要がある社会の三国人からすると異質に感じるだろうね
たしかに不寛容が過ぎると思うわ

193 :デフォルトの名無しさん:2014/05/18(日) 19:05:47.41 ID:aiwStKdm.net
どこの誤爆だ

194 :デフォルトの名無しさん:2014/05/18(日) 23:15:18.77 ID:ZB44VEet.net
>>191
しらんかったw

http://www.kmonos.net/alang/d/japanese.html

195 :デフォルトの名無しさん:2014/05/19(月) 00:14:23.02 ID:B8oDFdUr.net
本家にはv2.061以降の英語原文が置いてあるけど
現状の日本語訳の元になった原文は何処かにないのかなぁ
英語原文同士の差分が作れないと全部目視確認することになりそう

196 :デフォルトの名無しさん:2014/05/19(月) 00:18:02.78 ID:tHtfoV9l.net
>>188
古いライブラリでエラーが出るなら
まずは同時期のバージョンで試すべき

197 :デフォルトの名無しさん:2014/05/19(月) 00:34:35.67 ID:/4iavZdo.net
それで上手くいったら、今度は何がエラーの原因かを突き止めて、
現行版のDMDで動くようにライブラリの改良ですね。

198 :デフォルトの名無しさん:2014/05/19(月) 00:38:23.71 ID:QLgTC1UW.net
>>195
https://github.com/D-Programming-Language/dlang.org/tree/v2.060
これが近いのかな?

199 :デフォルトの名無しさん:2014/05/19(月) 00:48:57.50 ID:tHtfoV9l.net
文法は2.060
https://github.com/D-Programming-Language/d-programming-language.org/tree/af00cc7a172a7314743960edb509bd1f0c4f5782

↓この時点まではターゲットバージョンが書いてあったんだがその後なぜか消されてるな
https://github.com/kinaba/dlang-ref-jp/commit/1b5b63aaeec4ab5a886115d972d7276cab9e3fb2

200 :デフォルトの名無しさん:2014/05/19(月) 00:57:01.09 ID:tHtfoV9l.net
ライブラリの方は2.052くらいだが
まず先にphobos/druntimeのソースから差分を簡単に取れるツールか何か必要と言って
そのまま止まってるんじゃなかったか

201 :デフォルトの名無しさん:2014/05/19(月) 06:05:44.25 ID:xEeDrkw/.net
>>192
日本語でok

202 :デフォルトの名無しさん:2014/05/22(木) 11:54:43.59 ID:jxaWow30.net
DConf 昨日からだった
http://dconf.org/2014/schedule/
http://www.ustream.tv/channel/dconf-2014

203 :デフォルトの名無しさん:2014/05/22(木) 19:49:10.61 ID:qUsKi4v0.net
連想配列をマルチスレッドで触っててたまに出てくる謎エラーにハマった
考えてみれば当たり前なんだけど言語組み込みの機能だからって油断してたぜ

204 :デフォルトの名無しさん:2014/05/22(木) 20:17:57.73 ID:jxaWow30.net
>>203
俺も俺も

205 :デフォルトの名無しさん:2014/05/23(金) 10:46:16.62 ID:Tl4IYSqQ.net
しんぼるあんでふぁいんどがなおらないお・・・

206 :デフォルトの名無しさん:2014/05/23(金) 13:59:26.25 ID:om7051Bs.net
ゆとり乙☆

207 :206:2014/05/24(土) 20:38:51.06 ID:i07McgVg.net
自己kaiketuしました

208 :デフォルトの名無しさん:2014/05/25(日) 04:03:29.45 ID:q30/rjTU.net
getExtどこいったん・・・

209 :デフォルトの名無しさん:2014/05/25(日) 09:24:46.27 ID:HOw+aPzz.net
>"Deprecated. It will be removed in October 2012. Please use extension instead."

210 :デフォルトの名無しさん:2014/05/25(日) 10:52:16.91 ID:vrjD7GQR.net
std.path の常用関数は 2.055 で大量に入れ替えられた

211 :デフォルトの名無しさん:2014/05/25(日) 11:04:10.63 ID:vrjD7GQR.net
http://peace.2ch.net/test/read.cgi/tech/1314133332/138-168
単なるリネームじゃなくて大小挙動が変わったから対応が面倒だったのを思い出した
というかラッパーでしのいだからまだ残ってるわ

212 :デフォルトの名無しさん:2014/05/25(日) 13:11:43.65 ID:HOw+aPzz.net
さらに2.056ではRange仕様になる

213 :デフォルトの名無しさん:2014/05/25(日) 16:32:28.71 ID:q30/rjTU.net
dflのリストビューでViewに値渡しても反応ないんですが、これワイの環境だけなんやろうか
エラーも何もでないんす

214 :デフォルトの名無しさん:2014/05/25(日) 17:47:21.03 ID:mQ7wj0d2.net
DFLの偉い人はまだこのスレ見てるのかな

215 :デフォルトの名無しさん:2014/05/25(日) 21:50:16.67 ID:vrjD7GQR.net
>>213
あそこのsetter/getterはまるまるおかしかった気がする

216 :デフォルトの名無しさん:2014/05/26(月) 15:57:48.83 ID:JMxM3ntd6
http://dpaste.dzfl.pl/1efd807348b0
これができちゃうのってバグ?

217 :デフォルトの名無しさん:2014/05/28(水) 11:32:43.89 ID:mspF09G9.net
viewのgetterが間違ってる
それ以外は問題なかったと思う

218 :デフォルトの名無しさん:2014/05/28(水) 21:10:49.96 ID:V96qtIfl.net
Tkd ver1以上リリースされたのか

219 :デフォルトの名無しさん:2014/05/29(木) 17:04:46.93 ID:un1psp07.net
https://twitter.com/xyztop/status/471640469768658944
https://twitter.com/xyztop/status/471804286981005312
https://twitter.com/xyztop/status/471804967599099905
なんでDには変なイメージが付いてるんだろう

220 :デフォルトの名無しさん:2014/05/29(木) 17:14:40.59 ID:kyPc1SKC.net
そいつ特級の基地外だから触っちゃだめよ

221 :デフォルトの名無しさん:2014/05/29(木) 17:19:14.18 ID:o/QdCuFi.net
>>219
それはそいつが変人なだけじゃないか…
生理的に受け付けない気持ち悪さを感じた

222 :デフォルトの名無しさん:2014/05/29(木) 17:26:41.50 ID:3Kwx+eGN.net
えんがちょ

223 :デフォルトの名無しさん:2014/05/29(木) 18:20:22.02 ID:24OwhoBR.net
DMC の使い方で質問です

以下のコードを書いてコンパイルとリンクは問題なかったのですが
http://codepad.org/FX2lPUaw
出来上がった exe を実行すると
タイトルバーもタブの表示もどちらも文字化けします

ソースファイル (test_tabctrl.c) は BOM なしの UTF-8 で保存しています
実行したコマンドは
\dm\bin\dmc gdi32.lib comctl32.lib test_tabctrl.c
です

ちなみに BOM 付きの UTF-8 で保存して Visual C++
cl user32.lib gdi32.lib comctl32.lib test_tabctrl.c

224 :デフォルトの名無しさん:2014/05/29(木) 18:21:20.55 ID:24OwhoBR.net
なぜか途中で送信されてしまったので続き

Visual C++ でコンパイルとリンクした exe は文字化けしませんでした

225 :デフォルトの名無しさん:2014/05/29(木) 18:23:58.37 ID:24OwhoBR.net
何が間違っているのでしょうか?

#質問するスレが間違っているような気もしますが DMC の質問スレが見当たらなかったのですみません

226 :デフォルトの名無しさん:2014/05/29(木) 18:28:24.59 ID:uLSCYM3g.net
dmcはUNICODEリテラル通らないんじゃなかったか

227 :デフォルトの名無しさん:2014/05/29(木) 19:43:27.69 ID:24OwhoBR.net
過去ログにありました
ありがとうございました
http://toro.2ch.net/test/read.cgi/tech/1044210976/261-266

228 :デフォルトの名無しさん:2014/05/30(金) 06:17:49.14 ID:A+ocbhhF.net
"Code of the Nerds" Digital Mars C/C++
でぐぐるよろし

229 :デフォルトの名無しさん:2014/05/30(金) 09:55:22.68 ID:ap828pqo.net
タブコントロール流行ってるのか?

230 :デフォルトの名無しさん:2014/05/30(金) 14:15:18.97 ID:WgCTm88v.net
dflのListViewもう直接かえたろうと思ったけど前と変わらなかったワロス
auto style = GetWindowLong(hwnd, GWL_STYLE);
switch(style & LVS_TYPEMASK){
case LVS_ICON:
dwView=LVS_SMALLICON;
break;
case LVS_SMALLICON:
dwView=LVS_LIST;
break;
case LVS_LIST:
dwView=LVS_REPORT;
break;
case LVS_REPORT:
dwView=LVS_ICON;
break;
}
wstyle = (style & ~LVS_TYPEMASK) | dwView;
SetWindowLong(hwnd, GWL_STYLE, wstyle);
ボタン押したら順番に変わるようにしたんだけど、これそれぞれちゃんと流れてるから設定は通ってるはずなのに何も変わらんぞなもし
何を間違えてるのか全然わからないお・・・

231 :デフォルトの名無しさん:2014/05/30(金) 14:20:37.47 ID:aNxrHZx3.net
がんがれ
超がんがれ

232 :デフォルトの名無しさん:2014/05/30(金) 14:26:40.23 ID:SSvUP3u/.net
hwnd

233 :デフォルトの名無しさん:2014/05/30(金) 14:42:30.34 ID:WgCTm88v.net
ログで見たけどハンドル一緒だった
create ::DFL_ListView hwnd::221610
上記関数内
hwnd ::221610

234 :デフォルトの名無しさん:2014/05/30(金) 15:04:14.40 ID:lW2BcPWo.net
DFLは内部で毎回決め打ちで再設定してたりする所あるから
外部から少し設定変更しただけじゃ設定上書きされてしまうことあるよね

235 :デフォルトの名無しさん:2014/05/30(金) 15:38:39.68 ID:+E8tZH7v.net
確かに思ったように動かないな
諦めてリストビューを再作成してしまうというのはどうだろうw

236 :デフォルトの名無しさん:2014/05/30(金) 16:33:59.31 ID:axpNlTsu.net
dfl Listview の使い方
http://wiki.dprogramming.com/DflDoc/Listview

237 :デフォルトの名無しさん:2014/05/30(金) 16:40:19.70 ID:psWUHF/Z.net
誕生したときからクラスもジェネリック型も備えていた言語向けの主要ライブラリがこの出来
なzeどうしてこんなザマになってるんだ

238 :デフォルトの名無しさん:2014/05/30(金) 16:46:12.03 ID:+E8tZH7v.net
>>236
当然のように viewの使い方書いてないな

239 :デフォルトの名無しさん:2014/05/30(金) 19:52:40.30 ID:MZkzM/kU.net
D言語の能力をフルに活用できるGUIライブラリが欲しい

240 :デフォルトの名無しさん:2014/05/30(金) 20:05:13.61 ID:IwD7wk7s.net
D言語はまだ「欲しいと思ったら自分で作る」段階なのです…

その代わり作ろうと思えば何だって作れるさ

241 :デフォルトの名無しさん:2014/05/30(金) 21:15:04.24 ID:FO5wHToh.net
Tkdがあるじゃん

242 :デフォルトの名無しさん:2014/05/30(金) 21:19:27.92 ID:MZkzM/kU.net
あれよりはGtkDの方が良さそう

243 :デフォルトの名無しさん:2014/05/31(土) 03:32:03.53 ID:StQGqszV.net
GTK は糞

244 :デフォルトの名無しさん:2014/05/31(土) 06:10:27.14 ID:bxo3vwux.net
そうなん?

245 :デフォルトの名無しさん:2014/05/31(土) 06:58:45.94 ID:YqpFqbOT.net
「GTKは糞」と書いて回るやつがまだいるのか

最近フォーラムにでてたDlanguiをだれか試して欲しい

246 :デフォルトの名無しさん:2014/05/31(土) 07:49:06.28 ID:bxo3vwux.net
Windows版のGtkがアレなのが原因かな

247 :デフォルトの名無しさん:2014/05/31(土) 08:40:48.36 ID:bgfx4qK8.net
Tkは小物を作るにはいいけど大きくなるとどうあがいても機能不足になる
GTKやQtならそういう心配はないはず
wxWidgetsもかなり充実してる
DFLはちょっと画像加工しようとすると厳しくなる
というわけでDWT使ってる

248 :デフォルトの名無しさん:2014/05/31(土) 09:26:19.93 ID:MIrX7ErA.net
wxDおすすめ

249 :デフォルトの名無しさん:2014/05/31(土) 11:19:46.85 ID:RArUPAyES
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

250 :デフォルトの名無しさん:2014/05/31(土) 16:30:04.13 ID:CEEK1JRM.net
wxDってまだ保守されてんの?
…あれ、少し前にもこんな流れあったな


D言語のGUIライブラリQ&Aとかあった方が良いかもね
俺には作れないけど

251 :デフォルトの名無しさん:2014/05/31(土) 18:02:43.62 ID:MZZ4d7NB.net
GUI の仕様が安定してても D の仕様がコロコロ変わるのが困る

252 :デフォルトの名無しさん:2014/05/31(土) 18:22:45.24 ID:6LzyMI+6.net
単なるCからのラッパーなら大した影響はない

dubでそういう奴が "Dependencies:none" とか書いてるのを見たら
殴りたくなるけど

253 :デフォルトの名無しさん:2014/05/31(土) 18:48:24.07 ID:wiKxQWEq.net
Dに将来性はあるんですか?

254 :デフォルトの名無しさん:2014/05/31(土) 18:53:11.44 ID:qylmlmW4.net
将来性のある言語なんてない
結果的に将来性のあった言語ならある

255 :デフォルトの名無しさん:2014/05/31(土) 19:01:15.43 ID:IL91pjst.net
C++に優るもの無し

256 :デフォルトの名無しさん:2014/05/31(土) 19:06:51.36 ID:MZZ4d7NB.net
動けば勝ち

257 :デフォルトの名無しさん:2014/06/01(日) 01:29:25.24 ID:50t6WW0I.net
>>245
自分の環境だとDubで引っ張っても普通に動かないなぁ

258 :デフォルトの名無しさん:2014/06/01(日) 07:27:14.37 ID:O3q6qPZW.net
>>252
どういうこと?
単にCの関数を提供するだけなら依存は要らないと思うんだけど

259 :デフォルトの名無しさん:2014/06/01(日) 13:17:17.87 ID:erPhBwhP.net
DFLのドラッグ&ドロップがバグバグしているんでちょっと書き直してみました
とりあえず、ソースをぶち込んで、まあ動くのを確認したレベルですので過大な期待はしないでください
なお、オリジナルとの互換性はないです。

https://github.com/SeijiFujita/DFL_dnd/tree/master/dfl

260 :デフォルトの名無しさん:2014/06/01(日) 13:19:41.49 ID:erPhBwhP.net
>>260
あ!URL訂正w

https://github.com/SeijiFujita/DFL_dnd

261 :デフォルトの名無しさん:2014/06/01(日) 14:16:45.34 ID:G7XNVB3u.net
安かも修正汁

262 :デフォルトの名無しさん:2014/06/01(日) 14:23:34.58 ID:Vdytlm3J.net
何より先にオープンソースの作法を学ぶ必要がある

せめてリポジトリをforkして作れば
どこを変えたのかすらわからないということにはならず
ライセンス違反も起きにくい

263 :デフォルトの名無しさん:2014/06/01(日) 14:37:39.84 ID:O3q6qPZW.net
forkしないとPRも出来ないしね

264 :デフォルトの名無しさん:2014/06/01(日) 15:15:37.70 ID:Vdytlm3J.net
forkしないとPRも出来ない
しね

265 :デフォルトの名無しさん:2014/06/01(日) 21:03:18.17 ID:50t6WW0I.net
そういえば昔Dflちょっとだけ触った時ドラッグしたファイルが異次元に消えてたな

266 :デフォルトの名無しさん:2014/06/01(日) 21:29:12.97 ID:erPhBwhP.net
wxDおすすめ

267 :デフォルトの名無しさん:2014/06/01(日) 22:57:59.92 ID:G7XNVB3u.net
wxDってまだ保守されてんの?

268 :デフォルトの名無しさん:2014/06/01(日) 23:23:11.40 ID:4cfkBbsS.net
githubのwxDに数日前更新入ってるね

269 :デフォルトの名無しさん:2014/06/01(日) 23:45:02.39 ID:YdYsYSzQ.net
>>265
自分の場合、試しにドロップしたファイルが そのソースファイルだったから、
出来たと思ったアプリが、完成と同時に消滅したw

270 :デフォルトの名無しさん:2014/06/02(月) 16:28:19.87 ID:HFGTbRgF.net
https://github.com/D-Programming-Language/druntime/pull/822
これ、気付かずに使ったことあるな……

271 :デフォルトの名無しさん:2014/06/02(月) 17:58:21.45 ID:2EOO5SfK.net
>>268
ありがとう
また動き出したのかな

272 :デフォルトの名無しさん:2014/06/06(金) 17:52:44.01 ID:B/N1NhS9.net
ホントDのリンク関連は地獄だぜ
Phobosと自前のコードでそれぞれリンカを使い分ける必要に迫られてる

273 :デフォルトの名無しさん:2014/06/08(日) 01:56:36.43 ID:4EUA4K4w.net
gcさんがアプリ終了する前に働いてくれないからcライブラリからメモリリーク警告出まくるんだけどニートなの?

274 :デフォルトの名無しさん:2014/06/08(日) 02:55:15.03 ID:R0ABWUTD.net
C関係の、メモリ管理をちゃんとお願いしたか?

275 :デフォルトの名無しさん:2014/06/08(日) 07:37:04.09 ID:uRYPECt6.net
scope(exit) core.memory.GC.collect();
mainに入れとけば動くかも

276 :デフォルトの名無しさん:2014/06/08(日) 07:45:11.38 ID:397riybv.net
なるほど

277 :デフォルトの名無しさん:2014/06/08(日) 08:13:28.84 ID:xrDpsScb.net
終了時にいくらメモリリークしたっていいじゃない
どうせOSが回収する

278 :デフォルトの名無しさん:2014/06/08(日) 09:34:59.13 ID:397riybv.net
まあそうなんだけど
余計な警告出なくなるだけでもありがたい

279 :デフォルトの名無しさん:2014/06/08(日) 09:39:47.12 ID:R3kWrksN.net
毎回出る余計な警告に混じって出てくる重要な警告読み飛ばすもんな

280 :デフォルトの名無しさん:2014/06/11(水) 23:26:18.21 ID:ALIRMVK5.net
たまにLDC使うと凄く速くてびっくりするな
というかDMDの最適化が糞すぎるのか

281 :デフォルトの名無しさん:2014/06/14(土) 00:18:03.44 ID:4/yKtYBT.net
関数が、内部で利用してるテンプレートとかインターフェースの実装如何では
pureとか@safeとかnothrowになれるのだが、という時ってどうしてる?
諦めるしかないんかな。

282 :デフォルトの名無しさん:2014/06/14(土) 00:33:35.02 ID:4/yKtYBT.net
あ、いや、インターフェースは諦めないとダメか。
テンプレートでRange周りとか、要素型の実装次第で修飾変わってくることがわりとあると思うんだけど、
なんか上手い書き方(もしくは将来的に可能になりそうとか)知ってる人いたら教えてください。

283 :デフォルトの名無しさん:2014/06/14(土) 00:34:53.60 ID:kVfPiGuj.net
@safe, nothrow は外から握りつぶせるはず…あまりオススメしないが

pureは呼び出してる奴に属性をつけるか中身だけをコピーしてくるか
そんなとこじゃない

284 :デフォルトの名無しさん:2014/06/14(土) 08:05:05.99 ID:p/PQ5SD6.net
ttp://qiita.com/9rnsr/items/f9c6879daf439dbf07e1

> pure,nothrow,@safeの推論機構の改良
>
> Issue 10329 - Attributes not inferred for indirectly templated methods
> ttps://github.com/D-Programming-Language/dmd/pull/2832
>
> テンプレートによって実体化される全ての関数は、それがネストしたスコープにあるかどうかに関わりなく属性推論が有効になるべき、という機能です。PRの取り込み待ちです。

>279 が気になるのはコレ?

285 :デフォルトの名無しさん:2014/06/14(土) 10:33:58.01 ID:hcKnusOa.net
ずいぶん前から言われてた気がするけどまだ解決してなかったのね
それにしても9rnsr氏は貢献し過ぎである

286 :デフォルトの名無しさん:2014/06/15(日) 10:23:20.84 ID:nmgPptuv.net
やっと2.066か
http://forum.dlang.org/thread/5397A287.3040605@yahoo.com

287 :デフォルトの名無しさん:2014/06/19(木) 19:27:59.89 ID:3DnU6/UW.net
Dconf2014のスライドは公開されるんだろうか

288 :デフォルトの名無しさん:2014/06/20(金) 14:13:04.24 ID:TN/Iy1wb.net
-profileでビルドすると実行速度が100倍ぐらい(1秒で終わる処理が1分以上)遅くなるんですけど、
こういうものなんでしょうか?

289 :デフォルトの名無しさん:2014/06/20(金) 14:21:29.60 ID:C6Xti4O4.net
そういうもの
必要な時以外は使っちゃダメ

290 :デフォルトの名無しさん:2014/06/21(土) 11:21:54.91 ID:GdiKJ5Lr.net
Gtkd の Windows版を試したらかなりマトモでおどろいた!

291 :デフォルトの名無しさん:2014/06/21(土) 22:40:09.22 ID:om5858Ss.net
Windows版は知らんが、Linuxで使っている限り不自由はしないな。

292 :デフォルトの名無しさん:2014/06/27(金) 19:10:49.26 ID:OEa83Whd5
D言語でPDFのAnalyzer作ってみた。

ttps://github.com/protain/SShared

293 :デフォルトの名無しさん:2014/07/02(水) 00:18:23.58 ID:gtuJw30b.net
LLVMベースのD言語コンパイラ登場
http://news.mynavi.jp/news/2014/07/01/248/

294 :デフォルトの名無しさん:2014/07/02(水) 00:29:17.19 ID:eZw+Gx55.net
LDCは前からあるコンパイラだし、記事の内容も色々とおかしいし…

295 :デフォルトの名無しさん:2014/07/02(水) 00:38:28.67 ID:gtuJw30b.net
やっぱりか

296 :デフォルトの名無しさん:2014/07/02(水) 06:40:18.90 ID:IeKwRUiu.net
なんでMynaviで取り上げられたかっていうと、Phoronixで取り上げられたからだろう
http://www.phoronix.com/scan.php?page=news_item&px=MTczMTk

297 :デフォルトの名無しさん:2014/07/02(水) 15:35:09.28 ID:eZw+Gx55.net
2.066-b1か

298 :デフォルトの名無しさん:2014/07/04(金) 21:08:04.39 ID:rhJ6+N2+.net
DMD2.066v1 ftp://ftp.digitalmars.com/dmd.2.066.0-b1.zip" target="_blank">ftp://ftp.digitalmars.com/dmd.2.066.0-b1.zip
windows ftp://ftp.digitalmars.com/dmd-2.066.0-b1.windows.exe" target="_blank">ftp://ftp.digitalmars.com/dmd-2.066.0-b1.windows.exe
Changelog https://github.com/AndrewEdwards/dmd/wiki

299 :デフォルトの名無しさん:2014/07/10(木) 18:44:37.79 ID:8eQCf35+.net
Wiredで取り上げられてる
http://www.wired.com/2014/07/d-programming-language/

300 :デフォルトの名無しさん:2014/07/12(土) 00:43:56.30 ID:oQyWP5nz.net
話題待ちあげ

301 :デフォルトの名無しさん:2014/07/12(土) 01:37:42.62 ID:9R4AdJHD.net
日本で生まれ、世界が育てたdentsu

302 :デフォルトの名無しさん:2014/07/12(土) 12:05:16.30 ID:hZ9DjkyP.net
kaso

303 :デフォルトの名無しさん:2014/07/19(土) 00:23:47.12 ID:Bl44Zq8q.net
何故こんなに衰退したのか

304 :デフォルトの名無しさん:2014/07/19(土) 00:35:57.54 ID:QUXvHH2r.net
いやほんと。比較論者さえ絡んでこなくなって久しい
世間はc++1yやらswiftやらに盛り上がってるとかなんなんだろうね

305 :デフォルトの名無しさん:2014/07/19(土) 00:48:52.37 ID:XBc61slo.net
新規ユーザを取り込めてるのか怪しいし既存ユーザも使い続けてるのか怪しい

306 :デフォルトの名無しさん:2014/07/19(土) 00:59:22.16 ID:Bl44Zq8q.net
なんか作ろうぜ

307 :デフォルトの名無しさん:2014/07/19(土) 01:10:21.52 ID:ngmaeWXO.net
海外では比較的に順調っぽいのに日本では流行らないのん

308 :デフォルトの名無しさん:2014/07/19(土) 01:16:09.45 ID:zZmJmlL7.net
単に2chが衰退しただけじゃ…

309 :デフォルトの名無しさん:2014/07/19(土) 03:20:16.24 ID:0s6Yl60V.net
RT >302
RT >305

310 :デフォルトの名無しさん:2014/07/19(土) 03:31:28.92 ID:7rL7EX6a.net
最近変な奴見かけるなと思ったら、毎日必死なキチガイだった

http://hissi.org/read.php/tech/20140716/TjFOUStJY3U.html
http://hissi.org/read.php/tech/20140715/N01XWWwyU3Y.html
http://hissi.org/read.php/tech/20140713/aGg3dDlHeEk.html
http://hissi.org/read.php/tech/20140711/THgzU283WWc.html

311 :デフォルトの名無しさん:2014/07/19(土) 04:20:45.28 ID:QUXvHH2r.net
晒すほどの書き込みかなそれ
俺だって時には広告がブラジャーだらけになって慌てることもある
普通だよ普通

312 :デフォルトの名無しさん:2014/07/19(土) 07:52:45.50 ID:ngmaeWXO.net
ゲェーッ!

「"D言語"」のYahoo!検索(リアルタイム)
http://realtime.search.yahoo.co.jp/search?tt=c&amp;ei=UTF-8&amp;p=%22D%E8%A8%80%E8%AA%9E%22

313 :デフォルトの名無しさん:2014/07/19(土) 17:41:59.72 ID:QPCHoBE2.net
2chの勢いがないのはいいとして、D日本語サイトの更新がないのがこまる

314 :デフォルトの名無しさん:2014/07/19(土) 19:21:52.98 ID:ovpGaV+X.net
悲しいことに_argumentsと_argptrを使って
std.string.formatと同じフォーマットをやらなきゃならないはめになってるんだけど
そもそもこれできるの?無理な気がしてきた

315 :デフォルトの名無しさん:2014/07/19(土) 19:41:14.17 ID:ovpGaV+X.net
と書いたところでstd.format.doFormatみたいなのを見かけてできる気がしてきた
でもこれドキュメントに載ってないのか。使うと寿命が縮むだろうか

316 :デフォルトの名無しさん:2014/07/19(土) 20:33:11.02 ID:ngmaeWXO.net
// This stuff has been removed from the docs and is planned for deprecation.
と書かれたのが4年前か

317 :デフォルトの名無しさん:2014/07/19(土) 21:03:29.46 ID:71/bQDSL.net
ダメになっても自作で同じインタフェース作れるなら困らない

318 :デフォルトの名無しさん:2014/07/19(土) 21:15:24.85 ID:5bfNBw6F.net
廃止になってもコピペして使い続けるのは自由

319 :デフォルトの名無しさん:2014/07/20(日) 08:27:22.69 ID:vy4VEVQs.net
 プログラミング言語DのP.212で NVI をサポートしてると書いてあり、
サンプルコードで interface 中に private フィールドが出てくるんだが、
実際に継承して使うとエラーになる。
 これは
 ・本の間違い
 ・dmdのバグ
のどちらなんだ?
 一応ググったら過去ログが引っかかって、当時(2007/7)と変わっていない
ようなので前者かと思うが、正誤表には無かったので気になった。

320 :デフォルトの名無しさん:2014/07/20(日) 11:17:35.95 ID:kModIzy2.net
>>320
interface に private はないと思うよ

321 :デフォルトの名無しさん:2014/07/20(日) 11:29:31.75 ID:ErUz0FQn.net
TDPLはまだ実装されてない機能も載ってるとか何とか

2.065では動いてるけど

322 :316:2014/07/20(日) 19:05:32.68 ID:vy4VEVQs.net
2.065だが動かない 助けて

http://dpaste.dzfl.pl/7d0f59629486

書き方が間違っているのか何なのか
private が protected なら勿論動く
2.066.0-b4 でも同様のエラーで通らない

323 :デフォルトの名無しさん:2014/07/20(日) 19:08:48.91 ID:NXACm9JH.net
privateにすると非仮想だよね・・・

324 :デフォルトの名無しさん:2014/07/20(日) 19:23:47.47 ID:0bRnrjsh.net
そうゆうのは抽象クラスでやるもんじゃないのかぁ

325 :デフォルトの名無しさん:2014/07/20(日) 19:40:06.06 ID:NXACm9JH.net
そういえばDのNVIはまだ一回も使ったこと無いな
もう実装されてたのか。バグりまくってるけど

326 :デフォルトの名無しさん:2014/07/20(日) 20:12:13.38 ID:ErUz0FQn.net
protectedでいいじゃない 何がしたいのかわからん

327 :デフォルトの名無しさん:2014/07/20(日) 21:35:51.23 ID:yg/9umKah
>>322 のto_sを非仮想にってのにこだわると
mixinにしてダックタイピングによるtemplate地獄にする他ないと思う
ttp://dpaste.dzfl.pl/7df77ffefe79
↓本が間違いで、悪いこと言わんからprotectedにしとけって
ttp://forum.dlang.org/thread/l1gjoq$176b$1@digitalmars.com

328 :間違えてscに書いてもたからもう一回:2014/07/20(日) 23:21:02.39 ID:epB0dFAj.net
>>325 のto_sを非仮想にってのにこだわると
mixinにしてダックタイピングによるtemplate地獄にする他ないと思う
http://dpaste.dzfl.pl/7df77ffefe79
↓本が間違いで、悪いこと言わんからprotectedにしとけって
http://forum.dlang.org/thread/l1gjoq$176b$1@digitalmars.com

329 :316:2014/07/21(月) 03:43:58.80 ID:lh3+Iy3N.net
 本にあったけど書いてみて通らなかったからコードをちょっと短くして聞いてみたのよ
 そのまま書こうにも実行できるコードじゃなかったし

 特に private に拘りがあったわけじゃないんだ
 自分の書き方が間違っているだけでコンパイルが通らないなら、
それを聞きたいと思った
 他にもこのコードが今実行できないだけで、将来実行できるのかどうかとか
それらが知りたかった 言葉足らずだったスマン

>320
そうだな
これがコンパイル出来るなら interface の private は特別扱いするのかと思った

>321
状態がないなら(ないから)抽象クラスより良いのではないかと思ったんだ
他にクラスを継承したい場合でも interface なら共に継承可能だし

>324
そうします

330 :デフォルトの名無しさん:2014/07/24(木) 17:26:46.35 ID:w2uo6knu.net
void foo(lazy Object exp)
in { assert(exp); }
body { }

331 :デフォルトの名無しさん:2014/07/24(木) 22:48:59.87 ID:oaEEh9nM.net
勉強がてらD言語のテスト
ttp://fast-uploader.com/transfer/6961765293772.png

332 :デフォルトの名無しさん:2014/07/25(金) 00:04:09.12 ID:cQJQccdW.net
グロ中尉

333 :デフォルトの名無しさん:2014/07/26(土) 01:43:29.77 ID:uwCe3EGj.net
バグっぽいんだが、どうですか
http://dpaste.dzfl.pl/43a0084bc4f2
(linux dmd2.065 x64)

334 :デフォルトの名無しさん:2014/07/26(土) 13:00:24.57 ID:Tmqdlh5f.net
こんにちはOcamlをやってたんだですが
いろんな理由があって見限ってD言語に逃げてきました
VisualD最高ですね
GOと競合してるらしいですが、GoはGoogle臭がキツすぎてまともに相手にする企業はいないと思いますね

335 :デフォルトの名無しさん:2014/07/26(土) 13:02:01.93 ID:CEa11zc4.net
はあそうですか

336 :デフォルトの名無しさん:2014/07/26(土) 13:15:25.92 ID:57WieACj.net
GoogleがMSくらいおとなしくなったらC#くらい使われるようになるかもよ

個人的にはいくらなんでも名前がダサすぎると思うんだが…
せめて語尾に!くらいつけようぜ

337 :デフォルトの名無しさん:2014/07/26(土) 16:32:36.56 ID:tno9AbkY.net
GoとDが競合してるように見える人、多分プログラマーじゃないよな

338 :デフォルトの名無しさん:2014/07/26(土) 19:13:52.87 ID:MsvbT0Zs.net
そもそもGoは何と競合するんだ?
Androidアプリ用なのか?

まあ理由はともかく、Dを使う人が増えるのはいいこと

339 :デフォルトの名無しさん:2014/07/26(土) 20:35:48.90 ID:Tmqdlh5f.net
私は昔、D言語のことが大好きでした。D言語はよくできたC++のようなものです。
またD1については低水準化したPythonという印象でした。要するにPythonナイズしたCといったところです。
本当にすばらしいのですよ。コードが読みやすいのでアルゴリズムの設計に集中でき、開発スピードが上がります。
それに、必要な時に低水準な処理を制御することができます。
D1の開発系として分離されたD2は、著名なC++プログラマであるアンドレイ・アレキサンドレスクによって革新的な修正を加えられ、
C++に負けないくらい複雑になってしまいました。これはD2の並行処理能力をより高めるためでしたが、コミュニティの一部を失望させることになりました。
D2はもはや簡潔な言語ではなく、テストされていない機能を多く含んだ実験的な言語になってしまったようです。
それでもまだ私はDが好きですが、同じように複雑な言語であるC++が先行して普及していることを考えると、Dを使うべき利点は薄れていると思います。
またGoがDにとって代わったのかな、とも思います。
Dの最初の開発者であるウォルターやアンドレイが、非常にクールな機能を次から次へと実装したとしても、Googleを打ち負かすことはできないのでしょう。
ひょっとしたらあなたも、私と同じようにDを気に入るかもしれません。
でも、Dに輝かしい未来があるようには思えないのです。
今まで通りC++を使い続けるか、より充実したネイティブ並行処理がサポートされているGoに乗り換えるべきでしょう。
Dを使うとしたら、次のようなケースでしょうか。

340 :デフォルトの名無しさん:2014/07/26(土) 20:55:47.48 ID:tno9AbkY.net
こんな酷い評をもとにみんなDとGoを並べてるの

341 :デフォルトの名無しさん:2014/07/26(土) 20:59:29.33 ID:hK8qQs20.net
競合してないよな
相手にされてないという意味でだけど

342 :デフォルトの名無しさん:2014/07/26(土) 22:09:49.96 ID:1CZrW0Eq.net
マスコットのキモさが競合してるだろ

343 :329:2014/07/26(土) 23:53:51.31 ID:ThsY5Wcy.net
Dと競合するためには破壊的変更がないとなあ。

329だけど、2.066-b5 で直ってたっthx!

344 :デフォルトの名無しさん:2014/07/26(土) 23:59:24.75 ID:55qVa9NE.net
Dと競合するのはRustでは?

345 :デフォルトの名無しさん:2014/07/27(日) 00:40:48.69 ID:u3jvb72Q.net
b5は連想配列のgetが盛大にバグってる
2.066βは期待を裏切らなくてよい

346 :329:2014/07/27(日) 01:29:29.61 ID:fdzY+58f.net
>>345 まじか。もう入れちまったお
これはヨナベが捗りますなぁ

347 :デフォルトの名無しさん:2014/07/27(日) 02:08:14.42 ID:u3jvb72Q.net
>>346
string[string]でget()使うとなぜかconst(char)[]が返ってくるみたいなバグだから
コンパイル通ればたぶん大丈夫よん

348 :デフォルトの名無しさん:2014/07/27(日) 11:35:46.80 ID:b6NTPR2W.net
Dのバージョン切り替えなんてフォルダをリネームするだけっしょ

349 :デフォルトの名無しさん:2014/07/27(日) 12:11:31.95 ID:U7uDR9xp.net
ダウンロードさえしとけば
昔のバージョンにいつでも戻れるのは良い点

350 :デフォルトの名無しさん:2014/07/27(日) 12:21:54.60 ID:u3jvb72Q.net
HDDが容量不足になったときに過去のコンパイラを消すだけで10GBくらい稼げる
dmdはいいやつだ

351 :デフォルトの名無しさん:2014/07/27(日) 21:46:29.65 ID:3lKwqwqN.net
ftp://ftp.dlang.org/" target="_blank">ftp://ftp.dlang.org/
dmdは古いのから新しいのまでお好きなのをどうぞ

352 :デフォルトの名無しさん:2014/07/28(月) 16:39:30.44 ID:hpZZ6WGD.net
>>347 大丈夫だった!ありがとう!
>>348 バグ回避の為のコード消しちゃったから、そこがメンドくて(^_^)>

353 :デフォルトの名無しさん:2014/07/28(月) 23:13:03.08 ID:2L1UoTME.net
>>348
win7のシンボリックリンクは知名度低いといってもPGは知ってなきゃダメだろ

354 :デフォルトの名無しさん:2014/07/30(水) 19:04:26.18 ID:oDHaBQlk.net
>■OMF<->COFF変換ツール
http://www.agner.org/optimize/#objconv

なんだこれ?使い物にならん
dllがexecutable fileとか言われるわ
implibは32bit版じゃないとダメらしいし

355 :デフォルトの名無しさん:2014/07/30(水) 22:04:13.90 ID:3hZBZ7Bz.net
>>354 の環境がWindows+x64+dmdであると仮定して書くんだけど、
1. dmd は-m64でVCのリンカを参照すること。
2. だからx64ではCOFFのライブラリをそのまま使えること。
3. objconvはインポートライブラリに対しては使えないこと。
4. .exeや.dllにはCOFFとかOMFとか関係ないから、objconvに渡しても無意味であること。
などを信じて、俺は幸せなD言語ライフを送っています。

356 :デフォルトの名無しさん:2014/07/31(木) 02:14:10.11 ID:n3Hv3wJC.net
まぁVCやgccで作ったCOFF形式のlibファイルやaファイルを
それでOMFに変換してdmdで(というかOPTLINKで)使おうとしても、
大抵エラー吐くんだけどな。

だからdmdは64bit版を使おう楽だから。

357 :デフォルトの名無しさん:2014/07/31(木) 10:02:55.93 ID:N7h43RT+.net
SEHに対応してくれたら本気出す

358 :デフォルトの名無しさん:2014/07/31(木) 12:17:24.87 ID:uCJCqnN7.net
blockerとは何だったのか

359 :デフォルトの名無しさん:2014/07/31(木) 21:23:32.37 ID:4CmHinpe.net
CでReleaseビルドしたlibをリンクするとUTFExceptionで落ちるんだけど
なにかやらないとだめかえ?

360 :355:2014/07/31(木) 21:56:50.71 ID:4CmHinpe.net
自己解決した
VisualDのソリューションのパスに日本語が入ってるかららしい・・・

361 :355:2014/07/31(木) 22:06:55.47 ID:4CmHinpe.net
勘違いだった。関係無かった・・・

362 :デフォルトの名無しさん:2014/07/31(木) 23:45:31.20 ID:N7h43RT+.net
文字列の末尾の0
Unicodeの変換忘れ
GCに乗ったメモリを渡して途中で解放された

そもそもどこで落ちてるのかわからんのかえ

363 :デフォルトの名無しさん:2014/08/01(金) 00:56:41.83 ID:5xe7I4pz.net
dmd v2.066.0-b6 か... いつごろリリースするつもりなのか?

http://wiki.dlang.org/Agenda#v2.066_.28July_2014.29

364 :355:2014/08/01(金) 01:06:46.17 ID:CKCibHp+.net
自分でコマンドライン書いたらビルドできたからVisualDのバグかなぁ。
ビルド中にVisualDそのものがstd.utf.UTFExceptionのエラーダイアログ出す。
std.utf.utf.dの1109行目らしい。
Releaseビルドされてるlibをリンクするとダメらしい。

つーか、なんでビルド中にDの処理がはしるのかわけわかめ。
libファイルの中身をDで読み込んでるのか?
いみわからんからやめさせられないか。

365 :デフォルトの名無しさん:2014/08/01(金) 03:03:07.49 ID:Mjd2jJg4.net
テンプレートとかmixinトカ

366 :デフォルトの名無しさん:2014/08/01(金) 03:37:40.10 ID:B08XTG9S.net
>>363
もう来てるよ>>351

367 :デフォルトの名無しさん:2014/08/01(金) 08:33:36.26 ID:5YlCHfl7.net
http://downloads.dlang.org/
FTP鯖は遅い
ついに RC1になったよ(pre-releases/2014)

368 :デフォルトの名無しさん:2014/08/02(土) 18:05:26.75 ID:/qujBAJ4.net
float x = float.nan;
assert(x != float.nan);
writeln(x);

実行結果:nan

assertにひっかからないんですけど、どういうことなんでしょうか?

369 :デフォルトの名無しさん:2014/08/02(土) 18:43:07.45 ID:gHti8UBm.net
std.math.isNaN

浮動小数点数の比較は闇の入り口やで

370 :デフォルトの名無しさん:2014/08/02(土) 19:21:56.42 ID:/qujBAJ4.net
>>369
なるほど、演算子で比較しちゃいけないのか。

371 :デフォルトの名無しさん:2014/08/02(土) 21:20:30.77 ID:e74dBxat.net
-inf -0 +0 +inf NaN 計算誤差
こんなの全部いちいちやってらんないぜ!

372 :デフォルトの名無しさん:2014/08/03(日) 04:26:00.97 ID:T59meZIw.net
Experimental win32 OMF linker written in D now on github
http://forum.dlang.org/thread/lgngea$1ccj$1@digitalmars.com
https://github.com/yebblies/ylink

373 :デフォルトの名無しさん:2014/08/03(日) 07:15:59.24 ID:BlMLLyrV.net
COFF support for Win32
https://github.com/D-Programming-Language/dmd/pull/3843

374 :デフォルトの名無しさん:2014/08/03(日) 08:49:34.72 ID:bPGWsjSY.net
Dって未来あるの?

375 :デフォルトの名無しさん:2014/08/03(日) 08:57:51.93 ID:BlMLLyrV.net
現在も過去もアレなので未来しかない

376 :デフォルトの名無しさん:2014/08/03(日) 09:08:12.21 ID:T59meZIw.net
なるほど
一理ある

377 :デフォルトの名無しさん:2014/08/03(日) 09:12:47.17 ID:whCHIX+x.net
未来に生きるとはこのことか

378 :デフォルトの名無しさん:2014/08/03(日) 09:56:08.79 ID:REWxXvum.net
std.xmlの代わりはよ

379 :デフォルトの名無しさん:2014/08/03(日) 11:09:33.45 ID:e0g9CsnM.net
未来に向かって脱出するとしよう

380 :デフォルトの名無しさん:2014/08/03(日) 13:00:59.89 ID:tlgMEbbv9
いつまでもCってわけにはいかない。進歩がない。
Cの置き換えとして最も可能性のある言語は?

381 :デフォルトの名無しさん:2014/08/03(日) 14:02:27.00 ID:Wr5FGw9Z.net
SDL-widgets http://members.chello.nl/w.boeke/SDL-widgets/
の D言語版ってないのかな?

382 :デフォルトの名無しさん:2014/08/03(日) 14:29:53.30 ID:OMONJpSZ.net
https://github.com/buggins/dlangui
Uses SDL2 or XCB as a backend (SDL2 is recommended, since has better support now).

383 :デフォルトの名無しさん:2014/08/03(日) 14:33:42.65 ID:bIPi7fxQ.net
Derelict3にSDL2含まれてる

384 :デフォルトの名無しさん:2014/08/03(日) 15:23:10.62 ID:q8fBalr7.net
>>382
一見よさげだがライセンスに無頓着っぽいのがこわい
>>383
そういう話ぢゃない

385 :デフォルトの名無しさん:2014/08/03(日) 15:32:00.77 ID:Wr5FGw9Z.net
>>383
ありがとう!試してみます〜

386 :デフォルトの名無しさん:2014/08/03(日) 15:35:13.06 ID:8iLdmqG7.net
そういう話だったのか……?

387 :デフォルトの名無しさん:2014/08/04(月) 20:47:28.17 ID:cek/HGoY.net
>>382-379
正直すまんかった
各ソースの中に boost license って書いてあるな
トップからわかるようにしてくれっ中年

388 :デフォルトの名無しさん:2014/08/09(土) 21:21:35.41 ID:vPLnEWad.net
ゲームのソースくれさい

389 :デフォルトの名無しさん:2014/08/10(日) 00:25:33.21 ID:j1OTynVE.net
10年前のやつでよければ

390 :デフォルトの名無しさん:2014/08/10(日) 00:54:06.02 ID:oT1BdHMa.net
コンパイルが通るまでにどれくらいかかるのか

391 :デフォルトの名無しさん:2014/08/10(日) 07:24:59.63 ID:bAUGthrL.net
D言語の開発陣が未だに弄り続けてるD1があるじゃないか

392 :デフォルトの名無しさん:2014/08/10(日) 07:45:53.57 ID:7E80EqrJ.net
今でも>>367のページから10年前のdmdが入手可能

393 :デフォルトの名無しさん:2014/08/13(水) 00:44:24.02 ID:zdnki/wD.net
夏休みなのに話題なしとかやばくね?

394 :デフォルトの名無しさん:2014/08/13(水) 01:16:01.70 ID:1+Vqh2e4.net
夏休みがある種族にDerはいるのだろうか

395 :デフォルトの名無しさん:2014/08/13(水) 07:22:02.34 ID:TT8FY689.net
企業戦士御用達言語

396 :デフォルトの名無しさん:2014/08/13(水) 13:44:08.54 ID:yCsZpoZZ.net
>>394
Derは夏休みがある種族だろうか

397 :デフォルトの名無しさん:2014/08/13(水) 15:15:51.19 ID:TZPZmb+y.net
学生時代にちょっとかぶれて
オトナになったら離れていくものだろ

398 :デフォルトの名無しさん:2014/08/13(水) 15:42:48.31 ID:TT8FY689.net
夏休みになったのに話題が無いよって話なのに


Hara氏のプルリク(https://github.com/D-Programming-Language/dlang.org/pull/616/files)から2.066のChangelogを拾ってきたよ

# Compiler Changes
- -w now warns about unused return value of a strongly pure nothrow function call.
- -noboundscheck has been deprecated in favor of boundscheck=[on|safeonly|off].
- -vgc was added to list GC allocation code positions in the code.
- -vcolumns was added to display column numbers in error messages.
- -color was added to make console output colored.

# Language Changes
- @nogc attribute was added.
- extern (C++, namespace) was added.
- Operator overloading feature for multi-dimensional slicing was added.
- __traits(getFunctionAttributes) was added.
- Support template parameter deduction with arguments with narrowing conversion.
- Read-Modify-Write operations on shared variables are now deprecated.
- Support uniform construction syntax for built-in scalar types.

# Library Changes
- Duration.get and its wrappers have been deprecated in favor of the new Duration.split.
- Some built-in type properties has been replaced with library functions.
- Associative array keys now require equality instead of order comparison.

399 :デフォルトの名無しさん:2014/08/13(水) 15:52:35.91 ID:Bd7xMtig.net
日本語でまとめて

400 :デフォルトの名無しさん:2014/08/13(水) 16:48:49.86 ID:GFdBd9E5.net
英語のまま読む練習しよう、後々絶対に役に立つから

401 :デフォルトの名無しさん:2014/08/13(水) 17:18:50.85 ID:e08J2zv2.net
ついに@nogcがきたか

402 :デフォルトの名無しさん:2014/08/13(水) 17:41:52.44 ID:1+Vqh2e4.net
#までは読めた

403 :デフォルトの名無しさん:2014/08/13(水) 18:03:45.83 ID:qqATi5Tz.net
拾ってきたよまで読めた

404 :デフォルトの名無しさん:2014/08/13(水) 19:50:01.47 ID:TZPZmb+y.net
リンク先を見に行って Files changed を開けば
具体例までちゃんと書いてある

405 :デフォルトの名無しさん:2014/08/13(水) 20:00:23.98 ID:e08J2zv2.net
それ書かれるようになったの結構最近だった気がするけど一目でわかっていいよね
やっぱりDのコードは全世界共通語なんだな

406 :デフォルトの名無しさん:2014/08/15(金) 15:31:57.63 ID:Sp3fVf/J.net
>>398
>extern (C++, namespace) was added.

これ凄くないか?

407 :デフォルトの名無しさん:2014/08/15(金) 17:36:42.35 ID:xb4RWV+0.net
凄いというか怖い

408 :デフォルトの名無しさん:2014/08/15(金) 18:16:59.10 ID:EAoCiRcg.net
短冊にお願いを書くと叶えてもらえるスレはここですか?

409 :デフォルトの名無しさん:2014/08/15(金) 20:00:35.88 ID:8lH/t+ap.net
extern (C++, boost.numeric.ublas) void prod() {}

void main()
{
prod();
boost.numeric.prod();
boost.numeric.ublas.prod();
boost.prod();
boost.ublas.prod();
boost.ublas.prod();
numeric.prod();
numeric.ublas.prod();
ublas.prod();
}

410 :デフォルトの名無しさん:2014/08/15(金) 20:02:32.44 ID:4NGRiuWW.net
C++テンプレートのexternマダー?

411 :デフォルトの名無しさん:2014/08/15(金) 21:57:40.65 ID:5tGy8kcZ.net
まずABIを定義したまえ

412 :デフォルトの名無しさん:2014/08/16(土) 11:49:54.97 ID:rOaFr8n6.net
C++ template name mangling - http://forum.dlang.org/thread/lslofn$2iro$1@digitalmars.com

413 :デフォルトの名無しさん:2014/08/16(土) 14:33:09.32 ID:VKTgsMtd.net
あれ、ABIじゃなくて htod みたいな変換で吸収して終わりじゃないのん

414 :デフォルトの名無しさん:2014/08/17(日) 10:00:11.35 ID:PzbM5MXa.net
>>398

> extern (C++, namespace) was added.
ちょおま クソC++を実装するようなもんだからやらねっていってたじゃねーか!

> @nogc
バグりそう

> Read-Modify-Write operations on shared variables are now deprecated
なんでなん?自分でガードしろってこと?

> -color
Sugeeeeeeeeeeeeeee

415 :デフォルトの名無しさん:2014/08/17(日) 11:29:59.91 ID:2/SNnYSa.net
shared と __gshared の違いがよく分からなくなってきた

416 :デフォルトの名無しさん:2014/08/17(日) 11:36:15.93 ID:PHQzH28y.net
服を着ているのと全裸という大きな違いがある

417 :デフォルトの名無しさん:2014/08/17(日) 11:43:55.60 ID:7vM0n4G9.net
>>414
> バグりそう
どんな機能を想像してるのか知らんが、
pureとか@safeと同じで@nogcが付いてる部分でGCを使う操作をするとコンパイルエラーになるってだけだ

> なんでなん?自分でガードしろってこと?
atomicOp使えってこと

418 :デフォルトの名無しさん:2014/08/17(日) 12:18:42.57 ID:2/SNnYSa.net
shared の同期は単体のReadまたはWriteだけで
Read-Modify-Write はアトミックにして対処し
それ以上の処理はsynchronized使えってことなのかな

419 :デフォルトの名無しさん:2014/08/17(日) 12:54:47.48 ID:PHQzH28y.net
TLSは内部で完結するけど
こっちもやろうとすると
見えないところでデッドロックまで最悪ありうるのかな

420 :デフォルトの名無しさん:2014/08/18(月) 08:33:54.27 ID:8m3qW8UI.net
COFFサポートは2.067に入るのかな

421 :デフォルトの名無しさん:2014/08/18(月) 09:28:00.32 ID:0GH1txVb.net
何の話かと思ったら既にマージされたのか
内容にかかわらず reject されるという予想だったのだがw

422 :デフォルトの名無しさん:2014/08/18(月) 12:22:25.43 ID:0GH1txVb.net
うぉるたんはまだ druntime側の対応がついてないから不十分だと言ってる
…何がたりないんだっけ

423 :デフォルトの名無しさん:2014/08/19(火) 09:37:39.20 ID:4oI8t6Hf.net
2.066

424 :デフォルトの名無しさん:2014/08/19(火) 15:48:55.01 ID:a/u5e8tD.net
2.066 リリースおめ

Version D 2.066 August 18, 2014
Compiler Changes

1. -w now warns about an unused return value of a strongly pure nothrow function call.
2. -noboundscheck has been deprecated in favor of boundscheck=[on|safeonly|off].
3. -vgc was added to list GC allocation code positions in the code.
4. -vcolumns was added to display column numbers in error messages.
5. -color was added to make console output colored.

Language Changes

1. @nogc attribute was added.
2. extern (C++, namespace) was added.
3. Operator overloading for multi-dimensional slicing was added.
4. __traits(getFunctionAttributes) was added.
5. Support template parameter deduction for arguments with a narrowing conversion.
6. Read-Modify-Write operations on shared variables are now deprecated.
7. Support uniform construction syntax for built-in scalar types.

Library Changes

1. Duration.get and its wrappers have been deprecated in favor of the new Duration.split.
2. Some built-in type properties have been replaced with library functions.
3. Associative array keys now require equality instead of order comparison.

http://dlang.org/changelog.html#list2066

425 :デフォルトの名無しさん:2014/08/25(月) 02:49:02.02 ID:k6uFK3/4.net
難産だったな

426 :デフォルトの名無しさん:2014/08/25(月) 16:11:10.14 ID:OTL7uAT+.net
質問です
import std.stdio;
import std.datetime;
int main(string[] args)
{
uint t = 1408960000;
writeln(SysTime(unixTimeToStdTime(t)).toISOExtString());
writeln(SysTime(t * 1000 * 1000 * 10L).toISOExtString());
writeln(SysTime(cast(ulong)t * 1000 * 1000 * 10L).toISOExtString());
return 0;
}

2014-08-25T18:46:40
0001-01-01T09:04:33.514496
0045-08-25T18:46:40

と表示されます
1行目以外が正しい値にならないのはいいのですが、
2行目と3行目の値が全然違うのはそういうもんなんですか?
Cみたいに演算時に整数の拡張は自動では行われないのですか?

427 :デフォルトの名無しさん:2014/08/25(月) 16:47:18.50 ID:5VqAReZX.net
>>426
UNIX時間は、原点をUTC西暦1970年1月1日0時とする、秒単位。
一方、SysTimeは、原点をUTC西暦元年1月1日0時とする、ヘクトナノ秒単位(100ns)の(たぶん符号あり)64bit整数
時間の単位を保持した型からは自動変換されるけど、生の数値はそうではないので
適切に変換関数使うなりしないといけないらしい
http://dlang.org/intro-to-datetime.html

自分はstd.datetimeをまだ一度も使ったことのないですが…w

428 :デフォルトの名無しさん:2014/08/25(月) 17:09:19.63 ID:OTL7uAT+.net
ああやっぱりうまく伝わらなかったみたいです
ヘクトナノ秒(hnsecs)であることとepochが違うことは理解してます
なので1000*1000*10Lを掛けても値が3つ同じにならないのも理解してます
気にしているのは
1行目≠2行目とか1行目≠3行目とかの話ではなくて
2行目≠3行目になっていることです

429 :デフォルトの名無しさん:2014/08/25(月) 17:38:44.72 ID:5VqAReZX.net
>>428
挙動から推測すると
2行目はlong型で、100ns単位として扱われている
3行目はulong型で、SysTimeの内部型より大きな数の型で、秒単位として扱われてる
という事みたいね
この辺の仕様がどうなってるのか何所に書かれてるか分からないけど

430 :デフォルトの名無しさん:2014/08/25(月) 17:44:02.80 ID:clHBdfGA.net
t * 1000 <- オーバーフロー
cast(ulong)t * 1000 <- セーフ
ここのことじゃろ

気になるならカッコを使えばいい
たぶんそのへんのことは深く考えられてない

Cと違うやんけ! とごねて通じるかどうか…

431 :デフォルトの名無しさん:2014/08/25(月) 17:46:44.05 ID:clHBdfGA.net
>気になるならカッコを使えばいい
間違えた

プログラマが明示的に指示すればいい

432 :デフォルトの名無しさん:2014/08/25(月) 18:08:21.31 ID:OTL7uAT+.net
>>430
トン
writeln(SysTime(t * 1000L * 1000 * 10).toISOExtString());
これなら3行目と同じになったわ
確かにCと違うぞゴルァってのは筋違いですね
でもちょっと違和感

433 :デフォルトの名無しさん:2014/08/25(月) 18:12:58.40 ID:5VqAReZX.net
pragma(msg, typeof(t * 1000 * 1000 * 10L));
pragma(msg, typeof(cast(ulong)t * 1000 * 1000 * 10L));

uintからlongへの整数昇格は暗黙でされる
ulongからlongへの降格は明示しないといけない

434 :デフォルトの名無しさん:2014/08/25(月) 18:20:45.87 ID:OTL7uAT+.net
コンパイル時に定数として評価されずに
実行時に計算してるってことかな

>>433
逆のような気がするんです

435 :デフォルトの名無しさん:2014/08/25(月) 18:24:14.21 ID:5VqAReZX.net
D言語では uintは符号なし32bit整数で、longは符号あり64bit整数だよ

436 :デフォルトの名無しさん:2014/08/25(月) 18:41:56.48 ID:OTL7uAT+.net
pragma(msg, typeof(unixTimeToStdTime(t)));
pragma(msg, typeof(t * 1000 * 1000 * 10L));
pragma(msg, typeof(t * 1000L * 1000 * 10));
pragma(msg, typeof(cast(ulong)t * 1000 * 1000 * 10L));

assert(t * 1000 * 1000 * 10L == t * 1000L * 1000 * 10);

なるほど
すごく勉強になりました

437 :デフォルトの名無しさん:2014/08/25(月) 18:49:34.47 ID:5VqAReZX.net
ああ逆ってそういう事か理解しましたすんません
t はコンパイル時に読めないから、実行時にuintのまま計算進めて
t * 1000 * 1000 * 10L ==> 2735144960
t * 1000L * 1000 * 10 ==> 14089600000000000

438 :デフォルトの名無しさん:2014/08/25(月) 19:04:58.16 ID:OTL7uAT+.net
assert(1000 * 1000 * 10L == 1000L * 1000 * 10); // success
assert(t * 1000 * 1000 * 10L == t * 1000L * 1000 * 10); // failure
後半はあきらかに定数なのでコンパイル時にlongとして見てくれてれば
どっちでも問題なくなる気がするんだけど
実行時に逐次計算する仕様になってるのは
いろいろ事情があってのことだと思うので
Dはそういうものだと理解しておきます

439 :デフォルトの名無しさん:2014/08/25(月) 20:12:02.24 ID:G47y4NKn.net
定数部分を ( ) で括るとlongになるね

440 :デフォルトの名無しさん:2014/08/25(月) 20:17:59.00 ID:nHtyucvb.net
*が左結合なので

441 :デフォルトの名無しさん:2014/08/25(月) 21:42:43.20 ID:KUe7O5sS.net
gccなんかには演算子の優先順位を無視して最適化するオプションもあるけど
あくまで最適化なので、型を変えるような真似まではしないと思

442 :デフォルトの名無しさん:2014/08/26(火) 08:05:25.39 ID:tVQB/X64.net
>>440
uint t = 1408960000;
writeln(SysTime(1000 * 1000 * 10L * t).toISOExtString()); // safe
writeln(SysTime(1000L * 1000 * 10 * t).toISOExtString()); // safe
writeln(SysTime(unixTimeToStdTime(t)).toISOExtString()); // right
writeln(SysTime(t * 1000 * 1000 * 10L).toISOExtString()); // overflow
writeln(SysTime(t * 1000L * 1000 * 10).toISOExtString()); // safe
writeln(SysTime(cast(ulong)t * 1000 * 1000 * 10L).toISOExtString()); // safe

assert(1000 * 1000 * 10L == 1000L * 1000 * 10); // success
assert(1000 * 1000 * 10L * t == t * 1000L * 1000 * 10); // success
assert(t * 1000 * 1000 * 10L == t * 1000L * 1000 * 10); // failure

ほんとうにありがとうございました

443 :デフォルトの名無しさん:2014/08/26(火) 08:09:36.24 ID:tVQB/X64.net
writeln(SysTime(1000 * 1000 * 10 * t).toISOExtString()); // overflow

Cでも同じだっけ

444 :デフォルトの名無しさん:2014/08/26(火) 08:30:28.75 ID:IA9SPzMO.net
Cって64bitに暗黙キャストとかされたっけ?
コンテキストの左辺が64bitだったら一応最終結果だけ暗黙変換はされるだろうけど
計算途中ではされない気がするんだけど

445 :デフォルトの名無しさん:2014/08/28(木) 08:30:31.98 ID:lMiYErVu.net
>>441
ねーよ。-ffloat-store か何かを勘違いしてるだろ。

あと、優先順位は計算順じゃない。カッコで優先させても、
a + b + (c + d) という式で、a + b と c + d の、どちらを先に計算するかは
決まらない。

446 :デフォルトの名無しさん:2014/08/28(木) 13:16:41.45 ID:4Z1Bz9EC.net
>>445
-fno-protect-parensの説明読んでみろ

447 :デフォルトの名無しさん:2014/08/28(木) 15:22:25.50 ID:sNBuoAz/.net
次は2.066.1か

448 :デフォルトの名無しさん:2014/08/28(木) 18:42:44.31 ID:OGX+taLQ.net
.1 リリースは regression修正やで
2.065.1はどこ行った…

次の目玉はパッケージ・モジュール周りの古代バグ退治になるんじゃないかな

449 :デフォルトの名無しさん:2014/08/29(金) 18:06:37.71 ID:1vSxxaD9.net
mono-d更新したらxamarinでプロジェクトが読み込めなくなったわ
ふざけんな

450 :デフォルトの名無しさん:2014/08/29(金) 20:48:09.71 ID:1vSxxaD9.net
D言語プラグインが無効になってただけだった
ふざけんな

451 :デフォルトの名無しさん:2014/08/29(金) 22:20:39.71 ID:nTaaN7G+.net
>>449-445
IDがD9

452 :デフォルトの名無しさん:2014/08/31(日) 22:21:49.74 ID:DCfsrrwi.net
公式フォーラムがサツバツとしておる……

453 :デフォルトの名無しさん:2014/09/01(月) 09:52:48.64 ID:YOdvfabO.net
闘争こそが言語を進化させるのだ!

454 :デフォルトの名無しさん:2014/09/01(月) 10:30:13.13 ID:srwG2aQM.net
Dで書いてるとC++でも良くね?ってシーンに出くわす

455 :デフォルトの名無しさん:2014/09/01(月) 15:22:18.01 ID:MLXyucsm.net
じゃあC++でもいいのでは

456 :デフォルトの名無しさん:2014/09/01(月) 15:36:40.94 ID:M8Jh9ISi.net
D is retired

457 :デフォルトの名無しさん:2014/09/01(月) 19:21:20.80 ID:HFXNgtth.net
 ___ _
  ヽo,´-'─ 、 ♪
   r, "~~~~"ヽ
   i. ,'ノレノレ!レ〉    ☆ 日本のカクブソウは絶対に必須です ☆
 __ '!从.゚ ヮ゚ノル   総務省の『憲法改正国民投票法』のURLです。
 ゝン〈(つY_i(つ http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
  `,.く,§_,_,ゝ,
   ~i_ンイノ

458 :デフォルトの名無しさん:2014/09/01(月) 19:27:56.60 ID:LK7dCups.net
>>457
必要ない。滅ぶなら滅びればいい。
抗う必要もない。0か1かだ。

459 :デフォルトの名無しさん:2014/09/01(月) 19:32:02.18 ID:pppp+tIw.net
なんでこういうのに描かれる人物ってサヨクっぽくて気持ち悪いんだろ
http://www.soumu.go.jp/senkyo/kokumin_touhyou/common/images/topMainVsBg.png

460 :デフォルトの名無しさん:2014/09/01(月) 20:58:32.44 ID:peTXbjy9.net
政治系の単語で常時検索でもかけてんのか

461 :デフォルトの名無しさん:2014/09/02(火) 00:20:14.96 ID:GG65+izr.net
>>454
話戻すけど、以前にdmdのソース読んだ時に感じたな。
D言語の理念が反映されてるC++は結構イケるな、と。

462 :デフォルトの名無しさん:2014/09/02(火) 01:55:32.11 ID:xDVdxbzs.net
D言語の理念を反映し似非GCを搭載したC++

463 :デフォルトの名無しさん:2014/09/02(火) 02:30:35.86 ID:wdU1cIJ3.net
auto hoge = new Hoge(fuga);
scope(exit) delete hoge;

これって絶対デストラクタ呼ばれる?

464 :デフォルトの名無しさん:2014/09/02(火) 04:10:30.46 ID:0CNFOIhV.net
>>463
呼ばれるはず。でもなんか、「終了処理は~thisに書かずに普通の関数に書いて、scope(exit)でそっち呼びましょう。」みたいな記事見たことある気がする。
ま、StorageClassのscope使ってるけどおれは。

465 :デフォルトの名無しさん:2014/09/02(火) 09:46:40.41 ID:fFmOi5Cz.net
明示的にdeleteしたりscope変数(あるいはstd.typecons.scoped)にするなら大丈夫でしょ
GCに任せる場合はタイミングを制御できないから普通の関数でやれってことだと思う
複数の参照がある場合、deleteすると大変なことになるし

466 :デフォルトの名無しさん:2014/09/02(火) 10:01:00.29 ID:vF2dAQit.net
なるほど今思いついたけど
class Cをprivateにしながら
alias scoped!Cを公開するモジュールを書けば良いのか

467 :デフォルトの名無しさん:2014/09/02(火) 11:49:01.90 ID:nnutxavO.net
alias C = scoped!C_;
auto c = C("foo");

構造体っぽく使えて良さそう

468 :デフォルトの名無しさん:2014/09/02(火) 18:06:10.25 ID:upiVbYOQ.net
>>460
何か前も似たようなことがあったな
Dの受け入れ先の話で「民主党に売りつけようぜ」ってレスの直後に
政治コピペが貼られてたの

469 :デフォルトの名無しさん:2014/09/02(火) 19:30:48.14 ID:TwHOx6jb.net
政治コピペは昔からbotだよ
郵政民営化選挙の時の板関係ないAA爆撃とか酷かった

470 :デフォルトの名無しさん:2014/09/02(火) 22:56:30.26 ID:QCzqP52n.net
>>467
C++やってた人にとって直感的で良さそうですね

471 :デフォルトの名無しさん:2014/09/05(金) 19:54:41.04 ID:izexdV+G.net
Microsoftがscopeとimmutableの特許を申請するらしい
http://forum.dlang.org/thread/ltinlp$79s$1@digitalmars.com

なんのこっちゃ

472 :デフォルトの名無しさん:2014/09/05(金) 23:17:34.18 ID:Mt1E1+r6.net
dubってdmd専用なんですかね
というかdmdとgdcどっちを使うべきなんだろう

473 :デフォルトの名無しさん:2014/09/06(土) 00:14:33.53 ID:z/gbJJfC.net
win なら dmd
*nix なら ldc

あれ、ldcってデバッガ使えたっけ?

474 :デフォルトの名無しさん:2014/09/06(土) 01:19:55.00 ID:BlcRo+M8.net
win以外でD使う理由薄いな
winはネイティブはC++しか実質ないようなもんなんだぜ

475 :デフォルトの名無しさん:2014/09/06(土) 01:51:23.04 ID:/ZCubNo7.net
>>471 immutableってDが最初だったのな。

476 :デフォルトの名無しさん:2014/09/06(土) 10:30:10.07 ID:906xG/Ud.net
>>472
DMD,LDC,GDCの全てに対応してるよ

> というかdmdとgdcどっちを使うべきなんだろう
DMDは最新の機能が使えるけど、最適化が悲惨
LDC,GDCは少しバージョンが古いけど並の最適化をしてくれる

477 :デフォルトの名無しさん:2014/09/06(土) 10:36:30.32 ID:YfIyv8jp.net
ldc,gdcはgccbuiltinが使える

478 :デフォルトの名無しさん:2014/09/06(土) 11:28:13.71 ID:tjxWMme1.net
D言語でjavascriptみたいなdomでhtmlを読み込むのどーやるの?

479 :デフォルトの名無しさん:2014/09/06(土) 12:05:55.28 ID:906xG/Ud.net
DOMのD言語実装
https://github.com/adamdruppe/arsd/blob/master/dom.d
JavaScriptで出来ることは多分できるよ、と書いてある

Google製HTML5パーサのバインディング、DOMと同じことは出来そう
https://github.com/bakkdoor/gumbo-d

480 :デフォルトの名無しさん:2014/09/06(土) 12:33:58.50 ID:ChfT6Oe0.net
DのコンパイラでLLVMの中間言語ゲロってくれるのはないの?

481 :デフォルトの名無しさん:2014/09/06(土) 12:57:54.77 ID:906xG/Ud.net
>>480
LDCに-output-ll/-output-bcというオプションがあって、
それぞれLLVM IRとLLVM bitcodeを書き出せる
参考: http://d.hatena.ne.jp/ABA/20130331#p1

482 :デフォルトの名無しさん:2014/09/06(土) 13:00:39.91 ID:qpbrw9LU.net
>>479
ありがとにゃん

483 :デフォルトの名無しさん:2014/09/06(土) 13:59:13.32 ID:ChfT6Oe0.net
>>481
ありがとにゃんにゃんわん

484 :デフォルトの名無しさん:2014/09/06(土) 14:09:03.44 ID:hSKZSSLP.net
かわいい

485 :デフォルトの名無しさん:2014/09/06(土) 16:06:06.84 ID:YILH6ewV.net
こんなおっさん達のレスでもかわいいのに
Dのマスコットときたら・・・おっと誰か来たようだ

486 :デフォルトの名無しさん:2014/09/06(土) 17:34:19.07 ID:kmr8PlZK.net
なんでや!マスコットかわいいやろ!

あれ?アイツの名前なんだっけ?

487 :デフォルトの名無しさん:2014/09/06(土) 17:44:56.51 ID:ChfT6Oe0.net
plan9

488 :デフォルトの名無しさん:2014/09/06(土) 19:29:00.18 ID:Lyi5zyqG.net
http://dic.nicovideo.jp/oekaki/7740.png
http://twimgs.com/ddj/galleries/13/03_GoLanguage_full.jpg
http://blog.golang.org/gopher/glenda.png

489 :デフォルトの名無しさん:2014/09/06(土) 19:49:05.19 ID:Ofev9yt5.net
グロ中尉

490 :デフォルトの名無しさん:2014/09/07(日) 11:06:45.52 ID:59jm1BMd.net
一番下BETA思い出した

491 :デフォルトの名無しさん:2014/09/07(日) 12:30:54.06 ID:Y9qmG4f1.net
Dの悪口言うとD言語erの集団が例のポーズで迫ってくるぞとかいうつぶやきを見たことあるけど
ポーズ要素がある分D-manの圧勝だな

492 :デフォルトの名無しさん:2014/09/07(日) 13:58:34.89 ID:pyaMkZTe.net
D言語のマスコットがD-manならC言語のマスコットは・・・

493 :デフォルトの名無しさん:2014/09/07(日) 15:03:35.24 ID:4zUKxjuz.net
https://www.youtube.com/watch?v=TJOPgTtHXoo

494 :デフォルトの名無しさん:2014/09/07(日) 15:48:35.89 ID:qGzfz7wC.net
グロ中尉

495 :デフォルトの名無しさん:2014/09/07(日) 15:49:37.90 ID:vNjKfHwN.net
WikibooksにあるD言語の記事が本当に酷いな
http://ja.wikibooks.org/wiki/D%E8%A8%80%E8%AA%9E

496 :デフォルトの名無しさん:2014/09/07(日) 18:13:57.86 ID:wfr3bgBU.net
じゃあ改訂すればいいじゃん

497 :デフォルトの名無しさん:2014/09/07(日) 22:05:38.98 ID:GpUJTJFm.net
>>495
直してくれるんだったら、向こうの人たちも大喜びだよ。
あそこはWikipediaに比べたら過疎ってるからね。

498 :デフォルトの名無しさん:2014/09/07(日) 23:00:50.60 ID:g69qeAqFJ
D言語はマスコットだけで笑いが取れる

499 :デフォルトの名無しさん:2014/09/07(日) 23:01:59.15 ID:vNjKfHwN.net
>>496>>497
全体的に駄目な感じだから、相当書き直す必要があるんだよな
それに出来の良さそうなD言語の解説はネット上にいくつもあるから、モチベーションがなぁ
暇な人がやってくれんかね

500 :デフォルトの名無しさん:2014/09/07(日) 23:22:09.26 ID:wfr3bgBU.net
にわかDerの俺としてはぜひ頑張ってもらいたい
いろいろ解説してくれてるところあるけど古かったりまだ未完だったりなんだよなあ

501 :デフォルトの名無しさん:2014/09/07(日) 23:22:18.51 ID:GpUJTJFm.net
>>499
書き直すと言わずに、別に1から作り直してもいいんだし、
Wikibooksの英語版から翻訳して書き直すという方法もあるよ。
ただし、Wikipedia系統のサイトなので著作権と履歴関係は要注意ではある。

502 :デフォルトの名無しさん:2014/09/07(日) 23:22:30.57 ID:V4yJXxP4.net
執筆者なりのユーモアなのか皮肉みたいなのがきかせてあるけどこういうのって入れなきゃダメなの?

503 :デフォルトの名無しさん:2014/09/07(日) 23:29:13.98 ID:GpUJTJFm.net
>>502
入れる必要はないと思う。
実用的でわかりやすい方がより多くの人に好まれるはず。

504 :デフォルトの名無しさん:2014/09/10(水) 18:06:52.11 ID:SIxieRJp.net
日本語のDの解説って何故か「変数とは」「関数とは」とかから始まるのが多いね
ライブラリの使い方の解説がもっと欲しい

505 :デフォルトの名無しさん:2014/09/10(水) 18:32:25.93 ID:dgDp4zwn.net
いつからライブラリがあると錯覚してた?

506 :デフォルトの名無しさん:2014/09/10(水) 18:55:30.10 ID:SIxieRJp.net
海外のを探してみても、D言語自体に関する解説ばかりなんだなー
Phobosの解説ってけっこう有用だと思うんだが、需要がないのか

507 :デフォルトの名無しさん:2014/09/10(水) 19:16:28.81 ID:9iStFdpr.net
Phobosのソースのunittestも見てあげてね

508 :デフォルトの名無しさん:2014/09/10(水) 20:23:21.58 ID:rw0uyKlz.net
逆引きwiki を編集する権利をやろう

509 :デフォルトの名無しさん:2014/09/10(水) 20:36:40.77 ID:s/Q5992e.net
英語版はまだ完全ではないけど、日本語版よりは相当充実してるよな。
ttp://en.wikibooks.org/wiki/D_Programming

510 :デフォルトの名無しさん:2014/09/10(水) 20:37:29.58 ID:D+hJ4kZ1.net
自分もPhobosの使い方知りたいときはunittest見てるなあ

511 :デフォルトの名無しさん:2014/09/10(水) 21:10:03.23 ID:iw/RFfKA.net
プログラマの共通言語はプログラミング言語

512 :デフォルトの名無しさん:2014/09/11(木) 00:01:48.08 ID:C8Sp0ta0.net
文字列でswitchするコード、実行時にバイナリサーチ掛けられてるのか……
ハッシュかなんかで比較してるのかと思ってた

513 :デフォルトの名無しさん:2014/09/12(金) 00:45:42.52 ID:jU80UIR7w
ttp://pointersgonewild.wordpress.com/2014/09/09/ds-garbage-collector-problem/
この記事を受けてcppconでalexとandreiが話し合った結果DMDのGCを書き直すらしい。

ttp://forum.dlang.org/thread/tzjphsukkffphepkrgyp@forum.dlang.org
ttp://www.reddit.com/r/programming/comments/2g03af/ds_garbage_collector_problem/ckent8c

514 :デフォルトの名無しさん:2014/09/12(金) 01:28:00.52 ID:jU80UIR7w
Andrei Alexandrescu said:
C++ interoperability: 1,000,000 merit points
Anything related to the GC: 999,999 merit points
All else: two digits merit points

まぁ、実際C++ intopがうまくいけばかなり透過的にC++のコードの再利用が出来る。

それにしてもおエラ方がみんなこの問題ばかりをやっているので、scope界隈の人がもっとかまってくれと、ちょっとした衝突も起きているようだ。

515 :デフォルトの名無しさん:2014/09/12(金) 20:09:48.92 ID:DoZOHl3s.net
むかしD言語はシステム管理ツールを作るのによいって触れ込みだったけど
何を作れば便利になるのか思いつかないまま早数年

516 :デフォルトの名無しさん:2014/09/12(金) 20:12:32.44 ID:ylwL1QX/.net
メモリリークの心配が少ないから
デーモンとか安心して作れるという幻想

517 :デフォルトの名無しさん:2014/09/12(金) 21:06:06.64 ID:paA5WjTo.net
D言語製のデーモンはいくつか稼働させてるなぁ

518 :デフォルトの名無しさん:2014/09/13(土) 00:11:08.03 ID:0tevjcZk.net
>>506
需要はあるはずだけど、書ける余力がある人が少ないんだと思うよ。

519 :デフォルトの名無しさん:2014/09/13(土) 07:09:22.85 ID:av6vptcA.net
>>508
ワロタw

520 :デフォルトの名無しさん:2014/09/14(日) 07:59:21.18 ID:CdH/njOy.net
言語仕様をどんどん変えていく××××や××はみんな実用的だと思ってるのに
それらより控え目な(今のところ)仕様変更しかしてないDが(2014年現在)、仕様が不安定で非実用的だ〜とか言われる

521 :デフォルトの名無しさん:2014/09/14(日) 08:04:30.84 ID:GzjRn3L/.net
>>520
XXXXのほうは、基本機構作るのに10年単位かかってるんだからベースは安定している。
XXのほうはXXXXXXがベースだから基本は安定している。

522 :デフォルトの名無しさん:2014/09/14(日) 08:17:41.16 ID:CdH/njOy.net
たぶん別の言語をイメージしてるな……

523 :デフォルトの名無しさん:2014/09/14(日) 08:28:01.46 ID:GzjRn3L/.net
あら、C++には1字足りなかった。Orz
C#のほうは確かデルファイがベース。
うーむ、会話とはこうも難しいものか。。。

524 :デフォルトの名無しさん:2014/09/14(日) 08:33:22.74 ID:htwZqFvC.net
伏せ字にしなけりゃ難しくならなかったはずだろw

525 :デフォルトの名無しさん:2014/09/14(日) 09:19:34.86 ID:PAZT5dFk.net
ruby と js

526 :デフォルトの名無しさん:2014/09/14(日) 09:27:24.42 ID:GzjRn3L/.net
あうち。Orz

527 :デフォルトの名無しさん:2014/09/14(日) 10:25:19.22 ID:9K7moARu.net
ユーザ数の違いじゃね
ユーザの多い言語が破壊的変更をしたところで非実用的とは言われない

528 :デフォルトの名無しさん:2014/09/14(日) 10:56:25.39 ID:AoDgvUnm.net
マイナーバージョンでちまちま断続的に破壊的変更入れてるから外から見ると永遠のβ版に見える

529 :デフォルトの名無しさん:2014/09/14(日) 10:57:06.33 ID:NZ+I8Nx6.net
RAD言語とシステムプログラミングゲンゴの違いだよ

530 :デフォルトの名無しさん:2014/09/14(日) 11:25:44.78 ID:CdH/njOy.net
マイナーバージョンというか、単にD2の66個目の(バグ修正限定ではない)リリースってだけだからな

まあ、リリースの仕方が悪いのはあるよね
開発リポジトリのある時点での単なるスナップショットに、リリース直前までのバグ修正を乗せただけという……

531 :デフォルトの名無しさん:2014/09/14(日) 17:38:15.71 ID:ssoiYDth.net
jsってDほど破壊的変更あるか?
そんなことしたらbreak the webって怒られると思うが

532 :デフォルトの名無しさん:2014/09/14(日) 18:14:32.43 ID:NZ+I8Nx6.net
言語が変わっても実装系が悪さしなければ問題ない
それに もともと HTMLはユルさが売り

533 :デフォルトの名無しさん:2014/09/15(月) 10:43:01.32 ID:+LNBiOAy.net
>言語が変わっても実装系が悪さしなければ問題ない
JavaScriptで実際に問題になってるのは、むしろ実装の変更なんだけどね

534 :デフォルトの名無しさん:2014/09/15(月) 12:08:55.38 ID:j8xvklWY.net
ブラウザの話なら
サイト側は変わらない一方
インストールされたブラウザがどんどん勝手にアップグレードされるという致命的な問題はあるな

535 :デフォルトの名無しさん:2014/09/15(月) 12:22:20.10 ID:WIy8nvhC.net
勝手にアップロードされるOSもあるけどな

536 :デフォルトの名無しさん:2014/09/15(月) 13:28:10.04 ID:j8xvklWY.net
そりゃウイルスが悪さしてるんだべ

537 :デフォルトの名無しさん:2014/09/15(月) 13:54:42.09 ID:GI5SOlSu.net
OS アップロードしてどうするω

538 :デフォルトの名無しさん:2014/09/15(月) 14:26:05.13 ID:e6JZuI3e.net
GPLだから余裕

539 :デフォルトの名無しさん:2014/09/15(月) 15:25:22.26 ID:+LNBiOAy.net
D言語erの知能が伺えるスレ

540 :デフォルトの名無しさん:2014/09/15(月) 17:17:58.28 ID:7d6Cbrn9.net
割れか?

541 :デフォルトの名無しさん:2014/09/20(土) 11:30:10.05 ID:+v1yvYXP.net
日本でのD言語の盛り上がりは過ぎたけど、海外では着々と広まってる感じ

542 :デフォルトの名無しさん:2014/09/21(日) 01:54:22.16 ID:Cu6gHbxJ.net
現在32位ってとこか
ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

543 :デフォルトの名無しさん:2014/09/21(日) 10:02:03.49 ID:7iBeCb4O.net
COBOLやFORTRANより上かよすげぇな

544 :デフォルトの名無しさん:2014/09/21(日) 10:22:27.11 ID:Rse853Cr.net
COBOLやFORTRANの人らはネットに出て来ないからな

545 :デフォルトの名無しさん:2014/09/21(日) 11:11:59.83 ID:aP8Aq0OA.net
20位のラインが少し上がったような…なんか集計方法が変わったのか

546 :デフォルトの名無しさん:2014/09/24(水) 23:51:13.49 ID:yadyJ4T4.net
D公式の命名規約に

http://www.kmonos.net/alang/d/dstyle.html
-----------------------------------
列挙型のメンバ名
lowerCamelCase で。
-----------------------------------

ってあるんだけど、みんなどうやってる?

547 :デフォルトの名無しさん:2014/09/25(木) 01:44:04.37 ID:aCIY3SmK.net
その規則はダメダメ

小文字1単語だとキーワードとぶつかることが多いから大文字を使う
with(Enum) 使うときも不便だし

少し前に phobos に提出された lexer モジュールが全部小文字に書き直しを命じられてるのを見て
かなりムカついた
トークン名がキーワードと丸かぶりになってて全滅、頭悪すぎ

548 :デフォルトの名無しさん:2014/09/25(木) 06:46:28.29 ID:3dX2Vxz6.net
キーワードとぶつかったらアンダーバーを後に付けろ、ってルールを使わせる為の規則だな
かといって、メンバ名が大文字スタートなのも気持ち悪いから自分はその規則通りにやってるけど

549 :デフォルトの名無しさん:2014/09/25(木) 06:49:51.37 ID:7DgNS8tq.net
Javaみたいで恰好悪いしね

550 :デフォルトの名無しさん:2014/09/25(木) 11:35:44.22 ID:h0SjTL+U.net
>トークン名がキーワードと丸かぶりになってて全滅、頭悪すぎ

>キーワードとぶつかったらアンダーバーを後に付けろ、ってルールを使わせる為の規則だな
をあわせて考えると
メンバ名ごとにアンダーバーがあったりなかったりで無意味に不揃いになるか
被る可能性のある識別子群すべてを事前察知してアンダーバーつけておくことになるか
って感じになりそうだけどどうなんだろう

551 :デフォルトの名無しさん:2014/09/25(木) 12:31:23.52 ID:3dX2Vxz6.net
Phobosだとこうなってるね

enum FunctionAttribute : uint
{
  none = 0,
  pure_ = 1 << 0,
  nothrow_ = 1 << 1,
  ref_ = 1 << 2,
  property = 1 << 3,
  trusted = 1 << 4,
  safe = 1 << 5,
  nogc = 1 << 6,
  system = 1 << 7,
  const_ = 1 << 8,
  immutable_ = 1 << 9,
  inout_ = 1 << 10,
  shared_ = 1 << 11,
}

552 :デフォルトの名無しさん:2014/09/25(木) 14:52:48.21 ID:1LOUCFqW.net
仕様変更で safe とか trusted とか property とか予約語にされそう

553 :デフォルトの名無しさん:2014/09/25(木) 15:01:33.19 ID:aCIY3SmK.net
その前に一度属性システムの見直しが入るはず

554 :デフォルトの名無しさん:2014/09/25(木) 16:53:52.85 ID:QGOHZuSE.net
適当なサフィックス付けるのはダメなん?

555 :デフォルトの名無しさん:2014/09/25(木) 17:59:19.04 ID:4g8Z5yl6.net
コンパイラがサフィックスに対するチェックしてくれるならそれでも良いけど
気持ち悪がられそう

556 :デフォルトの名無しさん:2014/09/25(木) 19:22:52.16 ID:DXgC6Get.net
慣れてさえしまえば小文字中心でタイプも効率的になるから多産向けなスタイルだな
enum値はenum型のインスタンスと捉えれば小文字もそう不自然ではない

557 :デフォルトの名無しさん:2014/09/25(木) 21:28:49.33 ID:3dX2Vxz6.net
識別子に大文字を使う言語は生産性が低い……?

558 :デフォルトの名無しさん:2014/09/27(土) 00:34:54.89 ID:ZCazcpui.net
 D言語の欠点は、やはりWindowsではUTF-8では使い勝手が悪いことだな。
 D言語専用のWindowsコマンドプロンプトを作ってフリーで公開してくれたらこの欠点も克服できるな。

 俺が言うD言語専用のWindowsコマンドプロンプトとは、プログラムの実行中は文字コードUTF-8で標準出力を
して、終了してコマンドの入力行は、UTF-16リトルエンディアンで標準出力をするコマンドプロンプトだ。
つまり、プログラムの実行結果の表示も、コマンドの入力行のカレントディレクトリの表示も、日本語
文字を化けさせずに正常に表示する特殊なコマンドプロンプトのことだ。

559 :デフォルトの名無しさん:2014/09/27(土) 01:31:19.99 ID:sK+a5gWD.net
コンソールのストリームには、現在のコンソールの文字コードに合わせたTextIOラッパーを被せて欲しいなあ。標準で。
Python3だと、ラッパー差し替えたり、ラッパーを迂回してバイナリデータを流し込む事もできて便利なんだけど

Hello,World の表示は簡単だけど、「こんにちは世界」の表示でつまずくのなんとかしないと…

560 :デフォルトの名無しさん:2014/09/27(土) 03:34:02.52 ID:M7lcZRBS.net
>>558
実際やってみるとUnicodeとシステムエンコードが混ざって出てきて
まずそこから直す羽目になる
nkfか何かを間にかませて 一行毎に処理させるべき

561 :デフォルトの名無しさん:2014/09/27(土) 03:40:38.90 ID:wWEtbr/Q.net
windowsの文字コードであれなのってd言語の欠点じゃなくね

562 :デフォルトの名無しさん:2014/09/27(土) 07:09:32.63 ID:Oa3mEnMz.net
Windowsってコンソールの文字コードを切り替える手段すら無いのか…よく使ってられるな

563 :デフォルトの名無しさん:2014/09/27(土) 07:13:35.48 ID:Oa3mEnMz.net
いや、確か手段はあったよな?
システムの文字コードが固定されてるのが原因か

564 :デフォルトの名無しさん:2014/09/27(土) 07:24:11.05 ID:V9AoMXji.net
981 デフォルトの名無しさん [sage] 2014/04/15(火) 13:13:11.98 ID:q9fQ+t/g Be:
ネットにはデマ情報がいっぱい残ってるので
正しい情報をメモ

cmd.exe
UTF-8
chcp 65001

cmd.exe のショートカット リンク先 %SystemRoot%\system32\cmd.exe /c start "UTF-8" cmd
このショートカットを起動してプロパティからフォントの設定(※ボールドフォントにチェックを入れる)
レジストリ \\HKEY_CURRENT_USER\Console\UTF-8 に
FaceName REG_SZ 適当
FontWeight REG_DWORD 0x0190
FontSize REG_DWORD 0x00120000
CodePage REG_DWORD 65001

http://nazochu.blogspot.jp/2011/08/blog-post_26.html

565 :デフォルトの名無しさん:2014/09/27(土) 10:32:51.43 ID:Tol0KhbM.net
それでも時々文字化けしたり
コンソール上にゴミが残ったり
UTF-8 で入力ができなかったり
cmd.exe はバグだらけ
置き換えられるのないかな
mintty あたりが有望?

566 :デフォルトの名無しさん:2014/09/27(土) 11:50:42.23 ID:Tol0KhbM.net
memo
http://dogmap.jp/2011/11/15/mintty/
http://tanakh.jp/posts/2011-11-15-windows-terminal.html
http://mukumaru67.blog39.fc2.com/blog-entry-306.html

567 :デフォルトの名無しさん:2014/09/27(土) 12:29:05.57 ID:8k8nqzS9.net
Windowsに限らず、POSIXでもLANGがUTF-8以外の人にも使い勝手は悪いぞ……
ただ、D言語がサボってる間にOSのほうがほぼUTF-8で統一されちゃったというだけで

言語仕様が内部文字列がUTF-8と決めている以上は
あらゆる入出力(ターミナル、ファイル名、ファイルの中身、環境変数、コマンドライン引数、etc)の際にUTF-8ではない環境に対応するのは
標準ライブラリたるPhobosでやるべきで、それをサボってるわけだから言語の欠陥だよ
「今は」UTF-8ではない環境がWindowsぐらいしか残ってないなんてのは言い訳にならん、D言語が登場した時期はそうでもなかったし

上にもあるけどPythonやJavaなんかはちゃんとやってくれてる
OCamlなんかもサボってる系(文字列Latin-1なのに何も変換してない)

568 :デフォルトの名無しさん:2014/09/27(土) 12:33:05.80 ID:Tol0KhbM.net
余計な変換するくらいなら
なにもしないってのが一番良い
という意見もある

569 :デフォルトの名無しさん:2014/09/27(土) 12:35:24.41 ID:8k8nqzS9.net
>>568
それはCSIな連中の言うことで、C/C++やRubyの言うことだ
文字列を具体的にコレと決めている言語の言うことではない

570 :デフォルトの名無しさん:2014/09/27(土) 14:40:16.86 ID:EvThW3ZM.net
D言語の登場した時期の状況がどう関係してるのかは自分にはちょっと分からないけど、確かに現状はよろしくないな
フォーラムでは話題にならないし困ってる人自体は少ないみたいだが

SJISだけならともかくロケール読んで適切な変換を、とか考えだすとPhobosとランタイムにそれなりに手を加えなくちゃいけない

571 :デフォルトの名無しさん:2014/09/27(土) 14:55:33.06 ID:EvThW3ZM.net
>あらゆる入出力
Windowsはよく知らんが、cmd.exeでの入出力がSJISってだけで、ファイル名とか環境変数はUnicodeで扱ってなかったっけ?
あと、ファイルの中身のエンコーディングは環境によって決まる訳じゃないのでどうしようもない気がする

572 :デフォルトの名無しさん:2014/09/27(土) 15:29:52.10 ID:8k8nqzS9.net
>>570
D言語が登場した2000年前後は、LinuxでもまだEUC-JPな環境も多かったからね、向こうだとLatin-1や9も使われてただろう
LANG=UTF_8前提というのはちょっと横暴だった、時代が追いついたからいいけど

>>571
PhobosもWなAPIを呼んでくれてる部分はちゃんと動くよ、そうじゃない部分も残ってるし
このちゃんと変換してくれてる部分と無変換な部分が「混じってる」状態が一番タチ悪いとも言えるけど
ファイルの中身は、Fileのコンストラクタにオプションを追加して、デフォルトは環境による(WindowsではSJIS)がUTF-8強制もできる、ぐらいでいいと思う
(それこそPythonやJavaは任意の文字コードを変換できるけど)
バイナリはrawRead/rawWrite使えば無変換、ということでいいし
あとstdin/stdoutは中でisattyしてコンソールの時はRead/WriteConsoleOutputWを使うぐらいはしないと

573 :デフォルトの名無しさん:2014/09/27(土) 18:15:49.97 ID:EvThW3ZM.net
File構造体を弄るのは無理だろうなぁ
seekとかとの整合性が壊れるんじゃないか

574 :デフォルトの名無しさん:2014/09/27(土) 18:18:04.08 ID:jZ4qurMV.net
CのFILEじゃあるまいしそれくらいできるんじゃないの?

575 :デフォルトの名無しさん:2014/09/27(土) 18:24:00.11 ID:M7lcZRBS.net
変換が必要なのはファイルじゃなくてストリーム
そうでなければバイナリのまま好きにするがよいよいよい

576 :デフォルトの名無しさん:2014/09/27(土) 18:39:40.11 ID:8k8nqzS9.net
>>573
ところが、VisualC++のwfopenにはUTF-8やUTF-16のファイルを開くオプションがある
dmdが使ってるDigitalMars C++のランタイムは知らん

577 :デフォルトの名無しさん:2014/09/27(土) 22:16:55.29 ID:Vi4BODU7.net
classで定義されたクラスはscopedでスタック上に生成できるけど
structで宣言された構造体ってヒープ上に生成できないんですか?
できればrawポインタは使いたくなくて、言語仕様やAPIでラップして欲しいのですが

578 :デフォルトの名無しさん:2014/09/27(土) 23:41:39.97 ID:sK+a5gWD.net
言ってる意味がよく分からないけど
new じゃダメなの?

579 :デフォルトの名無しさん:2014/09/28(日) 14:28:51.39 ID:5GX8p964.net
D言語を「C言語の後継」って紹介してる人が居たけどなんだったんだろう

580 :デフォルトの名無しさん:2014/09/28(日) 15:13:22.50 ID:ykQ3133u.net
静的メタプロからしてC++だよな、参照とガベコレはC#かJavaか。
しかし多重継承は残して欲しかった。テンプレートmixinだと、
元から多重継承意識して実装クラス記述するか、あと付けなら移譲用の
mixin書かないといけないよね

581 :デフォルトの名無しさん:2014/10/04(土) 16:02:04.29 ID:CFrGjov4.net
std.typecons.Typedef、標準型の場合はtoHash()くらい積むようにしてほしい
自分で書けばいいんだけど釈然としない

582 :デフォルトの名無しさん:2014/10/04(土) 16:17:47.16 ID:CFrGjov4.net
うげげ、Typedefってswitchにも使えないのか
なんじゃこりゃ、使い物にならんやんけ

583 :デフォルトの名無しさん:2014/10/04(土) 19:47:43.73 ID:UDl9+1nO.net
>>582 Typedefってか構造体がもうswitchに使えないからなあ。if ... else if で。
上の方で知ったけど、バイナリサーチらしいから使えてもいいようなもんだけどね。

>>581 こんなでいかがか?(v2.067.0-b1)
http://dpaste.dzfl.pl/2b9d753254b9

584 :デフォルトの名無しさん:2014/10/04(土) 20:50:30.13 ID:CFrGjov4.net
>>583
おお、まさに今対応中のところだったんですねThx
switchは整数型と文字列だけと言わずopCmp()とopEquals()があれば使えてもよさそうなもんですね
D言語のことだからそのうちしれっと対応するんだろうけど

585 :575:2014/10/04(土) 21:36:48.22 ID:UDl9+1nO.net
>>584 あ、俺中の人じゃないんです。簡単に書けそうだったから書いただけ。期待させてすまぬ。
まあでも、そのうちしれっと実装されるでしょう。D言語だし。

586 :デフォルトの名無しさん:2014/10/04(土) 22:27:56.85 ID:l4iQ8Ohc.net
Githubで開発してるから誰でもパッチ送れるよ
只でさえコミュニティが小さいんだし、折角作ったパッチを入れないのは勿体ない

587 :デフォルトの名無しさん:2014/10/08(水) 20:30:04.51 ID:zpZXZ63i.net
> ウチのプログラマーがD言語のバグが致命的(メモリ管理できないというか命令文がない)ということで

ネタとして適当なことを触れ回るのは辞めてほしい

588 :デフォルトの名無しさん:2014/10/08(水) 22:09:58.22 ID:vDUa8S4h.net
「命令文」とかいう意味不明な語を使ってる時点でお察しではあるのだが...

589 :デフォルトの名無しさん:2014/10/09(木) 00:05:32.45 ID:K1ATwXjC.net
> D言語、たぶん、作者がコーディングに夢中でドキュメントが追いついていないと思う、、、あと開発期間が長過ぎて、ドキュメントを書いても、
> すぐバージョンアップで意味が無くなるので、余計にドキュメントが書けないループに陥っているんじゃないかな、、、。

590 :デフォルトの名無しさん:2014/10/09(木) 00:07:30.08 ID:K1ATwXjC.net
イメージだけで語るのが流行ってるのかな。

591 :デフォルトの名無しさん:2014/10/09(木) 00:28:41.48 ID:gtZnoAyG.net
それは人の業だ

592 :デフォルトの名無しさん:2014/10/09(木) 00:42:18.31 ID:HGVPQk47.net
面白いからもっと言及して欲しい

593 :デフォルトの名無しさん:2014/10/09(木) 01:37:54.61 ID:c9e3wyOv.net
言語を使わない人間が言語のネガティヴキャンペーンをして言語を使う人が減る謎現象を台風現象と名付けよう

594 :デフォルトの名無しさん:2014/10/09(木) 13:13:38.99 ID:IFg54I5e.net
日本語ドキュメントを公式だと思い込んでるんじゃね

595 :デフォルトの名無しさん:2014/10/11(土) 09:54:06.09 ID:rih/YngH.net
アホが何か凄いことをやっているように見せかける為にD言語に言及したり使ったりしてるのが気に入らないので、
D言語が簡潔簡単安全な言語であるという事実を早く広めたい

596 :デフォルトの名無しさん:2014/10/11(土) 11:59:29.58 ID:WAdfmHXI.net
1)縦横のそれぞれの列に1〜6の数字が1つずつ入ります(ここは数独と同じ)
2)マス目にあらかじめ入っている(数字)は太線で囲まれたブロックに入る数字の合計を表しています
3)太線で囲まれたブロックの中には同じ数字が入ることもあります

┏━━┳━━┳━━┳━━┯━━┳━━┓
┃(3) ┃(4) ┃(13)┃(5) │  ┃(8) ┃
┠──┣━━┫──┣━━┳━━┫──┨
┃  ┃(7) ┃  ┃(1) ┃(7) ┃  ┃
┣━━┫──┃──┣━━┫──┣━━┫
┃(11)┃  ┃  ┃(7) ┃  ┃(6) ┃
┠──┣━━┻━━┫──┣━━┻━━┫
┃  ┃(6) │  ┃  ┃(6) │  ┃
┣━━┻━━┳━━┻━━╋━━┳━━┫
┃(9) │  ┃(6) │  ┃(4) ┃(3) ┃
┣━━┳━━┻━━┳━━┻━━┫──┨
┃(4) ┃(5) │  ┃(11)│  ┃  ┃
┗━━┻━━┷━━┻━━┷━━┻━━┛

これを解くプログラムをD言語でおながいします
(たぶんずれるので等幅フォントのエディタにコピペで見てください)

ちなみにhaskelのひとは一週間で解いてくれました

597 :デフォルトの名無しさん:2014/10/11(土) 23:41:54.11 ID:7Ok0lmZw.net
( ´_ゝ`) フーン

598 :デフォルトの名無しさん:2014/10/11(土) 23:49:34.65 ID:ejT+Qu5k.net
プログラミング言語関係なくね?

599 :デフォルトの名無しさん:2014/10/12(日) 00:03:24.83 ID:fD2p7D4P.net
haskelとか書いてるとhaskellのひとに怒られるよ

600 :デフォルトの名無しさん:2014/10/12(日) 00:10:20.98 ID:3sa6b9+l.net
その図じゃ太線で囲まれたブロックの中に同じ数字が入るのはあり得なくね

601 :デフォルトの名無しさん:2014/10/12(日) 01:06:15.70 ID:zLR3N/FQ.net
import std.stdio;
void main(){
writeln("146235");
writeln("254163");
writeln("523416");
writeln("615324");
writeln("361542");
writeln("432651");
}

602 :デフォルトの名無しさん:2014/10/12(日) 10:46:48.05 ID:LjQH95WZ.net
Visual D 0.3.39
目玉は mago debugger x64対応くらいか

603 :デフォルトの名無しさん:2014/10/15(水) 14:44:43.53 ID:vP30Xlx4.net
https://twitter.com/repeatedly/status/419064369528315904

604 :デフォルトの名無しさん:2014/10/15(水) 16:57:59.33 ID:5vlaZL8F.net
依存症って結局パチンコでもネットでも過食でもなんでも当てはまるな

605 :デフォルトの名無しさん:2014/10/15(水) 18:10:02.75 ID:cRCK7wFX.net
前にその画像見た時にも思ったけど、それじゃD言語の特徴ってCTFEだけみたいな…

606 :デフォルトの名無しさん:2014/10/15(水) 18:13:31.19 ID:5vlaZL8F.net
「D言語のことしか考えられなくなります」の絵がキモい

607 :デフォルトの名無しさん:2014/10/15(水) 18:59:37.72 ID:fpvoAGYt.net
基本的に他の言語の良いところを集めまくった「ぼくのかんがえたさいきょうのげんご」なので
特徴って言われるとなかなか思いつかない
破壊的変更が入りまくるってのが特徴か?
依存症になると「他の言語はコンパイラが安定しすぎて俺が不安になる!」みたいな

608 :デフォルトの名無しさん:2014/10/15(水) 19:05:22.20 ID:oTkKZ4Eq.net
コンパイラのせいに出来るのはD言語だけ(キリっ)

609 :デフォルトの名無しさん:2014/10/15(水) 19:34:36.47 ID:++xXjZNS.net
D言語は時代の波に飲み込まれた
さすがにオワコン

610 :デフォルトの名無しさん:2014/10/15(水) 20:08:23.66 ID:1iAuuRfC.net
      ,' /
     i .l
.    | 、
    、.\ ヽ
      、 \ . ヽ ._
         丶.   ‐  _
           ` ‐ _  (´・ω,(´・ω・)
                  (ー(,, O┬O
                   ())'J_))
    「俺たち終わっちゃったのかなぁ」

    「まだはじまっちゃいねぇよ」

611 :デフォルトの名無しさん:2014/10/15(水) 21:42:34.51 ID:Mz70dzpQ.net
プログラミング言語をコンテンツ呼ばわりする人って・・・

612 :デフォルトの名無しさん:2014/10/15(水) 21:54:25.41 ID:wWp+HCIj.net
数年前はコンパイラとの闘いが熱かったのに最近は安定しすぎてる

613 :デフォルトの名無しさん:2014/10/16(木) 00:33:21.82 ID:6zTGqYum.net
冷戦

614 :デフォルトの名無しさん:2014/10/16(木) 00:59:01.57 ID:ZnXgZtJ+.net
未だにマルチコアにも対応しないマルチスレッドしかないOCamlやってた俺からすりゃ
破壊的だろうがガンガン更新された方がマシ

615 :デフォルトの名無しさん:2014/10/16(木) 01:15:47.21 ID:dWY0Nqyy.net
OCamlは少し保守的すぎる
事情があるんだろうけど

616 :デフォルトの名無しさん:2014/10/16(木) 01:31:04.38 ID:SfFshP65.net
>>611
コンパイラかも知れんぞ!…まあ、それならD言語でなくdmdとかか

617 :デフォルトの名無しさん:2014/10/16(木) 16:00:46.45 ID:CsOFEKWu.net
OSのカーネルや言語処理系は最もコード密度が高い分野。一度もソース読んだ事の無い人にとっては
理解不能な世界。組み込み用のmrubyやJavaScriptですら公開されてるソース読んですぐ理解出来る代物ではない。
だれがどのように保守するかは大きな問題。カーネルや開発者の高齢化問題も発生する。
経済が破綻すればオープンソースは資金調達や人員の確保問題で保守がどうなるか不明なところがある。
そうなると伝統的プロプライエタリなOSや言語が長期的には有利かもしれない。

618 :デフォルトの名無しさん:2014/10/16(木) 22:52:08.35 ID:Jdhw7SI+.net
オープンソースって言葉の意味が分かってないなら無理して使うなよ

619 :デフォルトの名無しさん:2014/10/19(日) 22:40:54.94 ID:u460ocyA.net
何年か前に書いたソースを修正しようと思ったら、std.dateが読み込めないってエラーが出ました。
std.datetimeで書き直すほどの修正でもないのですが、コンパイラのバージョンを古いのに戻すぐらいしか方法はないのでしょうか?

620 :デフォルトの名無しさん:2014/10/19(日) 23:31:40.68 ID:gM05QmtL.net
std.date→std.datetimeの移行がさくっと出来ないってそれ自分で書いたソースじゃないでしょ
どっちでも良いけど消えた標準ライブラリを最新Verでどうやって使う気なのか

621 :デフォルトの名無しさん:2014/10/19(日) 23:50:48.95 ID:hOm3Ocpv.net
一体どんな返答期待して質問したんだろうか

622 :デフォルトの名無しさん:2014/10/20(月) 00:07:00.21 ID:8ZypDjIK.net
同じディレクトリにdate.py

623 :デフォルトの名無しさん:2014/10/20(月) 07:18:05.92 ID:k2vJCwgZ.net
>>620
4,5年前に書いたソースで全然覚えてないのです。
あと、std.datetimeをあまり把握しきれてないのも書き直すのを避けたくなく理由です。

>>621
まぁ書き直すか古いverに戻す以外にないですよね。

>>622
.py?python?

624 :デフォルトの名無しさん:2014/10/20(月) 09:09:27.04 ID:eWr20XAi.net
wrapperとか作れないのかな

625 :デフォルトの名無しさん:2014/10/20(月) 11:00:00.96 ID:xB8gyS9P.net
4,5年前のコードがstd.datetimeの修正だけで済むとは考えづらいけど
最新のD言語か別の言語で書き直したら

626 :デフォルトの名無しさん:2014/10/20(月) 11:28:43.71 ID:6s4aOBmV.net
コンパイラとライブラリ一式をソースとセットで確保していつでも使えるようにしておく
それしかない

627 :デフォルトの名無しさん:2014/10/20(月) 12:16:01.96 ID:X9WQfm+1.net
ソースにコンパイラのバージョン書いておくのが習慣になった

628 :デフォルトの名無しさん:2014/10/20(月) 16:53:02.68 ID:K2BfCVgx.net
そもそも4、5年前のソースを最新のdmdで通そうと考えるのが何か間違ってるような

629 :デフォルトの名無しさん:2014/10/20(月) 17:51:00.10 ID:SVFnr5rS.net
Cは20年前のソースでも通るぞ

630 :デフォルトの名無しさん:2014/10/20(月) 19:13:52.35 ID:O1145HhV.net
>>624
dmd ならば年代順にそろってるよw
http://downloads.dlang.org/releases/

631 :デフォルトの名無しさん:2014/10/20(月) 19:45:24.13 ID:pgUgZ3hw.net
scで見ると番号ずれるのかと思ったがそうでもないんだな
ちゃんと補正されてるとは

632 :デフォルトの名無しさん:2014/10/20(月) 22:49:30.98 ID:a7Ei9s8h.net
たぶん>>622はdate.dはBoost Licenseだし過去のソースをそのまま取ってくれば
そのまま使えるじゃんって言いかけた途中で蛇に食われたんだと思う

かつてのstd/date.dが今のdmdでコンパイルできるかは謎

633 :デフォルトの名無しさん:2014/10/21(火) 23:26:08.88 ID:DbX2Al2N.net
ひょっとするとstd.dateのコードをdate.dごと最新のdmd用にするかstd.datetime仕様に置き換えてくれるスクリプトかも知れんぞ
D言語erはたまに変態クラス居るから

634 :デフォルトの名無しさん:2014/10/22(水) 08:45:15.66 ID:zFSkun4G.net
microsecondじゃなくてpicosecondなのかこれ

635 :デフォルトの名無しさん:2014/10/22(水) 10:49:57.11 ID:7d6hMP/k.net
microsecの下は nanosecじゃろ
ライブラリでサポートしてるのは hect-nano = 0.1microsec まで
そこまで対応してるOSがあるかは知らん

636 :デフォルトの名無しさん:2014/10/22(水) 11:31:32.78 ID:G2nqW3Ft.net
picosecond 計測できる CPU あったら欲しい

637 :デフォルトの名無しさん:2014/10/22(水) 19:54:20.78 ID:yrJjDRql.net
.NETのDateTime.Ticksは100ナノ秒単位だそうだしそこらが限界か
Monoでもそうなのかな

638 :デフォルトの名無しさん:2014/10/22(水) 20:01:45.87 ID:7d6hMP/k.net
お前のメモリ速度は何色だ〜〜?

639 :デフォルトの名無しさん:2014/10/22(水) 20:07:06.54 ID:OXQCyhg2.net
基盤は緑ですがなにか。

640 :デフォルトの名無しさん:2014/10/22(水) 22:38:36.13 ID:I8Ficlrd.net
「速さ」の色を問うとは実に哲学的だな。あるいは文学的か。

流石D言語er

641 :デフォルトの名無しさん:2014/10/22(水) 23:18:47.29 ID:8KS/xqNh.net
元ネタが血の色だからでしょ

642 :デフォルトの名無しさん:2014/10/23(木) 15:57:14.69 ID:sacKhide.net
https://github.com/FrankLike/dfl2
ついに DFL2 が来たのか!と思ったら、普通の DFL だった。


そもそも、なんで DFL が終わってしまったのか知っている人がいたら教えて〜w

643 :デフォルトの名無しさん:2014/10/23(木) 16:46:53.60 ID:eDVkHXcG.net
続けるのにはエネルギーが必要だが
終わるのに理由はいらない

644 :デフォルトの名無しさん:2014/10/23(木) 17:00:07.79 ID:3dpvDRYI.net
DFL2はD2専用みたいだね。D1/D2両対応に疲れたんでしょ

645 :デフォルトの名無しさん:2014/10/23(木) 17:17:08.96 ID:RjBQcz8M.net
競合も多い分野だからな
やる気無くなる気持ちは判る

646 :デフォルトの名無しさん:2014/10/23(木) 17:23:48.96 ID:P/+8ROWQ.net
DのGUIツールキットライブラリって競合多いかな…?
更新止まっちゃったのは多いけど

言語問わず競合が多い、って意味ならごめん

647 :デフォルトの名無しさん:2014/10/23(木) 18:12:24.98 ID:eDVkHXcG.net
>>642
それ既存のフォークでもなくオリジナルソースとの差分もわからない
オープンソースのしきたりがわかってなくてダメダメ むしろ邪魔

648 :デフォルトの名無しさん:2014/10/25(土) 13:23:41.36 ID:Dq9yc316.net
static this() {
loadAppSettingsFile();
}

↑スレッド100個立ち上げるプログラムの中で発見されたコード

649 :デフォルトの名無しさん:2014/10/25(土) 13:43:56.46 ID:uUg9y0Q/.net
ゾッとした

650 :デフォルトの名無しさん:2014/10/25(土) 17:43:10.92 ID:dSyCpRci.net
だ、大丈夫初回起動だからファイル無いから

651 :デフォルトの名無しさん:2014/10/25(土) 18:15:41.15 ID:uUg9y0Q/.net
この件というか自分のコードで無意識にこんなことやっちゃいそうってとこがぞっとするわ…

652 :デフォルトの名無しさん:2014/10/25(土) 18:40:27.63 ID:gAvv+xng.net
もしかしたらloadAppSettingsFileの中でメインスレッド以外弾くようにしてあるかもしれない・・・?

653 :デフォルトの名無しさん:2014/10/25(土) 19:16:13.23 ID:Dq9yc316.net
静的ライブラリの中で無邪気にやってる可能性はかなり高いのではないか

654 :デフォルトの名無しさん:2014/10/25(土) 21:19:43.77 ID:dSyCpRci.net
D1のGUIライブラリをD2に移植した時にDLL初期化がGUI処理以外のスレッドで走りまくったことなら

655 :デフォルトの名無しさん:2014/10/27(月) 20:06:39.11 ID:ej98PbkV.net
static if文の中で、型Tがメンバ関数f()を持っているかどうかを判定するにはどう書けばいいですか?

656 :デフォルトの名無しさん:2014/10/27(月) 21:28:38.65 ID:ORWcqF8z.net
わかんないけど static if(T.classinfo.getMembers("f").length) とかじゃね?

657 :デフォルトの名無しさん:2014/10/27(月) 23:09:47.75 ID:pBeepT/B.net
static if (is(typeof(T.f) == function))

658 :647:2014/10/27(月) 23:37:09.99 ID:ej98PbkV.net
>>657の方法でできました。
メンバ関数がtemplateの場合はどうすればいいのでしょうか?
そのまま応用すると関数を呼び出すところでエラーが出ます。
static if (is(typeof(T.f!(X)) == function)) {
  t.f(x); // コンパイルエラー
  t.f!(X)(x); // コンパイルエラー
}

659 :647:2014/10/28(火) 00:36:52.60 ID:ZhBusCc1.net
自己解決しました。
static if (is(typeof(t.f(x)))) {
  t.f(x);
}

660 :デフォルトの名無しさん:2014/11/01(土) 00:13:22.32 ID:7TsBShuV.net
D言語のGUIライブラリに求めるものってなんかある?
俺はマルチプラットフォーム・Dネイティブくらいなんたが

661 :デフォルトの名無しさん:2014/11/01(土) 00:48:51.45 ID:NXaF13OH.net
た?

ウィジェット・ツールキットみたいなのを想定した話なんだろうか。
最低限ポインタを直接触らなくてすめば嬉しいな。

662 :デフォルトの名無しさん:2014/11/01(土) 07:08:10.10 ID:gj0fryM3.net
Dネイティブとかやめてくれ
マイナーなツールキットのイモUIに腹を立てたことは無いのか?

663 :デフォルトの名無しさん:2014/11/01(土) 12:59:57.68 ID:9iDZEQe4.net
それってGTKのこと?

664 :デフォルトの名無しさん:2014/11/01(土) 14:07:21.62 ID:8ouYpD3K.net
https://github.com/buggins/dlangui いいと思うよ、Widgets がいまいちだがこれから良くなる?かな

あと https://github.com/Jebbs/DSFML で最近は遊んでる

665 :デフォルトの名無しさん:2014/11/01(土) 18:57:23.85 ID:gNrs+HuM.net
ネイティブのUI機能ではなくスタイルシート的な機能で見た目を合わせるタイプがいいな
JavaのSwingのやり方だがパフォーマンスは安定してた

666 :デフォルトの名無しさん:2014/11/01(土) 19:06:25.81 ID:9iDZEQe4.net
QtDってどうなったんだろ?

667 :デフォルトの名無しさん:2014/11/01(土) 20:19:39.08 ID:NXaF13OH.net
最終更新日が1年以上前…
wxDも似たようなもんか

GtkDとDWTは比較的元気そう
もっともDWTはdubに対応する気が無いみたいだけど

668 :デフォルトの名無しさん:2014/11/01(土) 20:50:53.05 ID:9iDZEQe4.net
>>667
DWTの中の人はdubに入れてーなってメーリングリストで言ってたんだけど
gitのsubmoduleを使ってるせいでそのままじゃ対応できないそうな

669 :デフォルトの名無しさん:2014/11/01(土) 21:43:20.84 ID:NXaF13OH.net
そうだったのか

ttps://github.com/d-widget-toolkit/dwt/issues/12
とか見ると入れる気なんてさらさら無いように見えたんだけど…
俺の英語力低くてごめんね

670 :デフォルトの名無しさん:2014/11/01(土) 23:36:08.57 ID:gj0fryM3.net
> Absolutely, I just need to figure out a good way to do it.
これをどう解釈したのか気になる……

671 :デフォルトの名無しさん:2014/11/01(土) 23:41:26.44 ID:jtBHZTX6.net
全くだ、それをするのに良い方法を私は理解したいだけだ。

672 :デフォルトの名無しさん:2014/11/01(土) 23:42:40.15 ID:pFRJeQaQ.net
それだけ見たら、
それにしても、形にして送り出すためにどうすればいいのか。
と俺は読むかな。俺の英語力ひどいもんだけど。

673 :デフォルトの名無しさん:2014/11/01(土) 23:43:21.60 ID:jtBHZTX6.net
全くだ、それをするのに良い方法を私は理解する必要があるだけだ。

674 :デフォルトの名無しさん:2014/11/02(日) 00:01:46.46 ID:nVDd6SUA.net
機械翻訳じゃねーかw

ttp://forum.dlang.org/thread/lkkrij$1r3j$1@digitalmars.com
メーリングリストのはこれかな

675 :デフォルトの名無しさん:2014/11/02(日) 00:10:33.02 ID:cOZRjysN.net
Dubサポートしたいけど、各OS用のワークアラウンドとDWT共通パッケージが切れててそれがdubは拾ってくれねーぞ。なんかアイディアない?
っていってるのかな?

676 :デフォルトの名無しさん:2014/11/02(日) 00:27:33.12 ID:67KOBBIP.net
"figure"の意味が分かってて"figure out"という熟語を知らないなんてことが

677 :デフォルトの名無しさん:2014/11/02(日) 00:30:31.59 ID:cOZRjysN.net
見たか!それが俺の英語力だ!!Orz

678 :デフォルトの名無しさん:2014/11/02(日) 02:07:01.77 ID:Ns/yRHdS.net
メンテナー;
避けては通れないのは、dubを使用するための良い方法を理解する必要が有ることだね

---
こんな感じだと思う

679 :デフォルトの名無しさん:2014/11/02(日) 16:18:13.51 ID:UKN4oC22.net
Find out = discover some information.
Figure out is usually used when we are in the process of making a decision or
trying to arrange something.

To figure something out means you have to think to solve it.
For example: You figure out a math problem. You don't find it out.
You figure out how to solve a puzzle. You don't find it out.
こういうことらしい

680 :デフォルトの名無しさん:2014/11/02(日) 20:47:42.79 ID:3JPL3vNw+
XamarinStudioにMono-D入れて使い始めたのですが、実行時にコンソール非表示にするには「-L/exet:nt/su:windows:4.0」のオプションをどこに記述すればいいのんでしょうか?
「Tool->Option->D->Compiler Toolchains」内のオプションが記述されてる所に追加してもコンソールが非表示にならなくて困ってます・・・

681 :デフォルトの名無しさん:2014/11/03(月) 10:04:36.08 ID:pepslcbJ.net
マジレスですまんが、
>>670は「もちろん、あとはうまくやる方法を見つけ次第な」ってことだよな

682 :デフォルトの名無しさん:2014/11/03(月) 11:10:31.36 ID:n+OdLcyf.net
Yes/Noを聞く問いかけにはまずYes/Noで答えなさいと先生いつも言ってるでしょ

683 :デフォルトの名無しさん:2014/11/03(月) 11:41:44.36 ID:zABMRDMY.net
だが俺は質問を質問で返すぜ

684 :デフォルトの名無しさん:2014/11/03(月) 14:44:15.56 ID:HVdPOOCJ.net
auto r1 = filter!("a == 1")(arr1);
auto r2 = filter!("a == 2")(arr2);
auto r = [r1, r2]; // ここでエラー
foreach (e; r){ ... }

どう書けばいいですか?

685 :デフォルトの名無しさん:2014/11/03(月) 15:22:37.17 ID:n+OdLcyf.net
std.range.chain()

686 :デフォルトの名無しさん:2014/11/03(月) 17:17:27.04 ID:HVdPOOCJ.net
>>685
chainは1つの配列になってしまうので、目的のものと違ってしまいます。
欲しいのHoge[]じゃなくてHoge[][]なのです。

687 :デフォルトの名無しさん:2014/11/03(月) 17:22:47.41 ID:zABMRDMY.net
auto r = std.typecons.tuple(r1, r2);
foreach (e; r){ ... }

688 :デフォルトの名無しさん:2014/11/03(月) 17:23:51.26 ID:HVdPOOCJ.net
>>687
なるほど、タプルを使えばいいんですね。
thx

689 :デフォルトの名無しさん:2014/11/03(月) 17:28:22.71 ID:yD7eE8OW.net
r1とr2の型が違う事わかってなくね?
ちなみにstd.array.array()でレンジの評価をすればHoge[]型にできる

690 :デフォルトの名無しさん:2014/11/03(月) 17:30:19.25 ID:zABMRDMY.net
array()だと一度filter()が全評価されちゃうからなぁ

しまったその辺含めて質問を質問で返せばよかったのか

691 :デフォルトの名無しさん:2014/11/03(月) 17:33:53.88 ID:/rryaAU5.net
タプルで、各要素に文字列のインデックスを付けられるようにして欲しいなぁ

692 :デフォルトの名無しさん:2014/11/03(月) 17:45:09.19 ID:yD7eE8OW.net
std.typeconsのリファレンスの初っ端の例に書いてあるやつじゃないの?

693 :デフォルトの名無しさん:2014/11/03(月) 17:52:30.93 ID:/rryaAU5.net
alias Coord = Tuple!(float, "x", float, "y", float, "z");

これを、
c.z = 1;
だけじゃなく、
c["z"] = 1;
でも使えたら嬉しいな、ということです
文字列の添字も使えるように、って書けば良かったか

694 :デフォルトの名無しさん:2014/11/03(月) 18:09:17.22 ID:GTx3j7Oy.net
そりゃTupleでやるべきじゃないな
フィールドの型が違ったらどうすんだ

695 :デフォルトの名無しさん:2014/11/03(月) 19:10:34.73 ID:zABMRDMY.net
Variant[string] c;
c["z"] = 1;

こうかな
Variantって今どれくらい使い物になるんだろう

696 :デフォルトの名無しさん:2014/11/06(木) 16:05:35.44 ID:B+h9GyyV/
おとなしくopDIspatchと連想配列つかって新しい構造体でも作ったほうが早そう

697 :デフォルトの名無しさん:2014/11/08(土) 21:40:25.62 ID:t6QOxLf1.net
dmd.2.066.1 出てたんだな

698 :デフォルトの名無しさん:2014/11/08(土) 23:00:56.43 ID:wnAb3mO0.net
サイトの更新にちょっと手間かかってるんじゃ〜ってゆってた
regression対応だけのはずなのに微妙に機能の先食いまでしてる

699 :デフォルトの名無しさん:2014/11/09(日) 08:09:33.21 ID:N71mmsxI.net
いってた

700 :デフォルトの名無しさん:2014/11/09(日) 14:09:38.27 ID:FmsEabm8.net
そろそろTDPLの改訂版とか出したほうが良いんじゃないかね

通らなくなったコードは(多分)無いから大丈夫なんだろうか?

701 :デフォルトの名無しさん:2014/11/09(日) 14:54:13.05 ID:N71mmsxI.net
DMDがTDPLに書かれている機能を全てサポートしてからでも遅くない

702 :デフォルトの名無しさん:2014/11/12(水) 13:23:56.95 ID:XEt4RGec.net
カタテマの新作のシューティングが出てた

703 :デフォルトの名無しさん:2014/11/12(水) 23:53:47.50 ID:U/r2NBKd.net
今更かい、D言語erって案外ゲーム層とかぶってないんだね
つってもあれ、結局Luaなんじゃなかった?

704 :デフォルトの名無しさん:2014/11/15(土) 02:19:50.77 ID:WrYKNmnyA
契約付きインターフェースメソッドの in の文が実行されないのですがこれは言語のバグでしょうか?
outは実行されます。

705 :デフォルトの名無しさん:2014/11/15(土) 02:41:23.81 ID:4UoCUD+S.net
D#

706 :デフォルトの名無しさん:2014/11/15(土) 17:30:28.00 ID:8ar8h4b8.net
int[] arr;
int x;
...
auto arr2 = filter!("a == x")(arr); // エラー

predでxが使えないんですけど、どう書けばいいんでしょうか?

707 :デフォルトの名無しさん:2014/11/15(土) 18:12:56.01 ID:jP+CtIj50
auto arr2 = arr.filter!(a=> a == x);

708 :デフォルトの名無しさん:2014/11/15(土) 18:43:05.15 ID:QxX7h8ok.net
auto arr2 = filter!((a) => a == x)(arr);

709 :デフォルトの名無しさん:2014/11/15(土) 19:26:40.02 ID:8ar8h4b8.net
>>708
なるほど、ラムダですか。

710 :デフォルトの名無しさん:2014/11/15(土) 19:39:44.83 ID:QxX7h8ok.net
ラムだっちゃ

711 :デフォルトの名無しさん:2014/11/16(日) 03:07:04.35 ID:R/FFjtcr.net
ケケ

712 :デフォルトの名無しさん:2014/11/16(日) 09:42:50.24 ID:5YhHkZLp.net
Visual Studio 2013 Community で Visual D 動作確認
http://light.dotup.org/uploda/light.dotup.org102067.png

713 :デフォルトの名無しさん:2014/11/16(日) 10:47:24.57 ID:trIZATdw.net
みんなMonodevelopじゃないのか?

714 :デフォルトの名無しさん:2014/11/16(日) 16:24:39.60 ID:0FRsRnR6.net
IDEもだいぶよくなってるという噂だからそろそろ使ってみようかなと思いつつ
テキストエディタを開く吉宗であった

715 :デフォルトの名無しさん:2014/11/16(日) 16:49:27.26 ID:VvLz/Lyt.net
男は黙ってVim

716 :デフォルトの名無しさん:2014/11/16(日) 16:49:40.04 ID:trIZATdw.net
そういえばdubがあるからテキストエディタでもビルドがラクなのか

717 :デフォルトの名無しさん:2014/11/16(日) 17:45:35.26 ID:Xdej/dAt.net
Visual D ってデバッグは出来るのかね?

718 :デフォルトの名無しさん:2014/11/16(日) 17:52:05.51 ID:oLoiq+R+.net
何ヶ月前か前触った時は結構出来てたよ

719 :デフォルトの名無しさん:2014/11/16(日) 20:48:28.37 ID:DAFt35Fj.net
>>717
VSのデバッガも使えるし
D専用の mago debugger も使える

720 :デフォルトの名無しさん:2014/11/16(日) 23:27:05.10 ID:0FRsRnR6.net
マジかよ-gc売ってくる

721 :575:2014/11/18(火) 04:16:46.66 ID:kAiH58gO.net
>>581 えらい亀であれなんだけど、
>>586 に背中を押されてプルリク送ってたのがこの度めでたくマージされました。
おまいらありがとう!俺のコードよ末長くお幸せに!

722 :デフォルトの名無しさん:2014/11/18(火) 07:34:32.33 ID:N4SlILaP.net


723 :デフォルトの名無しさん:2014/11/18(火) 09:34:28.63 ID:/aEHbgmj.net
まだ婚約指輪もらっただけだから油断はできない
式を挙げて成田まで戻ってきたくらいでないと

724 :デフォルトの名無しさん:2014/11/18(火) 14:26:29.43 ID:YHhTsTMQ.net
いい話だなぁ
努力が報われるならやる気だって出ますよ


nothrow @trustedとか付いてる辺り今風だな

725 :573:2014/11/18(火) 19:20:47.02 ID:cDYRs+r1.net
>>721
ありがとうありがとう
俺も今度何か気づいたら英語を恐れずなんかしてみることにします

726 :デフォルトの名無しさん:2014/11/18(火) 20:33:20.77 ID:N4SlILaP.net
オンラインコンパイラとかオンラインジャッジの類、どうして古いDMDを使うんだろう……

727 :デフォルトの名無しさん:2014/11/18(火) 22:09:10.76 ID:0VWN7jZN.net
みんなDを導入した当初は最新版だったんだけどね・・・
「Dのバージョン」を見れば脱落したのがいつかわかるよ

728 :デフォルトの名無しさん:2014/11/18(火) 22:27:40.74 ID:N4SlILaP.net
これなんか、昨日始まったサービスなんだけどなぁ……
https://paiza.io/projects/CcFOYxRKTnHNPm6TF0FZYg

729 :デフォルトの名無しさん:2014/11/19(水) 00:14:55.02 ID:WD/g3TrS.net
>>728
gdc使ってるみたいだからそんなもんだろ
https://paiza.io/help

730 :デフォルトの名無しさん:2014/11/19(水) 02:13:32.74 ID:AizLP6wx.net
1年に何回もバージョンアップするとは思ってないのさ
知ってたら多分手を出さないさ

ちなみに gdcも2.065行ってるしそろそろ2.066も出てくるんじゃないかな

731 :デフォルトの名無しさん:2014/11/19(水) 07:14:37.43 ID:ZDe3BDz+.net
年に数回バージョンの変わる処理系なんて珍しくはないと思うが

732 :デフォルトの名無しさん:2014/11/19(水) 12:40:04.72 ID:JZ2oYyd9.net
DはC/C++より安全な言語ですが
仕様に破壊的変更を加えます

733 :デフォルトの名無しさん:2014/11/19(水) 12:43:16.30 ID:L+1YkX2O.net
他の言語と違って現状に満足せず改良を続ける積極的な言語
とポジティブに考えていこう

734 :デフォルトの名無しさん:2014/11/19(水) 12:57:38.80 ID:lE3ruP5g.net
いつも間髪を入れず同じパターンで刹那に突っ込みが入るのもこのスレの魅力

735 :デフォルトの名無しさん:2014/11/19(水) 13:03:23.54 ID:lE3ruP5g.net
いつも間髪を入れず同じパターンで刹那に突っ込みが入るのもこのスレの魅力

736 :デフォルトの名無しさん:2014/11/19(水) 16:50:15.41 ID:QAYpVL9O.net
このスレの方々にとってRustはどういった印象ですか?
ネイティブコード、オブジェクト指向、型の安全性、関数型言語の特徴、強力なパターンマッチなど、
D言語と似た点と独自の機能もあり、おもしろそうですが

今後のD言語の開発に影響を受けるのか、ライバルとして互いに張り合うのか、
言語同士の競争という面でも興味がありますが

737 :デフォルトの名無しさん:2014/11/19(水) 17:26:32.44 ID:JZ2oYyd9.net
間髪を入れずに同レスを繰り返すのも魅力ですね。判ります。

738 :デフォルトの名無しさん:2014/11/19(水) 17:28:57.59 ID:3P15N52e.net
実行ファイルサイズという点では現在圧倒的にDの勝ち
GC有りかつ巨大過ぎるstd.datetimeという癌を抱え込んですらDの方がコンパクト
言語仕様だけ見ればRustの方が良さげなんだけど、あっちはなんか基本的なところで設計を間違ってる気がする

739 :デフォルトの名無しさん:2014/11/19(水) 18:32:04.80 ID:ZDe3BDz+.net
最近はかなり保守的なので、破壊的変更ネタはいまいちだな

740 :デフォルトの名無しさん:2014/11/19(水) 18:41:49.87 ID:ZDe3BDz+.net
>>738
>巨大過ぎるstd.datetimeという癌を抱え込んですらDの方がコンパクト
そりゃ、datetimeの殆んどはテスト用コードだから
Phobosはreleaseビルドされてるのでサイズにはまったく影響しない
試しにunittestを全部消してみたら、algorithmと同じくらいの大きさになったよ……

741 :デフォルトの名無しさん:2014/11/19(水) 19:08:52.54 ID:3P15N52e.net
>>740
それを言ったらalgorithmなんてほとんどテンプレートでそれこそサイズに影響しないじゃないか……
と思ってar -xしてみたらdatetimeもそんなでかくなかったw
昔はもっと巨大だった気がするんだが、すまん

742 :デフォルトの名無しさん:2014/11/19(水) 19:14:37.17 ID:ZDe3BDz+.net
自分のは単純にソースコード量の話
std.datetimeのコードが1.4MBで、そのうち約1MBがunittestなんだよ

743 :デフォルトの名無しさん:2014/11/20(木) 07:55:26.26 ID:o9EVj3UU.net
Rustは最近green threadのランタイムを捨て去ったので、
バイナリサイズは結構小さくなったんじゃないかな。
あと、標準ライブラリ含め、ライブラリは基本静的リンクされるから
バイナリサイズ大きくなりがちではある。

744 :デフォルトの名無しさん:2014/11/20(木) 08:21:24.18 ID:hJaEa9ly.net
静的リンクされるなんて、(Javaとか除けば)OSにランタイム付けてもらえる処理系以外は全部そうでしょ
その制限の中で言語仕様からリンカまで一体となって使わないものをリンクしない仕組みが発達してきたのに
Rustはその辺全然利用できてない感がない?ライブラリのフォーマットからして.rlibなんて作ってるし
機能を削って一時的に小さくなっても、そんなのまた増えるよ

745 :デフォルトの名無しさん:2014/11/20(木) 10:02:55.18 ID:EmAWw9wC.net
lisperですねわかります

746 :デフォルトの名無しさん:2014/11/20(木) 22:30:45.33 ID:8mN7uPAt.net
int[][3] vertices =[
[1,2,3],
[2,2,3],
[3,2,3],
];
bool search(int[3] v)
{
return v[0] > 1;
};
auto result = vertices.filter!(search);

なんでこれ通らんの?
[3]を[]にすりゃ通るけど

747 :デフォルトの名無しさん:2014/11/20(木) 22:45:27.95 ID:9KkgNF4H.net
固定長配列は構造体と同じで値型なんです

748 :デフォルトの名無しさん:2014/11/20(木) 22:47:21.76 ID:W3wU8KPK.net
int[3][] vertices =[

749 :デフォルトの名無しさん:2014/11/20(木) 23:24:30.63 ID:Dot4vBSi.net
静的配列はレンジじゃないから
vertices[].filterみたいにスライスするとok

750 :デフォルトの名無しさん:2014/11/21(金) 18:38:52.48 ID:hVm0S3fC.net
C++をこの世から消し去ってくれるのなら
DでもRustでもいいから頑張って欲しい
Goは面白みがないから遠慮したい

751 :デフォルトの名無しさん:2014/11/21(金) 20:15:27.71 ID:FPfg1cnM.net
DMDでCOFF吐けるようになったんだー

って感心してPhobosをビルドしようとしたけどコケた
stdio.dの中で、dmdかつwin32の場合、自動的にDMのCランタイムを
前提にしちゃってるのが問題なのかな…?

752 :デフォルトの名無しさん:2014/11/21(金) 20:32:44.78 ID:FPfg1cnM.net
問題でした。あとprocess.dでも同じようなことが起こった。
恐る恐るその部分を修正したら何とかコンパイルは通ったみたい。

753 :デフォルトの名無しさん:2014/11/21(金) 23:09:09.34 ID:qvHLjp++.net
https://www.marshut.net/kpvqrm/coff-on-win32-how-to-try.html
ここの最初の方に make の仕方が書いてある

754 :デフォルトの名無しさん:2014/11/22(土) 09:01:00.14 ID:T3xUPRz8.net
D言語には依存性解決するビルドツールとかないの?
互換性なにそれみたいな言語だし機能しないか

755 :デフォルトの名無しさん:2014/11/22(土) 09:48:48.28 ID:2nUuPgkv.net
dub(http://code.dlang.org/)ってのが半公式のビルドツール
dub1.0からはDMDに同封するとかなんとか

756 :デフォルトの名無しさん:2014/11/22(土) 10:10:58.39 ID:2nUuPgkv.net
> 互換性なにそれみたいな言語だし機能しないか
大きめのD言語製ライブラリとか見てても、ちょっと古めのコンパイラに合わせとけば問題はほとんど無さそう
警告やdeprecationもあるし、version文とかで分岐しないといけない場合があるだろうけど

757 :デフォルトの名無しさん:2014/11/22(土) 13:00:16.47 ID:ClESvxNn.net
rdmd(ビルド&実行)
dub(人気だが目的にかなうか不明)
dsss,bud(D1時代に活躍)

あとDMD自体が依存性の出力を吐けるから加工すれば使えるんじゃないか

758 :デフォルトの名無しさん:2014/12/01(月) 13:00:08.12 ID:q7F8Vl1K.net
D言語 Advent Calendar 2014
http://qiita.com/advent-calendar/2014/dlang

まだ "若干" の枠が残っておりますのでお早めにお申込み下さい

759 :デフォルトの名無しさん:2014/12/01(月) 18:22:19.97 ID:pdaZTfdj.net
おいおい
https://github.com/DigitalMars/undead

760 :デフォルトの名無しさん:2014/12/01(月) 18:25:41.09 ID:k/0vFpdT.net
をるたんGJ

761 :デフォルトの名無しさん:2014/12/01(月) 19:17:16.56 ID:MDTDObyk.net
いいね

762 :デフォルトの名無しさん:2014/12/01(月) 19:28:08.57 ID:GLoHGVkg.net
ウォルタソ2ちゃん読んでるのかω

763 :デフォルトの名無しさん:2014/12/01(月) 20:06:16.01 ID:pdaZTfdj.net
こういう顛末らしい
http://forum.dlang.org/thread/m5b0p2$1bv4$1@digitalmars.com

764 :デフォルトの名無しさん:2014/12/01(月) 20:44:08.47 ID:q7F8Vl1K.net
うぉるたんが言い出しっぺで盛り上がってるからちょっぴり期待してたけど
微妙に斜め上に行ったな

765 :デフォルトの名無しさん:2014/12/02(火) 07:49:12.59 ID:XkN7RMp1.net
うぉるたーって日本語使いこなしてるのか

766 :デフォルトの名無しさん:2014/12/02(火) 18:04:37.22 ID:ZV0BAaQV.net
>>765
リンク貼られてるんだから読もうよ

767 :デフォルトの名無しさん:2014/12/05(金) 19:13:26.32 ID:VNkKZWmc.net
>>759のundeadを使ってみたんですけど、リンク時にSymbol Undefinedが出ます。
importするだけじゃだめなんでしょうか?

768 :デフォルトの名無しさん:2014/12/05(金) 19:54:14.96 ID:l6BQ9KC4.net
だめです

769 :デフォルトの名無しさん:2014/12/05(金) 20:24:32.21 ID:Hb0aQx/G.net
importは、Cでヘッダをincludeするのと同じ
Undeadはdubのパッケージを提供してるのでdubを使うか、あるいはrdmdを使えば自動で必要なものをコンパイルしてくれる

770 :デフォルトの名無しさん:2014/12/05(金) 21:29:42.94 ID:VNkKZWmc.net
>>769
できました。thx

771 :デフォルトの名無しさん:2014/12/07(日) 21:43:46.53 ID:tiP2VEcW.net
乱数を1〜2回程度しか使わないアプリケーションで(起動と終了は割りと頻繁に繰り返される)、
std.randomのuniformをデフォのまま使ってたら、体感的に偏りを感じました。
乱数1つ取り出すごとにシードを設定してるようなものなので、悪い使い方ですよね。
こういうアプリケーションの場合、どのようにすれば良い乱数が使えるのでしょうか?

772 :デフォルトの名無しさん:2014/12/07(日) 23:04:49.58 ID:k0/vdW5n.net
ジェネレーターの状態をどっかに保存して続きからというのが模範解答だろうけど
細かいこと気にしないなら/dev/randomでもそのまま使っとけばいいんじゃなかろうか

773 :デフォルトの名無しさん:2014/12/07(日) 23:42:45.79 ID:tiP2VEcW.net
>>772
なるほど。
ジェネレーターを保存する方向で考えてみます。

774 :デフォルトの名無しさん:2014/12/08(月) 10:05:26.48 ID:eZuxZoZp.net
memcached

775 :デフォルトの名無しさん:2014/12/08(月) 11:26:30.81 ID:PwuM5X3u.net
static if ( is(typeof(foo)) ) { }
else static assert( "foo is wrong" );

776 :デフォルトの名無しさん:2014/12/08(月) 16:13:02.50 ID:DldRzckq.net
D言語AdventCalendar、去年より人が減ってる……

777 :デフォルトの名無しさん:2014/12/08(月) 17:09:38.78 ID:KCPal8fz.net
仕方ない
javascript大人気

778 :デフォルトの名無しさん:2014/12/08(月) 17:22:23.35 ID:DldRzckq.net
??

779 :デフォルトの名無しさん:2014/12/08(月) 17:44:13.77 ID:WmBhQa8t.net
全体的にレベル高すぎて俺レベルじゃ書けそうな事が何もない

780 :デフォルトの名無しさん:2014/12/10(水) 22:41:10.33 ID:l9bu1t/n.net
現在のD言語って、RAIIはどうなっていますか?
構造体のインスタンスがスコープを抜けたときに、デストラクタが必ず呼び出される事を期待してもいいですか?

781 :デフォルトの名無しさん:2014/12/10(水) 22:53:30.35 ID:0pBLyzIc.net
scope(exit)じゃ駄目なん?

782 :デフォルトの名無しさん:2014/12/10(水) 22:56:44.80 ID:R7fmQqln.net
スタック上に確保してるのなら(newを使わずに構造体を作ってるなら)、確実にデストラクタが呼ばれる

783 :デフォルトの名無しさん:2014/12/10(水) 23:10:22.35 ID:YTo2gg23.net
死ぬほど頑張って@nogcを使い倒せばそんな心配から解放される…!

784 :デフォルトの名無しさん:2014/12/10(水) 23:10:38.07 ID:l9bu1t/n.net
>>781
例外安全というわけじゃなくて、C++のように使えたら便利だと思いまして。

>>782
なるほど。スタックというのが条件なんですね。

785 :デフォルトの名無しさん:2014/12/10(水) 23:23:27.90 ID:MEFzxP4Y.net
そりゃヒープに確保した構造体がスコープ抜けただけで解放されちゃ困るだろ

786 :デフォルトの名無しさん:2014/12/10(水) 23:28:14.38 ID:RnbrHJHd.net
classは通常でヒープで、Scoped(T)でスタックだが、
通常でスタックのstructをnewってできるのか?Heaped(T)みたいなのあるの?

787 :デフォルトの名無しさん:2014/12/10(水) 23:33:55.98 ID:R7fmQqln.net
構造体は普通にnew出来る

788 :デフォルトの名無しさん:2014/12/10(水) 23:39:13.55 ID:RnbrHJHd.net
ああなるほど、普通にT*に入れるってことね。サンクス

789 :デフォルトの名無しさん:2014/12/11(木) 05:33:34.64 ID:f28H8ZNo.net
>>785
ほんとそれ

790 :デフォルトの名無しさん:2014/12/11(木) 06:43:54.76 ID:Q8UNk1zo.net
Scopedってスタック確保されるんだっけ?
スタックでのメモリ管理を模してるだけじゃなくて?

791 :デフォルトの名無しさん:2014/12/11(木) 07:16:54.74 ID:luK/Jxn6.net
スタックに確保される

792 :デフォルトの名無しさん:2014/12/11(木) 12:01:20.30 ID:MNI0BZQ+.net
静的配列をキャストして使うシンプルな仕組みだったw

793 :デフォルトの名無しさん:2014/12/12(金) 07:34:38.53 ID:hWKmA/xD.net
D言語ユーザ、やけにロシア人が多いのは何か理由があるのかな
他のOSSではよく見かける中国人が少ないのも気になる

794 :デフォルトの名無しさん:2014/12/12(金) 15:36:21.58 ID:x/MDchDd.net
ロシア人というか東欧が多いんじゃないか?
Andreiたんがルーマニアだから

795 :デフォルトの名無しさん:2014/12/12(金) 16:09:23.42 ID:z5EZhpJA.net
チャウチェスク

796 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 19:01:17.34 ID:XGfObA5e.net
数年前にC++0xで話題になったコンセプトチェックみたいなことをやりたいんですけど、
シンプルに書く方法はないでしょうか?
static if (is(typeof(t.f())))
みたいに書くのは読みづらいし、f()の関数内にシンタックスエラーがあった場合、
f()がなかった物として扱われるのも不満です。

797 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 20:30:29.35 ID:07BOFnpn.net
Phobosでは無名関数をis(typeof())するテンプレートenumを使ってる
https://github.com/D-Programming-Language/phobos/blob/67605b53dc30967e05c443845beb44d90050a206/std/range/primitives.d#L143

これとかも参考にしてみると良いかも
https://github.com/D-Programming-Language/phobos/pull/2627/files

>f()がなかった物として扱われるのも不満です。
ユーザにエラーが見えるようなところでインスタンス化してみるとか? 方法はいろいろありそう
http://sc.yutopp.net/entries/548c224877777707ecfc3b00

798 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 21:26:48.39 ID:DOqhoYVE.net
俺だったら普通f()のunittestも書くけど、
そういう話じゃない気もする

799 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 22:43:19.11 ID:XGfObA5e.net
>>797
参考になります。
しかしTMPだから当然といえば当然ですけど、難しいコードですね。

>>798
コンセプトチェックが使われてるライブラリを、利用者が何も知らずに使った時に罠になると思うんですよね。
>>797の3つ目の方法も、エラーメッセージは綺麗だけど、コードは結構トリッキーに感じます。

800 :名無しさん@そうだ選挙に行こう:2014/12/14(日) 08:41:08.85 ID:+rNUoiuX.net
あ、785で貼った例は間違ってるな
関数をテンプレートにしないと

801 :デフォルトの名無しさん:2014/12/16(火) 12:44:36.08 ID:hmq5kduX.net
>>758
だいぶ空きが埋まったと思ったら時空のねじ曲がりまで起きてるw

802 :デフォルトの名無しさん:2014/12/16(火) 14:38:55.61 ID:P2aaIDn/.net
QiitaのAdvent Calendarではよくあること


だから君たちも時空を捻じ曲げても良いんだよ?

803 :デフォルトの名無しさん:2014/12/16(火) 19:23:33.33 ID:pta1Q+6d.net
初日から止めていくスタイル

804 :デフォルトの名無しさん:2014/12/16(火) 19:47:26.29 ID:Ds44nHOO.net
lvalueOfとかいつの間に・・・

805 :デフォルトの名無しさん:2014/12/16(火) 22:31:03.55 ID:lUIqdlE0.net
>>804
入ったのは2.061あたり

806 :デフォルトの名無しさん:2014/12/18(木) 22:47:09.91 ID:/iB1Gd/A.net
struct Hoge{
int[] arr;
}
void main(){
Hoge hoge;
int[] arr = hoge.arr; // ここでrefが欲しい
}

関数の引数やforeachではrefが使えますけど、関数の中でrefのようなことはできないのでしょうか?

807 :794:2014/12/18(木) 23:43:43.93 ID:/iB1Gd/A.net
自己解決。ref関数でいけました。

808 :デフォルトの名無しさん:2014/12/19(金) 22:59:19.28 ID:mZ1WU4h1.net
Dって結局さ、大規模開発向けの機能が豊富なのに、
大規模開発だと使われないから悲しいことになってるんじゃないかな

809 :デフォルトの名無しさん:2014/12/19(金) 23:58:36.60 ID:oaxgUkAb.net
まだ発展途上にある言語だから仕方がない。
あと10年待て。

810 :デフォルトの名無しさん:2014/12/20(土) 01:49:58.97 ID:6/ZWZwQm.net
DでもRustでもいいからとっととGoを駆逐してくれ
出来ればRustだとありがたいけど

811 :デフォルトの名無しさん:2014/12/20(土) 08:48:27.21 ID:ChYg+iyB.net
×大規模開発に使われないから悲しい
○大規模開発に使ってる人達はD1を使い続けてるからもっと悲しい

開発にも関わるようなコアなD言語erをいっぱい雇ってる某社は、未だにD1を使ってるらしいね
移行できないくらいの規模のコードベースって事なんだろうけど、悲しい

812 :デフォルトの名無しさん:2014/12/20(土) 22:24:44.21 ID:28mA7/d/.net
未だにD1て…

Microsoft様とか、Apple様とか、Oracleさん程度の資金力で援助してもらえれば
もっと普及するんだろうけどなー、と無意味な妄想に浸ってしまう

813 :デフォルトの名無しさん:2014/12/20(土) 22:42:09.03 ID:MfGlaGIo.net
Facebook様はどうや?

814 :デフォルトの名無しさん:2014/12/21(日) 03:47:53.52 ID:UG1lKywt.net
http://forum.dlang.org/thread/pxqytmikgipfjkjexuux@forum.dlang.org
某社様はお怒りであられますぞ

815 :デフォルトの名無しさん:2014/12/21(日) 05:35:47.00 ID:9Kr9HaBG.net
普及したらD言語の特徴であった破壊的変更が無くなってしまう
普及されたら互換性を維持する必要が出てくるんだぜ?

816 :デフォルトの名無しさん:2014/12/21(日) 06:39:29.82 ID:gQMH/TzB.net
普及版のDと
発展途上版のDに別れれば良いだけな気がする

817 :デフォルトの名無しさん:2014/12/21(日) 07:05:01.56 ID:YBiBM0C2.net
warning/deprecationを出しとけば破壊的変更じゃないんですよぉ、的な感じなので昔より大分マシ

818 :デフォルトの名無しさん:2014/12/21(日) 07:08:38.01 ID:YBiBM0C2.net
警告なしでぶっ壊れたらBugzillaに報告すると良い

819 :デフォルトの名無しさん:2014/12/21(日) 07:24:26.28 ID:oXXzcEed.net
auto t = tuple(1, 1.2, "foo");
auto a, b, c = t;

みたいな書き方で多重代入できればいいのに。


あと文字列リテラルでの式展開も導入して欲しい。

820 :デフォルトの名無しさん:2014/12/21(日) 13:20:35.20 ID:Bmq4staR.net
Pythonのタプルいいよね…

821 :デフォルトの名無しさん:2014/12/21(日) 18:25:02.92 ID:pnSq9dAE.net
確かに普及版で基礎開発しているのはちと世間受け悪いかもな。

822 :デフォルトの名無しさん:2014/12/21(日) 20:10:10.29 ID:YBiBM0C2.net
しかし、バージョンを二つに分けられるようなリソースがあるか、というと厳しそうだしな

823 :デフォルトの名無しさん:2014/12/23(火) 00:48:00.35 ID:xyoWzHvX.net
D2ってprivate constructorって非対応なの?

class A`

824 :デフォルトの名無しさん:2014/12/23(火) 14:38:17.13 ID:ZEFAEh7a.net
Dのprivateはモジュール外private

825 :デフォルトの名無しさん:2014/12/23(火) 16:14:46.76 ID:xyoWzHvX.net
なるほどね、 あざっす

826 :デフォルトの名無しさん:2014/12/23(火) 23:36:27.47 ID:xkazkLmW.net
import std.stdio;

void main()
{
int a,b;
(a, b) = (1, 2);
writefln("%d %d", a, b);
}

0 2
なんでですのん?

827 :デフォルトの名無しさん:2014/12/23(火) 23:54:44.75 ID:Iw2vbch6.net
(a, b) は b を返し、(1, 2) は 2を返すから?

828 :デフォルトの名無しさん:2014/12/24(水) 00:05:30.64 ID:X4e6dMxc.net
単なるカンマ演算子に何の夢を見ているのか

829 :デフォルトの名無しさん:2014/12/24(水) 00:16:39.78 ID:b74Z3Ffg.net
左辺でカンマ演算子が使えたのかー

830 :デフォルトの名無しさん:2014/12/24(水) 00:35:55.30 ID:tr7+03DC.net
ワロタ

831 :デフォルトの名無しさん:2014/12/24(水) 01:16:54.07 ID:b0jSArqn.net
Perlから来た人かな
あの言語は値の交換なんかをそう書くから

PythonやRubyの人なら、そこに括弧は付けないだろうし…

832 :デフォルトの名無しさん:2014/12/24(水) 02:34:19.60 ID:DwDaRkNN.net
左辺でカンマ演算子が使えるというよりもカンマ演算子が左辺値を返せるって感じ?

833 :デフォルトの名無しさん:2014/12/24(水) 02:37:10.50 ID:89gWHyFb.net
tieとかないの

834 :デフォルトの名無しさん:2014/12/24(水) 02:54:02.24 ID:jJjX2rTK.net
あるでしょ

835 :デフォルトの名無しさん:2014/12/24(水) 08:56:34.78 ID:0GjElsgC.net
TypeTupleに代入できるんだな、知らなかった
http://forum.dlang.org/thread/hezknigttpbwdhfikutv@forum.dlang.org


import std.stdio;
import std.typecons;

void main()
{
int a,b;
TypeTuple!(a, b) = tuple(1, 2);
writefln("%d %d", a, b); // => 1 2

// 値の交換にも使える
TypeTuple!(b, a) = tuple(a, b);
writefln("%d %d", a, b); // => 2 1
}

836 :デフォルトの名無しさん:2014/12/24(水) 15:13:35.06 ID:HMHzp+dm.net
先生…面倒くさいです
糖衣構文用意して下さい…


そういえば前タプルのリテラル作ろうとしたけど、
構造体のリテラルと被ってるから却下されたみたいな話を聞いたような

837 :デフォルトの名無しさん:2014/12/24(水) 15:27:48.55 ID:DwDaRkNN.net
文字列mixinがあれば全て解決

838 :デフォルトの名無しさん:2014/12/24(水) 15:49:09.52 ID:0GjElsgC.net
DIP32: Uniform tuple syntax
http://wiki.dlang.org/DIP32

839 :デフォルトの名無しさん:2014/12/24(水) 17:05:06.92 ID:RGirwQGI.net
> Note: Cannot swap values by tuple assignment.
が残念なんだよなあ

840 :デフォルトの名無しさん:2014/12/24(水) 19:40:06.30 ID:0GjElsgC.net
{a, b} = {b, a} より swap(a, b) の方が分かりやすくないか
まあ、{a, b} = {b, a+1}みたいな感じで変形できたりして良いのかな

841 :デフォルトの名無しさん:2014/12/24(水) 20:25:38.62 ID:GmHyOjUW.net
カンマ演算子ってCから引き継ぐ必要があったのかな?
害悪の源のような気がしてならない。

842 :デフォルトの名無しさん:2014/12/24(水) 20:31:17.01 ID:0GjElsgC.net
カンマ演算子を廃止する話も出てたが、影響が大きいからなぁ
forとかで何の気なしに使ってたりするだろ

843 :デフォルトの名無しさん:2014/12/24(水) 20:50:36.97 ID:EaPm3RpX.net
Cのマクロを直訳したりするときに無いと困ったりはするけど……
式中文の機能ってあったっけ?あるならカンマ演算子は廃止してもいいと思う

gccのこういうやつ
a = __extension__ { func(); b }; //値はb

844 :デフォルトの名無しさん:2014/12/24(水) 21:13:56.31 ID:0GjElsgC.net
Dでは代わりに、関数リテラルの即時呼び出しを使うのが一般的らしい

a = { func(); return b; }(); // インライン化されて a = (func(), b); と等価になる(仕様上は)

845 :デフォルトの名無しさん:2014/12/24(水) 21:36:54.69 ID:smF28on9.net
C言語のコードをそのままコピペした時に変なバグを出したくないって理由で
switchのbreakすらも廃止できないのでお察しください

あれ、でも八進数リテラル

846 :デフォルトの名無しさん:2014/12/24(水) 22:05:03.35 ID:0GjElsgC.net
> C言語のコードをそのままコピペした時に変なバグを出したくないって理由で
コンマ演算子をどうやって廃止するか議論している内にうやむやになった模様
https://github.com/D-Programming-Language/dmd/pull/3943

> あれ、でも八進数リテラル
八進数リテラルはそもそもコンパイルできないし…

847 :デフォルトの名無しさん:2014/12/24(水) 23:20:35.14 ID:HMHzp+dm.net
コンパイラにスイッチ付けて、C式かそうじゃないかを切り替えられるようにしてくれれば…

848 :デフォルトの名無しさん:2014/12/24(水) 23:29:04.39 ID:DwDaRkNN.net
#pragma strict

849 :デフォルトの名無しさん:2014/12/24(水) 23:53:21.48 ID:S0Zb+FI+.net
個人的にはCの進化系・高機能化って路線はC++がやってるんだから
DにはCとの兼ね合いなんて気にせず
「Cとは別の言語」しての路線を進んで欲しいかなあと思う

850 :デフォルトの名無しさん:2014/12/25(木) 01:20:08.27 ID:WzGsvaCs4
DでそのままコンパイルできるCのコードはCと同じように振る舞う、
って何かで見たけど、これは今でも厳密に守られているんだろうか?

851 :デフォルトの名無しさん:2014/12/25(木) 07:48:39.10 ID:qKZrZOHg.net
C/C++ と同じなら C/C++ 使うわ

852 :デフォルトの名無しさん:2014/12/25(木) 11:23:31.92 ID:0vEUjxYN.net
>C/C++ と同じなら
いやいや、既にまったく違う言語なのに、breakだのカンマだのといったものを残しとく必要はあるのかって話だよ

853 :デフォルトの名無しさん:2014/12/25(木) 11:28:55.55 ID:Y5il8ylR.net
仮定法だろ

854 :デフォルトの名無しさん:2014/12/25(木) 12:34:57.70 ID:+TWSkaoX.net
breakは、switchでなくその外側のループを抜けたいってCの時から何度でも思ってたしなあ

855 :デフォルトの名無しさん:2014/12/25(木) 14:06:36.21 ID:pycbzfX+.net
goto 恐怖症を克服すればどうということはない

856 :デフォルトの名無しさん:2014/12/25(木) 14:21:42.71 ID:LFi9pLEY.net
ラベル付きのbreakというのがあってな

outer:
while (true) {
auto s = "E";
switch (s) {
case "E":
break outer;
default:
break;
}
}

857 :デフォルトの名無しさん:2014/12/25(木) 14:22:27.62 ID:JXbXU9wh.net
ラベルgotoが使えるから問題ないよね、っていうのは違うと思うんだ…
単純に手間とか見栄えとか考えても、やっぱりbreak必須はなぁ

そういう意味で>>849と同意見ではあるんだけど、
「C言語のソースをそのままコピペした時、同じように動くか、コンパイルできないかにしたい」
って考え方も理解できるものがある。

あるんだけど、その挙動はCモードとかそういうの作ればいいんじゃないのとかも思う。

858 :デフォルトの名無しさん:2014/12/25(木) 14:39:45.65 ID:P8SronhE.net
古いD言語コードをコピペすると(あるいは混ざってることに気づかなかったら)、エラーなしに変な動作をする訳か

859 :デフォルトの名無しさん:2014/12/25(木) 14:58:04.98 ID:JXbXU9wh.net
古いDコードを新しいコンパイラで動かそうとする方が間違いなんだ(暴言)

860 :デフォルトの名無しさん:2014/12/25(木) 15:54:54.86 ID:P8SronhE.net
D言語はライブラリが少ないと言われるけど、具体的に何が求められてるんだろう

861 :デフォルトの名無しさん:2014/12/25(木) 17:05:49.18 ID:9LCXhqZT.net
MIME

862 :デフォルトの名無しさん:2014/12/25(木) 19:21:31.91 ID:m1SILweX.net
longjump「お ま た せ」

863 :デフォルトの名無しさん:2014/12/26(金) 07:53:44.67 ID:AidXiP0f.net
どっちも性能は大して上がらないらしいが、取り敢えず導入してみて欲しいな

Concurrent GC https://github.com/D-Programming-Language/druntime/pull/985
Precise GC https://github.com/D-Programming-Language/druntime/pull/1022

864 :デフォルトの名無しさん:2014/12/26(金) 09:31:33.83 ID:vVR74RNM.net
>>860
CLR対応

865 :デフォルトの名無しさん:2014/12/27(土) 16:36:11.79 ID:u0DhLzQg.net
巨大なメモリ領域が回収されないことさえなんとかしてくれればGCはなんでもいいのだ

866 :デフォルトの名無しさん:2014/12/27(土) 23:44:26.12 ID:Ox84Ydso.net
今のDのGCって単純なマーク&スウィープなの?

867 :デフォルトの名無しさん:2014/12/28(日) 23:10:06.29 ID:XamQaCA9.net
そうだよ

868 :デフォルトの名無しさん:2014/12/29(月) 09:45:39.75 ID:nfqiosik.net
D3はよ

869 :デフォルトの名無しさん:2014/12/29(月) 11:45:51.10 ID:TmQI76a9.net
D2の次のマイルストーンがメモリ管理の改善(GCやscope/refあたり)に定まってきたので、この辺がどうにかなるまでD3はお預けかなぁ

870 :デフォルトの名無しさん:2014/12/29(月) 18:17:39.95 ID:I5M6phWx.net
scopeといえば、標準ライブラリで引数にscope付けてるの時々見るけどどういう意味?

何か前にも同じ話題がスレで出てたような気もするけど見つからない

871 :デフォルトの名無しさん:2014/12/29(月) 18:22:13.40 ID:eUWk+p9g.net
外部(別の関数のscopeでない引数とか、グローバル変数)に参照が絶対に渡されないっていう意味だよ
これを一歩踏み出すとコンパイルエラーしてくれる

つまり、scope引数に渡した値はその直後に削除処理しても実行時エラーが出ることはない

872 :デフォルトの名無しさん:2014/12/29(月) 18:41:41.18 ID:I5M6phWx.net
素早いお答えどうも
どっかで何かが参照持ってるかも、って恐れを無くしてくれるわけね
pureは付けられないけどこの引数は大丈夫、みたいな時に使うのかな

873 :デフォルトの名無しさん:2014/12/29(月) 22:07:59.39 ID:WiNkDsW5.net
Dで、Cみたいにランタイム依存のないバイナリって吐けるの?
例えばこんなプログラムで。

---
extern(C) void func(){
 uint a = 10;
 return a;
}

874 :デフォルトの名無しさん:2014/12/29(月) 22:10:57.71 ID:WiNkDsW5.net
コードの部分ひどいミスしてた。すまん。
正しいのこれだった。

extern(C) uint func(){
 uint a = 10;
 return a;
}

875 :デフォルトの名無しさん:2014/12/29(月) 23:32:37.04 ID:TmQI76a9.net
DMD2.067からは"-betterC"(笑)というコンパイラスイッチでランタイムが取り除ける
現状ではランタイムはくっついて来るけど、他の言語から呼ぶ場合は明示的に起動(rt_init)しないと動かないので気にしなくていい

876 :デフォルトの名無しさん:2014/12/30(火) 08:36:15.55 ID:8jpC5xEQ.net
これでD言語でLチカできるな

877 :デフォルトの名無しさん:2014/12/30(火) 08:48:03.44 ID:JWtJz6A1.net
いままでできなかったの?

878 :デフォルトの名無しさん:2014/12/30(火) 09:12:15.96 ID:k+5IuSTj.net
GDC/LDCならできたんじゃないかな

879 :デフォルトの名無しさん:2014/12/30(火) 09:19:53.54 ID:mcwkXFwz.net
Lチキに見えた

880 :デフォルトの名無しさん:2014/12/30(火) 10:01:37.86 ID:boV1Qvks.net
>>870 標準ライブラリで引数にscope付けてるの時々見るけどどういう意味?
http://toro.2ch.net/test/read.cgi/tech/1374022208/517-523

881 :デフォルトの名無しさん:2014/12/30(火) 10:38:27.38 ID:k+5IuSTj.net
結局、現状のscopeは未実装のままDIP69が採択されるのかね
DIP69 - Implement scope for escape proof references
http://wiki.dlang.org/DIP69

882 :デフォルトの名無しさん:2014/12/30(火) 14:51:14.16 ID:k+5IuSTj.net
Walterの副業

The Historian's History of the World Vol. 1: Prolegomena: Egypt, Mesopotamia
Henry Williams (Author), Walter Bright (Translator) $9.99
http://www.amazon.com/Historians-History-World-Vol-Prolegomena-ebook/dp/B00REVL4BC

883 :デフォルトの名無しさん:2014/12/30(火) 14:51:51.05 ID:k+5IuSTj.net
↑ 全部Ddocで書いたらしい……

884 : 【猫】 :2015/01/01(木) 11:37:39.94 ID:Z/g5TCdZ.net
ハッD(ピー)ニューイヤー

885 :デフォルトの名無しさん:2015/01/01(木) 14:56:42.64 ID:gnMsvMZO.net
今年も良いD言語ライフが送れますように

886 :デフォルトの名無しさん:2015/01/01(木) 20:45:58.91 ID:qMWy9ILt.net
>>875
俺の訳わからん質問に答えてくれてありがとう!

887 : 【中吉】 【1178円】 :2015/01/01(木) 23:59:30.99 ID:2VBywPBG.net
今年のD

888 :デフォルトの名無しさん:2015/01/03(土) 12:33:57.15 ID:GCm6sqjb.net
お前らあけおめ

889 :デフォルトの名無しさん:2015/01/03(土) 13:20:45.88 ID:duDbuP4G.net


890 :デフォルトの名無しさん:2015/01/03(土) 15:54:34.62 ID:8egLD/UW.net
Visual D 0.3.40
本人だけに Win32 COFF 対応を先取りで取り込んでいる
C/C++ をプロジェクトに入れられるというのは需要あるのかな

891 :デフォルトの名無しさん:2015/01/03(土) 16:26:21.71 ID:GwVafKdW.net
オオアリ

892 :デフォルトの名無しさん:2015/01/03(土) 16:30:58.61 ID:XgnEofgF.net
オオアリクイ

893 :デフォルトの名無しさん:2015/01/03(土) 19:34:57.77 ID:p1JNnJua.net
オオアリクイクイアリ

894 :デフォルトの名無しさん:2015/01/03(土) 22:17:10.39 ID:Mi3y7m+B.net
D言語公式フォーラム、2ch並に煽りまくる人がいて地獄っぽい

895 :デフォルトの名無しさん:2015/01/04(日) 00:49:42.67 ID:inwAoRSs.net
はて記憶に無いな

896 :デフォルトの名無しさん:2015/01/04(日) 16:38:46.65 ID:w2TCoU2v.net
おまわりさん
こいつです

897 :次スレ用テンプレ:2015/01/05(月) 22:07:43.87 ID:9dFgiezF.net
プログラミング言語 D (D Programming Language) について語るスレッドです。

■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳
https://issues.dlang.org/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ

■Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
http://wiki.dlang.org/ - 公式Wiki

■プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu 日本語版
http://www.shoeisha.co.jp/book/detail/9784798131108

ソース貼付サイト http://dpaste.dzfl.pl/
<$><$> https://www.bountysource.com/trackers/383571-d-programming-language

■前スレ
D言語 Part33
http://toro.2ch.net/test/read.cgi/tech/1396145538/

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000

898 :次スレ用テンプレ:2015/01/05(月) 22:08:23.02 ID:9dFgiezF.net
■DUB パッケージマネージャ
http://code.dlang.org/about#installation

■IDE
http://rainers.github.io/visuald/visuald/StartPage.html - Visual D(Visual Studioプラグイン)
https://code.google.com/p/ddt/ - DDT(Eclipseプラグイン)
http://wiki.dlang.org/Mono-D - Mono-D (MonoDevelop プラグイン)

■ライブラリ
https://github.com/d-widget-toolkit/dwt - DWT(GUIライブラリ)
https://github.com/gtkd-developers/GtkD - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
https://github.com/DerelictOrg - Derelict(SDL/OpenGLなどのポーティング)
http://www.vector.co.jp/soft/win95/prog/se491774.html - DXライブラリ バインディング(作者サイトメンテナンスのため Vector)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)

■OMF<->COFF変換ツール
http://www.agner.org/optimize/#objconv

■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games

899 :デフォルトの名無しさん:2015/01/05(月) 22:47:06.14 ID:VAljzr7H.net
DUBのは、トップページへのリンクが良いかもね

900 :デフォルトの名無しさん:2015/01/06(火) 00:36:11.43 ID:TJZzsvWk.net
wxDとかQtDとかはどうなったんでしょう…?

901 :デフォルトの名無しさん:2015/01/06(火) 00:44:05.14 ID:C6At9U+x.net
生存者リスト http://code.dlang.org/?sort=updated&category=library.gui

902 :デフォルトの名無しさん:2015/01/06(火) 01:12:49.46 ID:TJZzsvWk.net
DWTはその中に入ってないけど一応生き残ってるんじゃないんですかね


クロスプラットフォームな汎用ウィジェットツールキットはGtkくらいしかないのか。
何か重そうなのと、「ダサい」って言う人が多いからあんまり手を出したくないというか…
贅沢言える身分じゃないけどさ。
ウィンドウズだけで良いならDFLが安定そうだけど。

903 :デフォルトの名無しさん:2015/01/06(火) 10:28:45.52 ID:O9PzdG7T.net
http://www.dprogramming.com/news.php

DFL公式が更新終了を宣言してた
ライセンスが boost/zlib のデュアルになった
これでLGPL対策を頭から追い払えるぜ

904 :デフォルトの名無しさん:2015/01/06(火) 19:24:59.92 ID:Xd5yA7ML.net
>>901
DlangUIっていうのサンプル実行してみたらそこそこ使えそうだった
独自UIが変なのと日本語入力が変なことを除けば

ネイティブで単独の実行ファイルを作れるdwtがいいんだけどコードがJavaっぽくなるのが…
クロスプラットフォームにこだわらずに画像がらみで複雑なことしないならDFLいいよね

905 :デフォルトの名無しさん:2015/01/06(火) 20:58:12.56 ID:/D7e3Rkb.net
https://github.com/Jebbs/DSFML

DSFML も追加希望

906 :デフォルトの名無しさん:2015/01/06(火) 22:17:45.51 ID:C6At9U+x.net
GTKというか、Windows版GTKが色々と駄目なんだよね
Qtの方がWindowsサポートは上だろうけど、QtDはもう……

907 :デフォルトの名無しさん:2015/01/06(火) 23:01:27.54 ID:de5sdNgX.net
DFL2ができたからか?

908 :デフォルトの名無しさん:2015/01/07(水) 09:00:55.87 ID:7s8hjn62.net
GTK は糞

909 :デフォルトの名無しさん:2015/01/07(水) 20:54:40.58 ID:K6KDApYA.net
おっと、GNOME3の悪口はそこまでだ

910 :デフォルトの名無しさん:2015/01/07(水) 21:19:55.27 ID:3KPP84AY.net
どっからGNOMEが出てきた

911 :デフォルトの名無しさん:2015/01/08(木) 23:30:38.26 ID:CAYtVTdS.net
もしかして1つのプロジェクトの中で、std.datetimeとundead.dateの両方を使うとバグる?
getUTCtime()が返す時間の単位が変わった気がする。

912 :デフォルトの名無しさん:2015/01/10(土) 11:18:29.24 ID:S3uDQjuh.net
前に https://issues.dlang.org/show_bug.cgi?id=9094 を見て納得しかかったけど
やっぱりGCで100MBのメモリを一度確保したら永遠に解放してくれないのはおかしい…
Druntimeのgc.dの動作追ってみたらスコープ出た後でも使用済みとマークされてて解放してくれないみたいだし
いつの間にかdeleteしても残るようになってるしなんだこれ

void main() {
foreach (i; 0..1000) new byte[100_000_000]; // 32bitでコンパイルして実行すると10回目くらいで死ぬ
}

913 :デフォルトの名無しさん:2015/01/10(土) 11:52:13.46 ID:klJyx1eJ.net
GNU/Linux環境で-m32付けてコンパイルしてみたら正しく解放された
たぶんWalterの説明にあるような32bit環境での問題は関係なくて、OS依存のバグを踏んだんじゃないか

914 :デフォルトの名無しさん:2015/01/10(土) 12:37:54.38 ID:6YXtk3Rd.net
Win32 で試してみたら 2.066で目に見えて挙動が変わってるな

それまではGCが動く時と動かない時で同じバイナリでも大幅なブレがあるのに対し
2.066 では安定して同じ回数でコケる

これならそのうち改善されるだろうw

915 :デフォルトの名無しさん:2015/01/10(土) 12:42:38.47 ID:S3uDQjuh.net
>>913
試行ありがとうございます

win7 64bit(8GB)か8.1(64bit)+dmd 2.066(32bit)では上のコードでだめだった
linux mint 17.1(64bit)の仮想マシンが手もとにあったからdmd -m32で試してみたらOKだった
new byte[500_000_000];にしてみたら落ちた
…うーん?

916 :デフォルトの名無しさん:2015/01/10(土) 23:54:52.17 ID:klJyx1eJ.net
new byte[500_000_000]にすると落ちたり落ちなかったりだなー
同じバイナリでも、調子が良いとOutOfMemoryErrorが出なかったり、逆に5~8回目ぐらいで落ちる感じ @Linux
ちょっと前まで32bitにしかコンパイルできなかった言語が、32bitと相性悪いとは……

917 :デフォルトの名無しさん:2015/01/11(日) 21:44:38.51 ID:TsxN2i/R.net
>>911は気のせいだった

918 :デフォルトの名無しさん:2015/01/11(日) 22:54:45.64 ID:qO9OuJUA.net
よかった、時刻が変になるライブラリはいなかったんだ

919 :デフォルトの名無しさん:2015/01/12(月) 15:56:19.43 ID:hpX4ehNn.net
誰かDconf観戦してきてくれよ

920 :デフォルトの名無しさん:2015/01/14(水) 16:52:20.03 ID:wDmkhWYw.net
あとで動画見れば十分よ

921 :デフォルトの名無しさん:2015/01/14(水) 17:02:29.68 ID:e8FR0R07.net
その場にいないと解らない雰囲気とかそういう風なアレがあったりするんじゃないですかね?(適当)

922 :デフォルトの名無しさん:2015/01/14(水) 18:31:09.24 ID:f23lccTH.net
そういう風なアレは誰かが観戦してきてくれて観戦記書いてくれても伝わらなくね?

923 :デフォルトの名無しさん:2015/01/14(水) 19:30:27.52 ID:WxHa0R72.net
つまりすごく興奮した感じでレポート書けばいいんですね?

924 :デフォルトの名無しさん:2015/01/17(土) 01:35:01.25 ID:Xmm3aGON.net
ttp://paiza.hatenablog.com/entry/2015/01/16/%E3%80%90%E7%B5%90%E6%9E%9C%E7%99%BA%E8%A1%A8%E3%80%91%E3%81%93%E3%82%8C%E3%81%A7%E7%A7%81%E3%81%AF%E7%B5%90%E5%A9%9A%E3%81%A7%E3%81%8D%E3%81%9F%EF%BC%81%E5%AB%81%E3%82%92%E5%B0%84%E6%AD%A2%E3%82%81


もうちょっと頑張れたんじゃないのか…?

925 :デフォルトの名無しさん:2015/01/17(土) 09:17:04.41 ID:5tFTyduT.net
opApplyを持った構造体をRangeとして扱えないんです?

926 :デフォルトの名無しさん:2015/01/17(土) 10:16:10.01 ID:Ulg8l+y5.net
>>925
ジェネレータをレンジに変換するライブラリがあるので、opApplyを持った構造体をforeachで回してyieldするラッパを書くとか
https://github.com/abscissa/libInputVisitor

ちなみに、2.067ではstd.concurrencyにもGeneratorが追加される
https://github.com/D-Programming-Language/phobos/blob/9c26b67f4f27f9281182768338cbb1ece04a2c18/std/concurrency.d#L1486

927 :デフォルトの名無しさん:2015/01/17(土) 10:25:14.73 ID:Ulg8l+y5.net
一行目との整合性を考えてなかった
s/Generator/レンジとして使えるGenerator/

928 :デフォルトの名無しさん:2015/01/17(土) 10:30:00.83 ID:8ToY3jo0.net
>>924
Python と CoffeeScript すげー

929 :デフォルトの名無しさん:2015/01/17(土) 11:49:35.76 ID:Ulg8l+y5.net
速度を気にしなければワンライナーなんだがなぁ

930 :デフォルトの名無しさん:2015/01/17(土) 11:53:19.04 ID:Ulg8l+y5.net
>>929は誤爆、スレ汚しすいません

931 :デフォルトの名無しさん:2015/01/17(土) 12:19:41.39 ID:BCWbGihO.net
>>924でbashのプログラム見たばっかりだったから気がつかなかった

932 :デフォルトの名無しさん:2015/01/17(土) 14:54:31.14 ID:sqhqU9t5.net
>>929-930
絶妙な誤爆だなぁ

933 :デフォルトの名無しさん:2015/01/17(土) 15:45:56.38 ID:5tFTyduT.net
>>926
ワンライナーで使いたいんだよなぁ

934 :デフォルトの名無しさん:2015/01/17(土) 20:02:44.85 ID:Py5o0US/.net
わ、ワンライナーじゃないか
new Generator!int({foreach(i;structWithOpApply)yield(i);}).map!(a => a*a)

935 :デフォルトの名無しさん:2015/01/17(土) 20:24:27.47 ID:HWhIxf3WL
改行しなければどれだけ長くてもワンライナーと言い張ってOK?

936 :デフォルトの名無しさん:2015/01/17(土) 20:25:03.12 ID:nUtuC6u5.net
改行しなければどれだけ長くてもワンライナーと言い張ってOK?

937 :デフォルトの名無しさん:2015/01/17(土) 20:45:50.61 ID:Xmm3aGON.net
セミコロンが入るとワンライナーって言い難いんじゃないか、とは思う

しかしそもそもシステムレベルの言語でワンライナーを望むのが間違いなんだ

938 :デフォルトの名無しさん:2015/01/17(土) 21:47:31.22 ID:Py5o0US/.net
標準ライブラリに変な機能がどれだけあるかの勝負という気もする

939 :デフォルトの名無しさん:2015/01/18(日) 00:47:38.08 ID:UYqUpdrp.net
new Generator!int(() => structWithOpApply.each!yield).map!(a => a*a)

こないだ入ったstd.algorithm.eachがforeachの代わりになるぜ

940 :デフォルトの名無しさん:2015/01/18(日) 00:51:55.29 ID:XbvB+S8r.net
最近新しく言語に入った機能を広めてくれる伝道師がいなくて寂しい

941 :デフォルトの名無しさん:2015/01/18(日) 01:02:33.75 ID:sSnZb6HT.net
そーいや inout const って何が違うんだ?

942 :デフォルトの名無しさん:2015/01/18(日) 01:22:04.90 ID:4ogC3TzN.net
>>939
ラムダ先輩!

943 :デフォルトの名無しさん:2015/01/18(日) 01:34:24.94 ID:j77osIAD.net
素晴らしい、まるでLL言語のようだ
でもstd.algorithmってちょっとばかし肥大化しすぎじゃ無いですかね…?


あとsortとかmapとかで、副作用無しのコピーしてから処理して返す奴とか欲しいな…

944 :デフォルトの名無しさん:2015/01/18(日) 01:46:38.66 ID:4ogC3TzN.net
渡す前にコピーすればいいんじゃ?

945 :デフォルトの名無しさん:2015/01/18(日) 12:02:42.50 ID:3CjHNTWV.net
std.array.array()

946 :デフォルトの名無しさん:2015/01/18(日) 12:45:57.43 ID:NccQZttN.net
C++がDのいいとこどんどん奪って行くのが許せない

947 :デフォルトの名無しさん:2015/01/18(日) 13:04:36.88 ID:4ogC3TzN.net
節操ないのがC++の命だし文法も綺麗にできないんだから許してあげて

948 :デフォルトの名無しさん:2015/01/18(日) 13:14:14.00 ID:4wyPchKM.net
次はUFCS(C++では"UCS"になるらしいが)が提案されてるんだっけ
C++標準化委員会がD言語に言及しなかったので、怒ってる人が居た

949 :デフォルトの名無しさん:2015/01/18(日) 13:22:32.30 ID:NccQZttN.net
>>948
これ
小企業の成果を盗んで自社研究の成果にする大企業みたいで嫌

950 :デフォルトの名無しさん:2015/01/18(日) 14:22:38.95 ID:mY3wllRf.net
C++は互換性って枷がある、それは良いところでもあるけど
新たな機能を入れるのが大変だったり、入ったら入ったで妙ちくりんになったりしてるからな

951 :デフォルトの名無しさん:2015/01/18(日) 14:32:18.02 ID:4wyPchKM.net
DIP25が(仮)採択されたのか、2.067は遅れそうだな
http://wiki.dlang.org/DIP25

952 :デフォルトの名無しさん:2015/01/18(日) 14:42:10.13 ID:FrxzlsYx.net
>>949
ほん
それ

953 :デフォルトの名無しさん:2015/01/18(日) 19:26:19.77 ID:sSnZb6HT.net
>>946 >>949
ブーメランになるからやめとけ
パクリ機能を得意げにしてるのはお互い様だし

一例として、D言語は、DBCを劣化させて広めた上、うぉるたんの勘違いから生まれた仕様バグも未だ直してないし
Eiffelからは相当恨まれてそうな気がするよ

954 :デフォルトの名無しさん:2015/01/18(日) 20:20:47.73 ID:j77osIAD.net
少なくともウォルターもアンドレイもその他の人も、よその言語から持ってきた機能ははっきりとその由来を書いてるような気がする。
いや俺もそこまで詳しくないから、もしかしたら「Dオリジナルのように書いてあるけど元ネタはこれだろ」ってのがあるかもしれないが。
そういうのあったら容赦なく突っ込んで投げて下さい。

まあ僻んでも仕方ないのは確かだね。
むしろC++がD並に使いやすくなったら嬉しいなって考える。

955 :デフォルトの名無しさん:2015/01/18(日) 20:36:25.60 ID:4wyPchKM.net
方向性からしてredesigned C++だからなあ

956 :デフォルトの名無しさん:2015/01/19(月) 01:19:25.65 ID:7IWmFvET.net
DらしいC++になったら俺も含めてみんなC++erに戻りそうで悲しい
しかしお仕事の言語はずっとC++03 はあまじはあ

957 :デフォルトの名無しさん:2015/01/19(月) 03:20:00.39 ID:4tA/GT8I.net
DIP25、なんだこれ

958 :デフォルトの名無しさん:2015/01/19(月) 03:43:20.54 ID:ZZQHo6Y3.net
UFCSってC#の拡張メソッドだよな

959 :デフォルトの名無しさん:2015/01/19(月) 08:32:41.35 ID:V5GsBnZ5.net
アイデア自体は、2000年ぐらいにScott Mayersが発案した奴なんだけどね
Walterが彼から提案を受けてDに追加したらしい(曰く"Thanks to Scott Meyers for his helpful suggestions on this")
まあC#の影響を受けてる言語だし、そっちで成功してたからってのもあるだろうな

960 :デフォルトの名無しさん:2015/01/19(月) 09:36:18.58 ID:KaaVf0G8.net
UFCS は語句レベルの破壊的変更をともなう上に
曖昧さが増えてバグの温床になるから
アイデアがどうの言う話じゃない

現場では使用禁止の通達が出るだろう

961 :デフォルトの名無しさん:2015/01/19(月) 09:37:52.69 ID:jGwp2f1A.net
漢字カナ変換ですね
わかります

962 :デフォルトの名無しさん:2015/01/19(月) 09:46:53.83 ID:jGwp2f1A.net
これ
http://ci.nii.ac.jp/naid/110002720716

963 :デフォルトの名無しさん:2015/01/19(月) 10:08:35.34 ID:V5GsBnZ5.net
> 破壊的変更
"There is no breaking change." (N4165:Unified Call Syntax)

>曖昧さが増えてバグの温床になるから
Dでは特に問題になってないし問題ないでしょ(油断)
カプセル化やジェネリックなコードを書きやすくできるという利点が欠点を上回れるかどうかだな
C++erには反対してる人も多そう

>アイデアがどうの言う話じゃない
この行の意味は分からない

>現場では使用禁止の通達が出るだろう
これがC++に実装される頃には、>>960は通達を出す側になっているであろう

964 :デフォルトの名無しさん:2015/01/19(月) 14:02:01.39 ID:8rAJmC99.net
そして部下に「ウチの上司は頭が古臭くてクソだ」って何かSNSで悪口書かれるんですね

965 :デフォルトの名無しさん:2015/01/19(月) 14:09:09.89 ID:KroxEeJe.net
あなたは上司にフォローされたらどうしますか?
http://yomogi.2ch.net/test/read.cgi/kaden/1419984505/

966 :デフォルトの名無しさん:2015/01/19(月) 15:44:16.98 ID:KaaVf0G8.net
あなたは野ウシにバッファローされたらどうましか?

967 :デフォルトの名無しさん:2015/01/19(月) 18:05:21.02 ID:IyMzAKva.net
その心配はありません

968 :デフォルトの名無しさん:2015/01/19(月) 18:54:40.47 ID:LeVxoQae.net
コーディングルールもコードレビューも無いから、何も問題ありません
やりたい放題です

969 :デフォルトの名無しさん:2015/01/19(月) 19:01:48.23 ID:KroxEeJe.net
StackOverFlowのスコアを上げとくと、何かいいことがあるかもしれない。

『【翻訳】多種多様な基準から見るプログラマの市場価値』
http://postd.cc/how-much-do-you-cost/

970 :デフォルトの名無しさん:2015/01/19(月) 19:12:54.70 ID:IVcyBmdI.net
簡単にC++に戻るなんて言ってる時点で既に
簡単に戻れる程度のものしか作ってない=D言語素人

971 :デフォルトの名無しさん:2015/01/19(月) 19:15:17.98 ID:KroxEeJe.net
いつでも離脱出来るようにしておくのもプロのたしなみ

972 :デフォルトの名無しさん:2015/01/19(月) 19:16:42.63 ID:iTX3ZSHn.net
そうだ!D->Cコンバータを作れば・・!

973 :デフォルトの名無しさん:2015/01/19(月) 19:20:38.29 ID:BO1clCUb.net
>>972
沼にはまりそう

974 :デフォルトの名無しさん:2015/01/20(火) 00:31:16.19 ID:S58i4yNH.net
>>970
すまん、アマグラマーの雑魚?

975 :デフォルトの名無しさん:2015/01/21(水) 17:02:18.88 ID:ZCrShEhP.net
>D言語って今Facebook開発になってるんだ。
別にFacebookが開発してる訳じゃないんだよなぁ……
ちょっとした資金提供と、DConfの会場を以前貸して貰っただけで

976 :デフォルトの名無しさん:2015/01/21(水) 19:52:37.74 ID:YBM0/Ub+.net
D言語の数少ないプロであるfacebookはC++に以降するとか言い出さないだろうな

977 :デフォルトの名無しさん:2015/01/21(水) 20:19:33.66 ID:ZCrShEhP.net
単に、D言語の開発者がFacebookに就職したからOSS支援的な金を貰ってきたって話だと思うんだけど
移行どころか現時点でもほとんどD言語を使ってなさそうだし、そもそもあそこはPHPメインの会社じゃなかったっけ

978 :デフォルトの名無しさん:2015/01/21(水) 20:19:59.09 ID:ZCrShEhP.net
開発者というか、主要開発者の一人ね

979 :デフォルトの名無しさん:2015/01/21(水) 23:08:21.87 ID:IAqWEjCL.net
PHPを除けばDよりもOCamlのほうが表に出てる気がする

980 :デフォルトの名無しさん:2015/01/22(木) 12:50:08.95 ID:cnnYwRos.net
Dはテストツール作成に使われてるよきっと

981 :デフォルトの名無しさん:2015/01/23(金) 00:14:53.18 ID:K4SvvYQv.net
>>979
興味持ってOCaml見てみたけど面白いね
Dのこの機能はこれが元ネタかな、ってのが結構ある
Haskell程尖ってないのも(俺的には)良い

982 :デフォルトの名無しさん:2015/01/23(金) 00:35:54.69 ID:lvvaNeRg.net
OCaml6年ほど触って失望してDに逃げてきたんだが

983 :デフォルトの名無しさん:2015/01/23(金) 00:53:26.02 ID:K4SvvYQv.net
何が不味かったのか、良ければ教えてほしいな

984 :デフォルトの名無しさん:2015/01/23(金) 00:58:19.26 ID:WDyVvgOO.net
OCamlは一昔前のBASICみたいな立ち位置で、お手軽さと柔軟性が同居しててトライ&エラーでバッチ処理やコンパイラ作るにはいいけど
細かいところがどうにもならんので最終的な製品を作るには向いてないイメージ

985 :デフォルトの名無しさん:2015/01/23(金) 01:05:02.68 ID:lvvaNeRg.net
全てDに比べてのことだが

・バージョアップが遅い
・未だにマルチコアに未対応
・nullが無くて面倒くさい
・サードのライブラリが貧弱で無いも同然
・Cの関数呼ぶのが面倒
・Windows版インストーラーが3.12から放置
・OCamlのOの部分がなんか禁じ手らしい
・↑のせいでデータ構造作るのがクソ面倒なことが多い
・emacsとかよくわからんからずっとサクラエディタで開発

Windowsだからかもしれんけど
言語仕様というよりも環境に不安を感じ、続けるのが怖くなった。
コンパイル通ったときの快感は素晴らしい言語だった。

986 :デフォルトの名無しさん:2015/01/23(金) 01:16:14.03 ID:WDyVvgOO.net
うむ、exeがでかい、gcが実行時間のほとんどを占める、標準ライブラリがタコ、文字コードがSJISでもUTF-8でもなく強制Latin-1、
Windowsではflexdll必須でリンカの挙動が怪しい、なども追加してくれw

987 :デフォルトの名無しさん:2015/01/23(金) 02:21:14.20 ID:K4SvvYQv.net
ありがとう

文字コード対応とかwindows対応とかはさておき、
Cとの接続の悪さとバージョンアップの遅さはちょっと…
というかせっかく関数型言語なのにマルチコア未対応はかなりの魅力減では?


ただ環境に不安というか、この先大丈夫かな?っていう感覚については、
Dもそんなに違わないという問題が…

988 :デフォルトの名無しさん:2015/01/23(金) 17:37:08.76 ID:CdhDmDJo.net
最近はかなりユーザが増えてきてるので割と楽観的だなぁ

989 :デフォルトの名無しさん:2015/01/23(金) 18:25:21.85 ID:1lTPniTB.net
自分がはじめてDをさわった7年前より、だいぶ知名度上がった気がする

990 :デフォルトの名無しさん:2015/01/23(金) 19:02:49.86 ID:l4qgSRr4.net
環境に不安を持つ人がいるって事実にむしろだいぶ成熟したよなって感ある

991 :デフォルトの名無しさん:2015/01/23(金) 20:38:13.00 ID:CdhDmDJo.net
ref int func(return ref int x);

992 :デフォルトの名無しさん:2015/01/24(土) 17:41:29.72 ID:FAsncua/.net
よりよいを求めるのはすばらしいことだな

993 :デフォルトの名無しさん:2015/01/24(土) 21:47:51.60 ID:2NdyhA7K.net
昔なら環境に不安ではなく、バージョン上げたのにエラー出ないことに不安w

994 :デフォルトの名無しさん:2015/01/25(日) 02:08:55.48 ID:qXhHFJIq.net
強力な型システムがあるから安心できる

995 :デフォルトの名無しさん:2015/01/25(日) 09:07:10.66 ID:RFFBFyJc.net
Dの型システムが強力と言えるのか

996 :デフォルトの名無しさん:2015/01/25(日) 09:23:16.22 ID:GkPu8jFa.net
つまり型システムは強力だが言語としては非力って事を言いたいんだと思う…

997 :デフォルトの名無しさん:2015/01/25(日) 09:35:23.96 ID:RFFBFyJc.net
逆じゃないの? あるいは両方非力か
このご時世に、D言語の型システムが強力だと本当に思う人が居たら驚く

998 :デフォルトの名無しさん:2015/01/25(日) 10:29:45.60 ID:JhgO84F7.net
ソースにコンパイラのバージョン併記せにゃならん言語って
古今東西D言語くらいだろ

999 :デフォルトの名無しさん:2015/01/25(日) 12:10:52.66 ID:gAd5OZDm.net

D言語 Part34©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1422155249/

ちとかっこ悪くなった

1000 :デフォルトの名無しさん:2015/01/25(日) 13:20:38.60 ID:RFFBFyJc.net
>>998
Githubでコンパイラのバージョンを書き込んでるコメントを検索してみたけど、バージョン依存のバグに対する注釈ぐらいか
https://github.com/tak1n/DApplications/blob/6abf7bc23f9cfd596be5c608e2ba6f8e8f831149/vibetest/source/app.d#L6
やっぱりベータテストが上手くいってないのかね

1001 :デフォルトの名無しさん:2015/01/25(日) 14:11:38.54 ID:gAd5OZDm.net
static assert(__VERSION__==2066);

1002 :デフォルトの名無しさん:2015/01/25(日) 20:10:14.20 ID:ZJOyTPVS.net
>>998
Rustもコンパイラバージョン併記の文化がある。

総レス数 1002
198 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★