X



D言語 Part35
0001デフォルトの名無しさん
垢版 |
2019/10/25(金) 14:04:26.76ID:BNTJ335Q
プログラミング言語 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://wiki.dlang.org/ - 公式Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)

■プログラミング言語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言語 Part34
https://mevius.5ch.net/test/read.cgi/tech/1422155249/
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
0051デフォルトの名無しさん
垢版 |
2020/09/20(日) 01:28:59.13ID:KQ1+n0PB
他のメジャーな言語もこの20年で随分と機能増やしてきたり
標準ライブラリ機能をdeprecatedにしたりキーワードを廃止したりしてんのに
何故それらは棚上げされてDだけが槍玉に挙げられるのだろうか
0053デフォルトの名無しさん
垢版 |
2020/09/20(日) 03:56:00.81ID:MLu0Cj9r
>>49
自作しようとは思わなかったの?
0054デフォルトの名無しさん
垢版 |
2020/09/20(日) 15:30:16.58ID:0QrwQpRm
cython とは違うけど Python を C++ から呼ぶのが結構楽過ぎて D 要らなくなってしまった
0055デフォルトの名無しさん
垢版 |
2020/10/19(月) 06:36:07.85ID:icj8nwBD
D言語何かいらないよ
0057デフォルトの名無しさん
垢版 |
2020/10/20(火) 00:41:22.74ID:FCO/NBMV
多次元配列のディープコピーって、次元数-1個まではループ回してdupしていくしかないんでしょうか?

int[][] a;
...
auto b = a.dup;
ちなみにこれをやって嵌りました。
0058デフォルトの名無しさん
垢版 |
2020/10/20(火) 10:28:16.49ID:pHiz9StD
deepcopy
ttps://qiita.com/Kaz_K/items/a3d619b9e670e689b6db
0059デフォルトの名無しさん
垢版 |
2020/10/22(木) 18:49:52.95ID:dl1Pw0z0
VisualDを使っているのですが、プロジェクトによって
core.simd.double4がundefined identifierになったりならなかったりします。
どういうところでバージョン判定を行っているのでしょうか?
006059
垢版 |
2020/10/23(金) 00:15:36.91ID:cb9YXQ+B
自己解決。
いつ何のために書いたのか記憶がないのですがAdditional optionsに-mcpu=avx2と書かれてました。
0063デフォルトの名無しさん
垢版 |
2021/05/27(木) 18:29:49.68ID:OEefwuJM
動的配列をnewで確保すると同時に値を初期化することってできないですか?
auto array = new double[](100); // 同時に0.0で初期化したい
0064デフォルトの名無しさん
垢版 |
2021/05/28(金) 16:52:41.00ID:JV1V0ojA
std.rangeのrepeatを使うのはどうでしょうか?
auto array = 0.0.repeat(100).array; // 全て0.0のdouble[]
0068デフォルトの名無しさん
垢版 |
2021/05/29(土) 16:39:08.92ID:45bWF2Kq
それではstd.arrayのreplicateはどうでしょうか?
auto array = replicate([0.0], 100); // 長さ1の配列を100回繰り返す
0070デフォルトの名無しさん
垢版 |
2021/05/29(土) 20:43:49.47ID:45bWF2Kq
>>69
dlang.orgのフォーラムをざっと見てみましたが、動的配列の確保と初期化を同時にすることはできないみたいですね。
2行になりますが、たぶん以下が一番速いと思います。

auto array = uninitializedArray!(double[])(100);
array[] = 0.0;
0072デフォルトの名無しさん
垢版 |
2021/05/30(日) 10:35:02.62ID:ssDmNHo+
>>70
+1
0073デフォルトの名無しさん
垢版 |
2021/05/30(日) 10:35:55.24ID:ssDmNHo+
>>71
マクロでやれ
0082デフォルトの名無しさん
垢版 |
2023/09/29(金) 10:04:57.34ID:LiQj7kVF
久々に弄ったけど相変わらずライブラリしょぼくて泣ける
C++やPythonよりずっと気持ちよく書けてこれだよこれ!って感じなのに
0085デフォルトの名無しさん
垢版 |
2023/10/09(月) 04:50:18.26ID:O3OZj56Z
まだおわってないよ
0086デフォルトの名無しさん
垢版 |
2023/10/09(月) 04:50:29.05ID:O3OZj56Z
まだおわってないよ
0088デフォルトの名無しさん
垢版 |
2024/01/31(水) 21:13:58.52ID:MRL70JLJ
>>82
どんなライブラリが足りない?
0089デフォルトの名無しさん
垢版 |
2024/04/03(水) 16:13:57.72ID:eNgZCM35
C/C++の後継候補

D
Go
Rust

Dは完成が遅過ぎたのかねえ
0090デフォルトの名無しさん
垢版 |
2024/04/03(水) 17:49:05.63ID:m9qm9pzO
むしろ早すぎたがために、中途半端にC言語を引きずって後継ほどの割り切りができてなかったせいでは
0091デフォルトの名無しさん
垢版 |
2024/04/03(水) 19:20:45.11ID:C6zgo7Ot
Dはけっこう昔からあったよね
でも当時からなんかパッとしなかったね
なんか惹かれるもんがなかった
今もない

Goは詳しくは知らんけど
シンプル目の言語仕様+ゴルーチン
っていうところが非凡さ感じさせる
現代的な平均的な言語と違って
0094デフォルトの名無しさん
垢版 |
2024/04/03(水) 22:30:05.86ID:C6zgo7Ot
DもGoもCからの流れだけど(?)
変数宣言時のポインタの書き方に違いがあって面白いよね
int *p, *q; // c
int* p, q; // d
var p, q *int // go
0097デフォルトの名無しさん
垢版 |
2024/04/04(木) 11:16:46.30ID:dKCa15eq
>>93
D2の「開発」開始が2007年。
Goは2009年に登場しているので、D2が迷走している間に追いついたのではないか。
Rustも2010年に登場しており、すぐにD2に追いついた。

やはりD言語の完成が遅かったと言えるかと。
0098デフォルトの名無しさん
垢版 |
2024/04/04(木) 11:59:11.84ID:oLKK/n26
新仕様が定まったから2.0になったんだぞ
それ以降で起きたでかい破壊的変更なんてグローバル変数のデフォルトがTLSになったぐらい
迷走のイメージが先に来て時系列変になってないか
レスを投稿する


ニューススポーツなんでも実況