D言語 Part3
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG・実行形式はネイティブコード
・言語仕様のコンパクトさよりも利便性を追求
・Windows, Linux用のコンパイラがある
・制御可能なガーベッジコレクション
・便利な動的配列
・契約による設計
・標準ライブラリPhobos
・開発環境DIDE
・今のところv1.0未満につき、未実装・バグはまだだいぶある。
・Win32APIを利用できるので、Win32アプリは作成可能。
DigitalMars D言語公式
http://www.digitalmars.com/d/index.html
リファレンス(JP)
http://www.kmonos.net/alang/d/
過去スレと関連サイトは>>2-10
0002デフォルトの名無しさん
NGNGD言語 (304)
http://f3.aaacafe.ne.jp/~null/cache/1073913528.html
D言語ドラフト一応読んだよ (Part 1)
http://pc2.2ch.net/tech/kako/1003/10036/1003674814.html
【良いとこ取り】D言語スレ【実用重視】(Part 2)
http://pc2.2ch.net/test/read.cgi/tech/1070169122/
関連スレ
D言語 vs Java
http://pc2.2ch.net/test/read.cgi/tech/1068829475/
0003デフォルトの名無しさん
NGNGD言語研究 - Wiki
http://cgi.f17.aaacafe.ne.jp/~labamba/index.php
DedicateD - ネットワークなどの周辺ライブラリ
http://int19h.tamb.ru/
やねうらお - ゲーム用ライブラリ作成プロジェクト
http://www.sun-inet.or.jp/~yaneurao/dlang/
D Memo - それぞれの言語仕様の説明とサンプルがある。
http://www.kmonos.net/alang/etc/d.php
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGどういう分野で活躍が予想されるでしょう?
ご意見をおきかせください。
0007デフォルトの名無しさん
NGNG過去スレ嫁
00081
NGNG次スレからよろしこ。
前スレ
【良いとこ取り】D言語スレ【実用重視】(Part 2)
http://pc2.2ch.net/test/read.cgi/tech/1070169122/
0009デフォルトの名無しさん
NGNG/WW
(.,○∀・) < ……ズヴァリ!
く[ ⊂] ここが新スレですな?
┏━━━━┓
┃ ┃
0010デフォルトの名無しさん
NGNGていうか>>1嫁と言った方が早いのではw
0011デフォルトの名無しさん
NGNG乙
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGその前に委譲入れてよ
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG委譲の特徴・メリットを熱く語って下さいおながいします。
0018デフォルトの名無しさん
NGNG委譲をMixinで実装することも出来そうな気がするんだけど、どうよ?
0019デフォルトの名無しさん
NGNGMixinだと、Rubyならクラスじゃなくモジュールにしないといけないし、C++だと菱形継承に気をつけないといけない。
それから、識別子が衝突しない、動的に移譲先を変えられる、集約が実現できる、など。
言語的にサポートされてるのがDelphiとUvaしか無いってのはマイナスだが、これは自分が他に知らないだけかも。
…こんなもんでいいか?
18がmixinの利点を熱く語ってくれることを期待
0020デフォルトの名無しさん
NGNGバカとはなんだよう!
いいじゃねーか前置配列要素アクセス演算子。
だいたい今の宣言とアクセスの表記不一致の方が
よっぽど分かりにくいわ。
[y]*[x]int array;
(*array[y])[x] = ...
なんてアクセス、正気の沙汰とは思えんね。
int[x]*[y] array;
[x]*[y]array = ...
とどっちがスマートだよ。 えぇ?
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG*だとまぎらわしいから^*にして
[y]^*[x]int array;
x = array[y]^*[x]
Cの設計者がこうすりゃよかったと後悔してたとか
0023デフォルトの名無しさん
NGNGいっそのこと宣言を逆にしたら。
ついでに ^* も @ にしちゃえ。
moge @int = a&;
hoge [y]@[x]int;
moge@ = hoge[y]@[x];
0024デフォルトの名無しさん
NGNG> hoge [y]@[x]int;
> moge@ = hoge[y]@[x];
huga [x]@int;
huga[x]@ = hoge[y]@; //不正
最悪だろこれは。
Cの設計者は"Complex C"でも作ろうとしてたのか?
そんなCCやC++なんかより、やっぱりDですよこれからは。
0025デフォルトの名無しさん
NGNG@を^にして、変数名と型の間に":"入れたら、Pascalになってしまうのがアレだが
0026デフォルトの名無しさん
NGNGint*[x] huga;
int[x]*[y] hoge;
*huga[x] = *hoge[y]; //不正
//後置
huga [x]@int;
hoge [y]@[x]int;
huga[x]@ = hoge[y]@; //不正
//前置
int*[x] huga;
int[x]*[y] hoge;
*[x]huga = *[y]hoge; //不正
同じ事だった。(´・ω・`)
0027デフォルトの名無しさん
NGNGありがとう
委譲が便利だと思っていたのを俺だけじゃなかったのね⊃д`;)
0028デフォルトの名無しさん
NGNG例えば>>23を発展させればこんな風に書けるし。
hoge : class( a ); // 宣言+オブジェクト生成(コンストラクタ実行)
moge : [x]@class; // ポインタ配列の宣言
moge[x] = a& // 配列アクセス(1)
(moge + x) = b&; // 配列アクセス(2)
moge[x] = new class( a ); // オブジェクトの動的生成
moge[x]@ = a; // ポインタアクセス
huga : [y]@[x]class( a ); // huga is array[y] of pointer to array[x] of class that initialize by a
あー、でも関数ポインタとかどう書くんだろ。
0029デフォルトの名無しさん
NGNGttp://hp.vector.co.jp/authors/VA028375/delphi/delphipascal_oo_implements.html
このページで解説されてる委任のこと?
0030デフォルトの名無しさん
NGNG//前置
int[x]*[y] hoge;
[x]*[y]hoge = ...
//後置
hoge : [y]@[x]int;
hoge[y]@[x] = ...
要はひっくり返し方の話なんかね。
現状からの違和感から言うと、後置の方が自然だろうね。
もしかしたら、宣言の記述の仕方も直感にそぐうかも知れん。
オブジェクト指向的だからね。
0031デフォルトの名無しさん
NGNGIME変換中の波線、下線が変換確定後も消えません。
Cで同様のコードを書いてもこれは再現しないし、どうしたらいいのか
ほとほと困っています。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGソース見せてくれたら考えなくもない
003431
NGNGソースと一応バイナリーもつけました。
ソースの一部はどこかのサンプルから一部流用しています。
003531
NGNG0036デフォルトの名無しさん
NGNG原因はよくわからなかった
日本語入力後にCHARFORMAT2のdwEffectsとbUnderlineTypeがなぜか書き換えられるようなので
サブクラス化して阻止すれば回避できそう
0037デフォルトの名無しさん
NGNG自分の発言を引用するのもアレだがどうぞ。
前に枠がツカネーって事で調べてみたんだが、これにも関係してるっぽい。
Win2kではこれで直った。
D言語ドラフト一応読んだよ
http://pc2.2ch.net/test/read.cgi/tech/1003674814/
676 名前: 671 投稿日: 03/10/13 02:32
原因がわかった。
とりあえずここを読んでくれ。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win9x/verdiff_2awj.asp
んで、気になって調べてみたところ、DMDが吐くEXEのPE Optional Headerの
MajorOperatingSystemVersionが1.0、
Major/MinorSubsystemVersionが3.Aになってた。
バージョンが4以上だとタイトルバー持ってれば勝手に
WS_EX_WINDOWEDGEスタイルを付けるらしいんで
そこを両方とも4.0に変えてみたらちゃんと枠がつきました。
まぁぶっちゃけ、EXEファイルのA0の01を04、A8-AAの03 00 0Aを 04 00 00に変えれば枠が付く。
もしかしたら漏れの使ってるDMDのバージョンが古いだけかもしんね。スマソ。
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG追加して欲しい機能が追加されるのがいつになるか分からん状態の上、
コンパイラのバグが不安だし、仕様もころころ変わる状況だし...。
とりあえず欲しい機能の提案はし切ったから、
あとは完成までひたすら待つしかないじゃん。
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNGいつか Microsoft が C# にパク・・・
いや、取り入れてくれるさ。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGdebug 関係は属性でなんとかなるはず。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNGc#(2.0)ってネイティブコード吐けるのか
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNGLonghornになったらネイティブ並に速くなるのか??
0058デフォルトの名無しさん
NGNGいまの intel ネイティブコードはエミュレーションで走るようになって逆に
遅くなりそう。
0059デフォルトの名無しさん
NGNG完全に出し抜かれた感じだね。今じゃMSが新しいバージョンを
リリースしてくれないことには、買い替え需要もないし。
で、intel ネイティブコードをエミュレーションってなんのこと?
バイナリトランスレーションとか呼ばれてるやつ?それと.NETに
どんな関係があるんだろ。説明しろ>58
0060デフォルトの名無しさん
NGNG.netを拡張したヤシ(WinFX)が新しいネイティブAPIになるんでしょ確か。
んでwin32APIはエミュレーションになって遅くなると。
0061デフォルトの名無しさん
NGNG>intel ネイティブコードはエミュレーションで走るように
これの説明になっとらんぞ
0062デフォルトの名無しさん
NGNGCDCの記事でどっかのニュースサイトが書いてたはず。
0063デフォルトの名無しさん
NGNGhttp://home.earthlink.net/~dvdfrdmn/d/
もう知れ渡ってると思うけど、一応張っとく。
今、Solaris でコンパイル中。明日の朝出社したら実行ファイルができているはずだ。
これで、まともな GUIフロントエンドが完成したら、俺はもうDしか使わないぜ。
0064デフォルトの名無しさん
NGNG取り込まれたらDの認知度も上がる?それともobjc程度の扱い?
0065デフォルトの名無しさん
NGNGあんまり挙がりませんな。C# 1.0 なら幾つもあるんだが。
やはりMSの開発速度には着いていけないのか……。
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGhttp://download.microsoft.com/download/8/1/6/81682478-4018-48fe-9e5e-f87a44af3db9/SpecificationVer2.doc
0069デフォルトの名無しさん
NGNG激しく読み難い。なんとか汁!>MS
0070デフォルトの名無しさん
NGNGWORDを使ってもやっぱり読み難いから安心汁。
C# 2.0 Specification から拾ってみた。
- Generics (Javaと違って、 new T() も可能)
- Anonymous methods (この書き方ができる ⇒ button.Click += delegate { listBox.Items.Add(textBox.Text); };
- Iterator の実装で、"yield return" が使える。
- partial class (クラスを分割して定義できる)
0071デフォルトの名無しさん
NGNGいかに言語の能力を生かしユニークな作りになっているか
みることにしているので、それが無いDはまだ評価の段階にいたっていない感じ。
007271
NGNG0073デフォルトの名無しさん
NGNGDはひたすら中庸に逝って欲しいけどね。
C++ではなくC with class+GCを素直にやってくれればそれでいいよ。
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNGそれらに対してDはmixinで対抗
0076デフォルトの名無しさん
NGNGJAVAではVM,C#では、.NETにあたるものは必要ないのですか?
ガーベジコレクションとかは、なにがやるのでしょうか?
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG一応OSが必要だねぇ
0079デフォルトの名無しさん
NGNG> Is this planned for 1.0 ? So we can intercahnge them etc ?
No, it'll be a 2.0 feature. It's conceptually simple, but there are a lot of
tricky details to get right.
うーん。。。
0080sage
NGNGいい発音の仕方を教えてください。
0081デフォルトの名無しさん
NGNGイェイモー
0082デフォルトの名無しさん
NGNG0083D 0.82
NGNGMar 28, 2004
Bugs Fixed
- Some cases of forward referenced classes are now handled.
- Illegal recursive alias declarations now correctly diagnosed.
- Erroneous anonymous struct member offsets within unions fixed.
- Fixed problem with array initializers for consts.
- Fixed bug with intrinsics.
- Can now slice a void[].
- std.date: fixed dst calculation for zones with no dst.
- Fixed bug with nested delegate literals.
- Fixed overload inheritance bug with function aliases from base classes.
- Added files gnuc.h, mem.h, mem.c, port.h, enum.h, and enum.c to the \dmd\src\dmd.
- Fixed seg fault on forward reference to template.
- Fixed std.date.getUTCtime() for linux.
0084デフォルトの名無しさん
NGNG構造体の配列をソートする際ソート順を制御できる?
0085デフォルトの名無しさん
NGNGDWT A port of the SWT (Standard Widget Toolkit) GUI Library
完成が待たれます。
0086sage
NGNGvoid main()
{
char[][char[]] hash;
hash["Data1"]="_Da1";
hash["data3"]=" da3";
hash["data2"]="_da2";
hash["data1"]=" da1";
hash["Bata1"]="_Ba1";
foreach(char[] key,char[] value;hash)
printf("%.*s %.*s\n", key, value);
printf("\n");
foreach(char[] key;sort(keys(hash)))
printf("%.*s %.*s\n", key, hash[key]);
}
0087sage
NGNGchar[][] array=new char[][hash.length];
int length=0;
foreach(char[] key,char[] value;hash)array[length++]=key;
return array;
}
char[][] sort(char[][] array)
{
char[][] array1=new char[][array.length];
int length=0;
foreach(int key,char[] value;array){
int i=0;
for(i=0;i<length;i++)
if(std.string.cmp(array[i],value) > 0) break;
for(int j=length-1;j>=i;j--)array1[j+1]=array1[j];
array1[i]=value;
length++;
}
return array1;
}
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGなんだそれ?
EclipseのSWTのD言語版?
0090デフォルトの名無しさん
NGNGあれが限界なのか? もっと気合入れて作れないものかと。
0091デフォルトの名無しさん
NGNGよみづらいって具体的には?
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNGimport std.c.stdio;
int main(){
float f1;
if(f1 == f1)
printf("f1 == f1");
return 0;
}
printfにいかないのは仕様だっけ?
0097デフォルトの名無しさん
NGNG仕様みたいだね。
http://www.kmonos.net/alang/d/property.html
> 浮動小数点数型のプロパティ
>
> .init 初期値 (NaN)
http://www.kmonos.net/alang/d/expression.html
> 等値式
>
> 浮動小数点数の場合は多少複雑です。-0 と +0 は等しいと判定されます。
> どちらか一方でも NaN であれば、 == も != も結果は false になります。
> それ以外の場合は、ビットパターンで比較されます。
0098デフォルトの名無しさん
NGNG比較式にNaNが含まれる場合比較対象に関わらず偽となる。
だったかな? 仕様書確認せず記憶だけなのでフォローよろ。
まあしかし直感に反するフローなのは確かだな。
そいや===演算子でNaNと比較したらどうなるんだろ。
コンパイラ手元にないから確認できねえや。
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGバグか バージョンが古いかどっちかか
落とし直しー
0101100
NGNG0102デフォルトの名無しさん
NGNGなかったら自分でつくる(パクル)けど。
0103デフォルトの名無しさん
NGNGvoid[value_type] では不満?
0104102
NGNG不満だなぁ。それだとforeachとかで順序が指定できないよね。
begin, ++, endの操作(イテレータ)が欲しいわけ。
もし出来るんだったら教えてくらはい。現状先頭から順番に巡回できればいいです。
ちなみに配列に変換してソートするとかは無しね(;´Д`)
0105102
NGNGforeachで呼び出される順序を指定できる仕組みが欲しい。
常に指定した順序で整列してて欲しい(頻繁に挿入〜巡回するので)。
ただそれだけです。
0106デフォルトの名無しさん
NGNGD言語でこの関数と等価な関数はどう書いたらいいのでしょうか・・・
[D]void fuck(char[] str);
これだとただのコピーになっちゃって;;
0107デフォルトの名無しさん
NGNG010886
NGNGimport std.string;
void main()
{
char[][char[]] hash;
hash["Data1"]="_Da1";
hash["data3"]=" da3";
hash["data2"]="_da2";
hash["data1"]=" da1";
hash["Bata1"]="_Ba1";
foreach(char[] key,char[] value;hash)
printf("%.*s %.*s\n", key, value);
printf("\n");
foreach(char[] key;hash.keys.sort)
printf("%.*s %.*s\n", key, hash[key]);
}
これでできる。仕様ちゃんと読むべし。
0109デフォルトの名無しさん
NGNGで
Error: cannot use array to initialize int[char[]]
とエラーになるのは仕様ですか?調子わる
0110デフォルトの名無しさん
NGNG連想配列についての初期化の記述無いっぽいけど。出来ないんじゃ
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGSoftware Design (ttp://www.gihyo.co.jp/magazines/SD/contents)
かな
まだ読んでないけど、どんな感じだった?
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGそのmylib.dを書くのが面倒なんだよな。
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG「なんとかマガジン」ってひとっつも当たってないところに笑った
俺もそれ立ち読みした。
ゲームを開発するときの言語を比較して、Dはそこそこ便利ですよ、
ただ、まだαですよ、最終的な判断は皆さんにおまかせします、
っていう内容だったような。当り障りの無い言語紹介かな。
0120デフォルトの名無しさん
NGNGD言語用のswigがあったような気がする
0121デフォルトの名無しさん
NGNG今のα仕様だけど、なかなか読んでて面白いね。
typedefとaliasのおかげでコードがすっきりしそう。
0122デフォルトの名無しさん
NGNGを
"aaa".split("c");
のようにも書ける仕様はどこに書いてありますか?
0123デフォルトの名無しさん
NGNG上は関数で下はstringのメンバ関数でないかい?
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGまだリリース版出ないのかねぇ
0127デフォルトの名無しさん
NGNGprint(char[] a){
printf("%.*s",a);
}
"aaa".print();
と、第一引数のメンバ関数のように使えちゃうみたいなんだけど、なんでかなと。
0128デフォルトの名無しさん
NGNGvoid print(char[] s)
{
stdout.writeString(s);
}
int main()
{
"aaa".print();
return 0;
}
面白いけど使いそうにない
0129128
NGNG0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG>第一引数のメンバ関数のように使えちゃうみたい
仕様読んでる途中だからよーわからんけど、「みたい」」というか、そう最適化されるんでないの?
Dの配列はCと違って、サイズ情報などを保持するオブジェクトだから、第一引数に属するメソッドとしたほうが効率的かなと
import perl5; //あるのか知らんけど
char[] str = "諸行無常".u2s; //UTF-8からSJISへ
みたいに明示的にClass化しなくても、Moduleで簡単に骨太にできる。
コード上はClassっぽく扱っていても、実際はコンパイラが等価に書き換えるだけで実行時コストの削減に繋がる。
0133131
NGNGようは継承やインスタンス生成のコストを極力減らせる仕様なのでは?と。
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNGネットワークプログラミングは出きる?
0139デフォルトの名無しさん
NGNGココ見るとver.0.82が最新だーね。
http://www.digitalmars.com/d/changelog.html
ネットワークプログラミングってどの辺までを求めとるか分らんが、ソケットから書くのが苦痛でなきゃ
できるよん。実装例挙げるとこんなのとか。
http://user.ecc.u-tokyo.ac.jp/~s31552/wp/attohttpd/
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG俺なんか自分のバグすら取るの大変
0143デフォルトの名無しさん
NGNGありがとう。乗り換えるべく勉強してみるよ。
0144デフォルトの名無しさん
NGNG自分のバグですら取るのが大変なのに、言語のバグが原因だったりするから、
現状では使い物にならない ⇒ 熱が冷めた
になったんだと思われ。
0145デフォルトの名無しさん
NGNGってかやねうらおさんですか?
同スレッドにあるとGCが発動してしまうバグ
これが何とかならないとD言語は使い物にならない
とか言ってましたけど
あれは直ったんですか?
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG>同スレッドにあるとGCが発動してしまうバグ
意味がわからない。
別スレッドでさえもnewしないようなスタイルは難しいから、
結果としてGCが走るのを抑えられない(gc.disableが未実装)
ってことかなー
0149デフォルトの名無しさん
NGNGLinuxだったかな、見かけ上はスレッドだが、
負荷はプロセスと何ら変わらないってOSもあったり。
まだまだOS互換性が取れていないのでしょう。
0150デフォルトの名無しさん
NGNGどんなときに止める必要があるんだろう
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNGDリファレンスの翻訳サイトのガベージコレクションの項に書いてあるよ。
0153デフォルトの名無しさん
NGNG>D言語はもう熱が冷めたんですか?
彼はゲーム作成で飯を喰っている人間だから、
GC や Thread の持っている機能(というよりは、
それらが達成しようとしている目標)に
非常に魅力を感じているのであろう事は想像に難くない。
しかし、逆にそうであればこそ、
それらが内包しているダークサイド面も十分に承知しているのだろう。
・・・青い鳥症候群だな(通常の意味合いとは違うけど)。
0154デフォルトの名無しさん
NGNG今の時代はプログラミング言語だよな
常にリアルタイムで画面を再描画しなくちゃいけないゲームや
またはパズルゲームなど
魅せ方が工夫できればできるほど
そして、それを楽に作れれば楽に作れるほど
有用なプログラミング言語と思われがち
0155デフォルトの名無しさん
NGNG0.82ならαというよりβだよね?
0156デフォルトの名無しさん
NGNG市販のC++ IDEとか使ったことないけど、自動でヘッダ作ってくれたりするんかな?
0157デフォルトの名無しさん
NGNGC/C++が腐ってるだけで、Dに限らず他のほぼ全ての言語ではそんな必要は無い罠
0158デフォルトの名無しさん
NGNGC/C++ではさらにインポートライブラリも必要だが。
0159デフォルトの名無しさん
NGNG資料は充実してるかどうか?
プログラム言語が流行るかどうかなんて
そういう単純なところだよね
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG何か落ち込んでるのかと思った
最近OTL見すぎたかな
0162デフォルトの名無しさん
NGNG最近はすぐ落ち込む人多いね
顔文字使う感覚なんだろうけど
0163デフォルトの名無しさん
NGNG鬱だとかすぐ言われるよりはマシ
0164デフォルトの名無しさん
NGNGありがとう、読んで見たけどよくわからなかったよ
0165デフォルトの名無しさん
NGNGその手間は全体からすると大した問題じゃないかもしれない。
漏れはまともなモジュール機構とプリプロセッサ排除の恩恵(?)で、
コンパイルが激速なのが嬉しい。
GCも付いてるしかなり楽できるんじゃないかと思う。
>>159
同意。言語の表現力で人気がでるなら、
最近の関数型言語(Haskell、Concurrent Clean)のスレが
ム板に溢れているはずだ。
0166デフォルトの名無しさん
NGNGんー…Ada/Modulaあたりはモジュール化されてるとはいえヘッダ「ファイル」があったり、
Pascalは同じファイル内とはいえプロトタイプ宣言が必要だったりするけど、
JavaにしろC#にしろHaskellにしろ最近の言語は大抵はヘッダもプロトタイプ宣言も要らないよね
0167デフォルトの名無しさん
NGNGFPSを常に30なり60なりに保つには、GCによるメモリ回収は切っておかないといけない。
その理由は、メモリ回収中はプログラムを完全に停止してしまうから。
だからゲームプレイ中はGCをスリープさせて、スコア画面中に手動でメモリを回収する必要が在る。
0168デフォルトの名無しさん
NGNGMMORPGのような、シーン切り替えがいつ発生するか分からないようなのは
GCを呼び出すタイミングが難しいですね。
結局のところGC付きの言語ででpressureの大きいリソースを扱う場合は
Cacherを通して管理、巨大なバッファを確保したりする際は、
アロケーターでGCのスキャン対象外にして、自分でメモリー管理。
要するにC的なプログラミングをしなければならない。
と、やねうらお氏が言ってました。
ちょっとエロイ人に質問。
保守的GCってintやlong型に適当な値をつッこんだら
ポインタ値と勘違いされてその部分が解放されないってこと、あるの?
0169デフォルトの名無しさん
NGNG言語の目的として
ポインタは使用しないこと
その理由として
int *i = new int;
int k = i;
とされてもGCは面倒見切れないから
この場合はポインタiがアドレスを放棄した時点でGCは回収にリストに入れます
0170デフォルトの名無しさん
NGNGMMORPGは寧ろ頻繁にGCを動す思いますよ。
下手にリークメモリを貯めるとその分復帰に時間が掛かりますので。
チャット組のために一定時間ごとにこまめに動くんじゃないかな。
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGこまめに動くよりも自分で解放するほうが処理とかも楽そうだし
0173デフォルトの名無しさん
NGNGよくそういうことがいわれるが、どのくらい止まるかってことには、
全然触れられないんだよな。
たとえば、1frame内で1msec以内なら(十分遅いけど、一応は)問題ないし、
逆に100msec止まってもらっては当然困る。
GCによるメモリ回収は短時間で終わるから、
ゲームには十分向いているなんて推測もできる。
実際どうなのよって話。
0174デフォルトの名無しさん
NGNGどうなる?
0175デフォルトの名無しさん
NGNGdeleteで破棄すれば強制回収という仕様があったような。
0176デフォルトの名無しさん
NGNGD言語でアナルオナニーしていいですか?
0177デフォルトの名無しさん
NGNGどうやってするのかわからないので、実況しながらお願いします。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG>どのくらい止まるかってことには、全然触れられないんだよな。
GC がどのくらい止まるかは、そのアプリケーションの規模によって
大きく変わる。
もしもアプリケーションを拡張しているうちに、GC による
遅延の問題が発生し始めた場合、もう後戻りはできない。
小手先の最適化など何の役にも立たない致命的な欠陥なので、
結局はそのコードを全て捨て去り、結局全てリライトしなくては
ならなくなる。
プログラマにとってこれほど怖いものは無い。
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGそのためのversionやdebugなどなど
コンパイル時のパラメータによって出力が変わるようにしてるんじゃないかな?
0182デフォルトの名無しさん
NGNGわかった
予測できないから、使えないってことね
それが、実験して得た結論なら別にどうこういわん
0183デフォルトの名無しさん
NGNG>http://d.hatena.ne.jp/yaneurao/
>
>2004-04-10 いまどきのGC
>
>まあ、どのみちアプリケーションが肥大化してきたときに
>保守的なGCではどうしようもいかなくなる。
>保守的なGCが使われる限り、リアルタイム性が問題になる
>大規模なアプリは書けないんじゃないかとも思う。
是非、彼にもそう言ってやってくれ。
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGIncremental GC でも話にならないかね?
0187デフォルトの名無しさん
NGNGリアルタイム処理につかうメモリを全てそのクラスで扱えばいいような気が。
0188デフォルトの名無しさん
NGNGDのGCはint型でもそこにポインタ値らしきものが入ってたら解放しないんじゃ?
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGそんなやり方は、皆が承知している。
で、その上で、D言語の Evangelist は
「保守的な GC が使われる限り、リアルタイム性が問題になる
大規模なアプリは書けないんじゃないかとも思う」
という判断を下した訳だ・・・
結局の所は個人の主観の問題、というか、
アプリケーション開発というものに対するポリシーの問題だよ。
0191デフォルトの名無しさん
NGNG全部rewriteしなくてもいいだろうに。
0192デフォルトの名無しさん
NGNGその書き方は嫌だから無理ってのは意味不明。。。
0193デフォルトの名無しさん
NGNGFPS維持が問題になるけどそんなに問題になってるようには見えないが、
GCまわりはどうなってるのかな?
0194デフォルトの名無しさん
NGNGDのGCにバグがあるのとは、また別の話 :-)
0195デフォルトの名無しさん
NGNGそんな物はつけなくてもよろしいのでは?
0196デフォルトの名無しさん
NGNG0197やねうらお
NGNGABAさんのゲームは、ゲーム中(リアルタイム性が必要とされる部分)では、
コーディング上のミスが無い限りは、newは1回も呼び出してないはずです。
(要するにGCは一切呼び出されないです。)
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGだって元々そういうJavaアプリをバリバリ書いてた人だもん。
↓下記参照。
http://d.hatena.ne.jp/ABA/20040326#p2
0200デフォルトの名無しさん
NGNGhttp://d.hatena.ne.jp/yaneurao/
>2004-04-13 いろいろ考え中
0201200
NGNG0202デフォルトの名無しさん
NGNG激しく遅レスですまぬ。
Software Designの記事を読んで思ったのだが、
ひょっとしてやねうらおは、C#の using を構文糖と気づいていないのか?
0203デフォルトの名無しさん
NGNG常に回収をすればいいわけか
0204デフォルトの名無しさん
NGNGそうだね。
まったくしないか、気づかせないほど細かく回収するかのどっちかだ。
0205デフォルトの名無しさん
NGNGDで大規模プログラムの仕事なんて出すわけないじゃない
β仕様のβコンパイラで何を作れとw
茶碗をチンチン叩きながらマターリ待ちましょう
0206やねうらお ◆.NZe9R3gKs
NGNG>ひょっとしてやねうらおは、C#の using を構文糖と気づいていないのか?
さすがにそんなことは..。
ildasmで見ればtry〜finallyでDispose呼び出すのと同じコードが
生成されていることは明らかなので。
0207やねうらお ◆.NZe9R3gKs
NGNG> Dで大規模プログラムの仕事なんて出すわけないじゃない
私の原文が少し紛らわしかったかも知れませんが、
「GC付きの言語の大規模開発を経験してみたい」という趣旨で、
言語は、Dでも.NETでも何でも構いません。
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG神尾トメコ(82)が優勝した。決勝ではアメリカのビル・ランドルフ(26)と争った。
神尾は決勝でなんと11個のお手玉を操り、観客の度肝を抜いた。この大会で日本人が
優勝したのは初めてであり、神尾は「これも皆さんのおかげです。ありがとうございました。」
という謙虚な発言をした。この記録はギネスにも認定され、同時に2つの快挙を成し遂げた。
詳細 <福島県いわき市のお手玉11個に成功したスーパーおばあちゃんを称えるスレ>
http://tmp2.2ch.net/test/read.cgi/mog2/1076074534/l50
0210デフォルトの名無しさん
NGNGエロゲー
0211デフォルトの名無しさん
NGNGGCは無茶苦茶強力な武器なんだよな言うまでもなく
0212デフォルトの名無しさん
NGNG時計作ったけど
C言語に作り直したらメモリーリークしてびびった
メモリ50%使用の状態だったのに
一時間つけてたら90%とか40%も増えてた
GCは楽チンでえぇね(´∀`*)
0213デフォルトの名無しさん
NGNGGC があってもリソース解放忘れは防げないので、ご注意を。
0214デフォルトの名無しさん
NGNGなんかそんな感じの使っててメモリを解放し忘れてただけだったから平気w
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGfreeしたところが再度使わるのであれば、時計程度でメモリリークなんてしないよね
0217デフォルトの名無しさん
NGNGんでもとりあえず一般的だろうと思われるmallocとfreeの実装で、
毎回サイズの違うメモリをmalloc/freeしまくったら
メモリのフラグメンテーションがおきる可能性はかなりありそうだな。
それとメモリリークってのはmallocしたのをfreeしないことであって、
ちゃんとfreeしてるならそりゃ(フラグメンテーションが起こっていても)
メモリリークとはいわない気がするがどうか。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGつづりとか関数名を忘れたことは謝るから
PolyPolylineの第ニ引数のPOINT*を毎回mallocで作ってた癖に解放し忘れたわけ
だからメモリリークを起こしました
それだけです
0220デフォルトの名無しさん
NGNG大丈夫、あんたの場合は言語に関わらず同じような阿呆を繰り返すよ。
0221デフォルトの名無しさん
NGNGこの難解な謎解きは俺への挑戦か?
%を単位と取るか記号と取るかで表現が変わるけど
意味合い的にはどっちも間違いじゃないと思う
0222デフォルトの名無しさん
NGNG> 意味合い的にはどっちも間違いじゃないと思う
よく混同して用いられるけど、正確には間違い。
前者はパーセントといわず、ポイントといいます。
つまり50%→90%は40ポイント増または80%増。
0223デフォルトの名無しさん
NGNGメモリの解放はすべてGCに任してたわけですけど
それは阿呆なんでしょうか?
ならもうD言語はやめようと想います
少し移植が上手くいかなかっただけで文句言われたらなぁ
大体もう解決してるし過去の事をとやかく言う方がアホだろうね
0224デフォルトの名無しさん
NGNG厨房に煽られたぐらいで止めるとか言うなら勝手にやめろ
大体バカ相手にしてるお前もバカだって事ぐらい解れ
0225デフォルトの名無しさん
NGNG情報選別能力と煽り耐性は鍛えておいた方がいいぞ。
0226デフォルトの名無しさん
NGNGそんなところで躓く香具師はメモリ解放を他人任せにできても
どうせ他で躓く。
まぁ、そんな香具師でも躓きにくくなったのはいいことだな。
0227デフォルトの名無しさん
NGNG>まぁ、そんな香具師でも躓きにくくなったのはいいことだな。
問題が起こった時、その尻拭いをするのが別人だという
点を除いて、な・・・
0228デフォルトの名無しさん
NGNGの意味が解らない
他人任せ=GCなのか
バグを取り除くのが他の人なのか
そこんところをはっきりしてくれ
0229デフォルトの名無しさん
NGNG他人任せ=GCの意味に見えるよ。文脈的に。
ところで漏れは上のほうにあった保守的GCの性質、
つまりint型でも中にポインタ値らしきものがあったらそこは解放されないのか?
が気になる。
だとしたらさ、(int型の)static変数に偶然そういう値が代入されちゃって
その後不変だったらそこは解放されなくて、
しかもGCが辿るポインタのチェインの根元の方だと
(かつその先のポインタはそこからしか辿れない場合)
その先も解放されない、ていう、かなりいい加減なGCってことだよね。
しかもどっかの記事によるとbyte配列も4byte alignで辿るみたいだし、
偶然ポインタ値と一致する、なんて結構あり得るんだよね。
もちろん自分で色々試してみたんだけど、今いち確信できないんだよ。
ただやっぱりint型でもポインタ値突っ込むとそのポインタ値は100%
解放されない。ポインタ値を突っ込んだint変数をクリアしても、
解放されないことはあったけどね。
スタックかどっかに残ったままになってたのかね。
詳しい人いたら、情報よろしく頼むね。
0230デフォルトの名無しさん
NGNGfullCollectしても解放されなかった気がするな。
この辺の挙動もどういう理由か、わかればスッキリするよね。
分からなくても、別にいいんだけどさ。
0231デフォルトの名無しさん
NGNG毎フレームfullCollectして1回のGCにかかる時間を減らせばいい、
なんて言ってた人いるけど、そうじゃないよね。
1回のGCでドコも解放されなければ、その時間は全て無駄だよね。
データ配列として10MBも確保してるような場合、
毎フレームスキャンするんだよ。正気の沙汰じゃない。
Dでリアルタイム性が重視されるコードを書くなら、
GCは走らせちゃだめなんだよ。大規模になればなるほどね。
0232デフォルトの名無しさん
NGNGDの言語仕様はC++よりはまし。その程度のものなんだよね。
ラムダもクロージャもなければMixinもないし。
まぁin,out,unittestや組み込み配列は妙に便利なのは認めるけどさ。
世の中探せばもっと表現力があってライブラリーも(少なくともDより)
豊富な言語は、それなりにあるよ。その中には関数型言語が多いね。
でもC/C++からの低い学習曲線っていうその1点が、
Dの大きなアドバンテージなんだろうね。
C#でネイティブコードを吐けるようになれば、
Dのポジションは完全に失われちゃんだけどさ。
0233デフォルトの名無しさん
NGNGC#にしてもJavaにしても、文法からしてランタイムがあって実行時にダイナミックなんちゃらができるの前提でしょ。
だからネイティブC#が出来ても同じだけのパフォーマンスは期待できないはず。
マネージドコードでポインタが追跡できてインクリメンタルGCが可能になる分、GCに限っては性能出るかも知れないけど。
そんなのに頼らない制約の中ではDは頑張ってる…というか、C#とかのリッチな気分でDのコード書くな。
Dは、C言語並みにガリガリのコーディングするつもりで使ってこそパラダイス。
DのGCは、C++が暗黙のコンストラクタ/デストラクタのせいでコンパイラは暗黙のtryとかいっぱい埋めこまねばならず
無駄に生成コードサイズが増えてしまったのを、スッキリさせるため程度に考えとけばいい。頼り切るものじゃない。
巨大なバッファが不要になったら明示的にdelete書くし、局所的にしか使わないオブジェクトにはauto付けまくる。
そもそも動的配列のコピーオンライトすらパフォーマンス目的で見送られた言語だ。
0234デフォルトの名無しさん
NGNG残りの1/10の表現とやらをCで埋め込めっつーことだね。
0235デフォルトの名無しさん
NGNGそうやって結論付ける意味はあるの?
>>220-228
何か職場で嫌な事でもあるの?
お兄さんが相談にのるよ?
0236デフォルトの名無しさん
NGNG現時点での結論。そんなのなんだって言える事だろ。
0237デフォルトの名無しさん
NGNGC/C++のいちいち気に触る文法が細かいところで改善されててとても素敵。
贅沢なプログラミングがしたいならDはお薦めできない。
0238デフォルトの名無しさん
NGNGだからそれが意味あるの?って聞いてるんだが
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG今portingしてるから待ってれ
0244デフォルトの名無しさん
NGNG香ばしい流れになってる
でも読んでて楽しい
WindowsでGUIプログラムを作るとすると
D言語では色々不具合(変数名の重複)とか出てきたじゃん
あれ、なんとかしてほしいよなぁ
0245デフォルトの名無しさん
NGNG>D言語では色々不具合(変数名の重複)とか出てきたじゃん
うちはふつーにできてるけど
もうちょっと詳しく話してみて
0246デフォルトの名無しさん
NGNG触ったの結構前なんですみません
モジュールを追加してくと変数名や型の重複が目立ちますよね
以前win32apiを使いたい時に色々追加したらそうなっただけです
今はわからないです
0247デフォルトの名無しさん
NGNG大きいメモリをmallocで確保しろと
0248デフォルトの名無しさん
NGNG従来の C++ のコードと、マネージコードが混在していて楽しい。
テンプレートも使えるし。仕様が固まったら、かなり良いものになりそうだ。
0249248
NGNG0250デフォルトの名無しさん
NGNGわざとだろ(w
0251デフォルトの名無しさん
NGNGDIDE(full package)のリンクが間違ってるっつーのはどういう事なんだ・・・・・・
×: ttp://www.atari-soldiers.com/dmd_full.zip
○: ttp://www.atari-soldiers.com/dide_full.zip
ガイシュツだったらごめん。
0252デフォルトの名無しさん
NGNG実行ファイル上では問題ないからエディタのせいだよね?
0253デフォルトの名無しさん
NGNGOSによって、ロックファイル使えれば使って、使えなければループで回ってみたい
なコード書かなきゃだめかなぁ?
ライブラリにあるといいんだけどなぁ。
0254デフォルトの名無しさん
NGNGまあそんなことはどうでもいいか。
0255デフォルトの名無しさん
NGNG○別プロセスのファイル処理開始までが
0256デフォルトの名無しさん
NGNGどれ、D言語でDirectXでプログラムでゲームで遊んでみるか
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG中身無いんですけど。
0259デフォルトの名無しさん
NGNG次のバージョンあたりには、ついてくるんじゃ?
そのときついでに、プロセス間の同期もできるんだろうから、それ使えばきっとOK
0260デフォルトの名無しさん
NGNGclass Test{
private: int test(){ return 3; }
public: int test(int n){ return 4; }
}
別ファイルで
Test a = new Test;
printf("%d", a.test(3)); //アクセスできなくてコンパイルエラー。
あるファイルの定義順を変える。
class Test{
public: int test(int n){ return 4; }
private: int test(){ return 3; }
}
別ファイルで
Test a = new Test;
printf("%d", a.test()); //コンパイル、実行できる。
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGつまりC/C++と比べて宣言の仕方が逆になったということ?
Classの省略規則からしても逆なわけだから混乱するね
0265253
NGNGこれで大丈夫?
HANDLE LockMutex(char[] name)
{
HANDLE hMutex;
/* ミューテックスのオープン */
while((hMutex = OpenMutexA(MUTEX_ALL_ACCESS, FALSE, name))==null){
hMutex = CreateMutexA(null, FALSE, name);
}
/* 所有権獲得まで待機 */
WaitForSingleObject(hMutex, INFINITE);
return hMutex;
}
void UnLockMutex(HANDLE hMutex)
{
ReleaseMutex(hMutex);
CloseHandle(hMutex);
}
で、思ったんだけど、synchronized(char[])で、プロセス間で同期できるといいなぁと。
クリティカルセクションは簡単に同期できるのに、プロセス間が簡単に同期できないって変でしょ。
0266デフォルトの名無しさん
NGNG大丈夫かどうかはスレッド100個くらい作って指定時刻と同時にDoSチックに攻めればいい。
0267デフォルトの名無しさん
NGNGメンバ変数の静的な初期値を使ってみたんだけど……
class SomeClass {
static const double s_c = 0.0;
const static double c_s = 0.0;
double a = s_c; // OK
double b = c_s; // compile-error said "no-constant expression."
}
仕様? バグだとしたらとっくに露見していそうな感じするけど
0268デフォルトの名無しさん
NGNGバグだろうけど、仕様としたほうがソースの可読性向上になるね。
0269デフォルトの名無しさん
NGNGint x;
}
class hogehoge: hoge{
override int x;
}
とやって、
hogehoge a = new hogehoge;
a.x = 10;
printf("%d\n", ((hoge)a).x);
とやったら、
10が表示されてほしいなぁ…
0270デフォルトの名無しさん
NGNGclass hoge{}
class hogehoge : hoge{}
class moge{
hoge h;
}
class mogemoge: moge{
override hogehoge h;
}
こうだ。
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG基底クラスの関数が派生クラスの同名変数を変更してくれんのよ。
>>269と同じような話。ようは両者が区別される。
で、>>270みたいにして、
class hogehoge{
. . .
this(hogehoge hh){
h = hh;
}
. . .
とやって、hogehogeのメンバ関数にアクセスするときにいちいちキャスト
せんでもすむようにしたいのよ。
あと、派生クラスでも使う基底クラスの変数を、明示的に宣言できると、見やすい。
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG再利用性に掛けるから、便利そうに見えて実は大げさな処理に感じる。
0275デフォルトの名無しさん
NGNGあんなの再利用できるのを選別してる間に新しいの書いたほうが有効だっつーの
0276デフォルトの名無しさん
NGNG新しいプロジェクトに合わせるために継ぎ接ぎだらけになって結局劣化するし。
0277デフォルトの名無しさん
NGNG再利用の単位が大きすぎるとそうなる。
もっと基本的なものを作れ。
0278デフォルトの名無しさん
NGNG表現が変だったが
C++でいう再利用ですが
たとえば文字列をフォーマットしたりとか
そういう単純な関数の再利用は俺も賛成派です
0279デフォルトの名無しさん
NGNG見通しや関係の理解しやすさからクラスわけしてる。
hoge h;
h = new hogehoge;
としちゃうと、hogehogeのメンバにアクセスするとき結局型決めうちになるから、
抽象化も型安全性もない。それだったら最初から、「hはhogehogeとして扱いますよ」宣言
をしておきたいんだ。
あれかな、override hogehogeは、override hogehogeを持つクラスを再利用するためじゃなくて、
継承もとのクラスをよく再利用するために欲しいと思うんだな。
0280デフォルトの名無しさん
NGNGまだ研究中とかでもいいんだけど、そこにDを売り込みたいね
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGGCの手順もいろいろ、動作もいろいろ
同じとみるな
0286デフォルトの名無しさん
NGNG大した事が無いなんて事が多いよ
0287デフォルトの名無しさん
NGNG収益あげるつもりなのでしょうか。
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG流行ってきたら本書いて売る。
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGいや、言語作らなくても本なら誰でも書けると思うんですが・・・
0295デフォルトの名無しさん
NGNGD言語をつくることから、に対しての答えとしては正しいと思うが
0296デフォルトの名無しさん
NGNGそんなバカな、プログラマーは思うでしょう
システム化された社会ならしょうがないでしょうね
0297デフォルトの名無しさん
NGNGネイティブコードにJITしてるので関係ないだろ?
おまけに、ngen使えば環境非依存性を犠牲に(どうせmonoとか使う奴いないだろ)
ネイティブコードに落とせるわけだし。
0298デフォルトの名無しさん
NGNGネイティブでしか書けないようなコードが書けるかどうかが問題なのであって
実際にネイティブかどうかなんてのは実はあまり関係ない
0299デフォルトの名無しさん
NGNGスレ違いだがJITしてるにしろ変換できるにしろその変換分のオーバーヘッドが
最低でもかかってくるからパフォーマンスに影響するのがいただけない。
ついでにユーザーサイドから言えば余計なもの(.NET Runtime)入れなきゃい
けないのがめんどくさい。
まーMSはそれもOSに統合しちまうんだろうけどさ。
で、dmd0.86からstd.socketとstd.socketstreamが入れられたわけだが
これでjava厨の煽りが少なくなればいいね('A`)
#よくよく考えたら煽ってるのってVMマンセーが多いような…。
0300デフォルトの名無しさん
NGNG.NETはVBの延長線上のものだから、企業が嫌でも好む。
まぁD言語はネイティブOOP最強の座は約束されてるようなもんだ。
それが実現できないのなら、あっさり廃れるだろうね。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG署名つのるとか
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG0307305
NGNG0308デフォルトの名無しさん
NGNG細かいところはどーにでもなるけど、RTTI関連の仕様がすっぱり抜け落ちてるのでVCLは無理
Borlandだったら勝手に拡張するだろうけど
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNGchange logにある
>Added casting ability to non-COM interfaces.
はてな?COMインターフェースって言語仕様に含まれてるの?
この文の意味を教えてくれ!
0312デフォルトの名無しさん
NGNGhttp://www.digitalmars.com/d/class.html#interface
COM Interfaces
A variant on interfaces is the COM interface. A COM interface is designed to map directly onto a Windows COM object. Any COM object can be represented by a COM interface, and any D object with a COM interface can be used by external COM clients.
A COM interface is defined as one that derives from the interface std.c.windows.com.IUnknown. A COM interface differs from a regular D interface in that:
* It derives from the interface std.c.windows.com.IUnknown.
* It cannot be the argument of a DeleteExpression.
* References cannot be upcast to the enclosing class object, nor can
they be downcast to a derived interface. To accomplish this, an appropriate
QueryInterface() would have to be implemented for that interface in standard
COM fashion.
0313デフォルトの名無しさん
NGNGthis(){
b = new B;
}
~this(){/*ここでresouce解放*/}
B b;
}
class B{
~this(){/*ここでresouce解放*/}
}
int main(char[][]){
A a = new A;
return 0;
}
これって必ず、Bのデストラクタ→Aのデストラクタの順で呼ばれるって決まってるの?
Aの持つ所謂unmanaged resouceをデストラクタで解放する前にBのそれを解放しなきゃいけないんだけど
先にAのデストラクタが呼ばれちゃう。どうすればいいんでしょ?autoつけてもだめだし。
というかCOMなんですが。
0314最凶VB厨房
NGNGclass A{
this()
{
b = new B;
}
~this()
{
delete this.b;
stdout.writeLine("Aがお亡くなりになりました");
}
B b;
}
class B{
~this()
{
stdout.writeLine("Bがお亡くなりになりました");
}
}
int main(char[][] arg)
{
auto A a = new A;
return 0;
}
0315デフォルトの名無しさん
NGNG0316最凶VB厨房
NGNG0317デフォルトの名無しさん
NGNGメソッド名が lowerCamelCase でなければ C++ から乗り換えたのだがなあ…
0318デフォルトの名無しさん
NGNGそもそも乗り換えでなく両方できるようにすればいいじゃん。
0319デフォルトの名無しさん
NGNG何でもかんでも
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGthis(int x){}
}
class Bbb : Aaa{
}
コンパイルエラー。//constructor this (int x) does not match argument types ()
http://www.kmonos.net/alang/d/class.html#constructorsを参照するに、
Bbbにthis(){}が生成され、this(){ super(); }と挿入され、基底クラスにはthis()がないからエラー、か?
0323デフォルトの名無しさん
NGNGこのパターンなら、エラーにならない方がおかしい。
0324ミナツキ サヤ ◆SAYAC2HJWE
NGNG0325デフォルトの名無しさん
NGNGコンストラクタは基底クラス任せって、ありえないかなぁ?
必要な関数だけオーバーライドして使いたいのに。
0326デフォルトの名無しさん
NGNGだがthis()はされたくない。
this(){ }かthis(){ assert(0); }とでもしておけと言うのか?
0327デフォルトの名無しさん
NGNGthis(int x){}
}
class Bbb : Aaa{
int i = 3;
this(){ super(i); }
}
void main(){
}
これじゃあかんの?
0328デフォルトの名無しさん
NGNGclass A {
private:
this();
}
だろ。
ファイル内すべて friend になる D だとリンクエラーまで
待たなきゃいけないケースが多そうだけど。
0329デフォルトの名無しさん
NGNG0.86だとテンプレートデフォルト引数を実装とかあるけど
0330デフォルトの名無しさん
NGNG====test1.d=========================
class Aaa { private this(){ } }
====test2.d=========================
import test1;
class Bbb : Aaa { }
===================================
dmd -c test2.dで、コンパイル通りません。
class Bbb : Aaa { this(){ } }でもコンパイル通りません。どうすりゃいいんだ。
====sub.d===========================
class Aaa {
int x; int[] v;
this(int x, int[] v){ this.x = x; this.v = v.dup; }
abstract int get(int n);
}
class Bbb : Aaa {
override int get(int n){ return x + v[n]; }
}
class Ccc : Aaa {
override int get(int n){ return x * v[n]; }
}
====main.d===========================
import sub.d
int main(){
Bbb b = new Bbb(3,5,7);
Ccc c = new Ccc(2,8,8);
===================================
といったことをやるのに、そもそもnew Bbb(3,5,7)ができないんだが、どうすればいいんだ。ヴァー
0331デフォルトの名無しさん
NGNG氏ね。
0332デフォルトの名無しさん
NGNG「デフォルトコンストラクタの呼び出し禁止」イディオムはこの場合以下のように使う。
後者は意味不明。何の呼び出しを期待しているのかな?
class A {
public:
this(int a) {}
}
class B : public A {
public:
this(int a) { super(a); }
private:
this();
}
int main() {
A a = new B(0);
return 0;
}
0333デフォルトの名無しさん
NGNGその例の class B みたく public: this(int a) があるときって
private: this() って必要だっけか?
0334デフォルトの名無しさん
NGNGデフォルトコンストラクタがなければ、そもそも呼びようもないからね。
0335デフォルトの名無しさん
NGNG大本のレスでは、拡張コンストラクタもなくてエラーが出ていたようだけど
0336デフォルトの名無しさん
NGNGB b = new B(x); で基底の this(int x)を勝手に呼び出して欲しかったんだよ。
いちいち全部の派生で書くのはスマートじゃないと思ってさ。
これで黙っとくよ。 スレの浪費すまんかった。
0337デフォルトの名無しさん
NGNGオブジェクトの構築方法はクラスと密接に関わってるから
必要なものを全部書くべきなのが当たり前。
0338デフォルトの名無しさん
NGNG>>128とかに例があるけど・・・
これがバグか仕様かは不明
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNGx[] = y[];
x[y.length..(y.length+zlength-1)] = z[];
でいいんでないかい?
0341デフォルトの名無しさん
NGNGx = y ~ z;
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG要望出してみると面白いね
0345デフォルトの名無しさん
NGNGあったら紹介してください mOm
0346デフォルトの名無しさん
NGNGstd.math
ttp://p17.aaacafe.ne.jp/%7Elabamba/?std.math
ぐぐればあっさり見つかるぞなもし
0347デフォルトの名無しさん
NGNGMatrixライブラリとか、数値積分とか、超長周期乱数の生成とか・・・etc は?
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNGうまい!ざぶとん1枚。
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGうまい!ざぶとん1枚。
0356デフォルトの名無しさん
NGNGとりあえずMersenne Twisterは移植されてるのでそれを使うよろし。
http://www.digitalmars.com/drn-bin/wwwnews?D/17878
0357デフォルトの名無しさん
NGNG>There is no else clause for a debug statement, as debug statements
> should add code, not subtract code.
の一文が消えてelseが付けられるようになっているみたいなんだけど、
ニュースグループでこの辺何か議論あったっけ?
0358デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0359デフォルトの名無しさん
NGNG(´ _ `)ゝハァ
0360デフォルトの名無しさん
NGNGメルセンヌ素数の19937だろ?これは証明はよく知らないけど、アルゴリズムは頻繁に使わせてもらってる。
超長周期乱数だな。gslとか ublas をいちいちリンクするのも億劫なので自分でC++に
実装してみたけどきめて簡単。M系列知ってりゃわずか10分程度で誰でも実装できる。
だから作っていただいてもあんまりありがたくないかも?
勉強がてらC++のマトリックスライブラリでも移植してみよかな。express template の
実装方法知らないから所詮オナニーツールにしかならんけどね。
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1082047479/728
D言語はC++もできなかったマヌケがやる言語だとよ。
0363デフォルトの名無しさん
NGNGスルーできんお前もアホ
0364デフォルトの名無しさん
NGNGそれをスルーできんお前は糞
0365デフォルトの名無しさん
NGNG言ってる事は当たってるだけに痛い・・・・・
0366デフォルトの名無しさん
NGNG余計なことをオートでやってくれてかつC++にあったわずらわしく不必要な
仕様を整理する目的でDがあるんだろ?
ガベコレもどきの機能をboost使えなんてが正常な状況か?
0367デフォルトの名無しさん
NGNGC++標準化委員会はわずらわしく不必要な仕様を整理するか
互換性を重視するかで、互換性を取った。
D言語が互換性をほぼ無視して整理する方を取ったんだろ。
そりゃすっきりして当たり前。でもC++にはCという強力で豊富
なライブラリがあったが、D言語は1からのスタートだろ。Java
とかC#とか新言語目白押しの現在、さぞ苦しいだろうなあ。
0368デフォルトの名無しさん
NGNGJavaは新言語ではないが、どちらかと言うとCとの互換性がない
点でD言語に似ている。
0369デフォルトの名無しさん
NGNGなんでasmを埋め込む仕様にしたか考えてみろ。
0370デフォルトの名無しさん
NGNGあの仕様草案みてるとC#よりもっとハード/システム寄りのことができてかつ
C#より洗練された感じ。
0371デフォルトの名無しさん
NGNGハードウェアを直接扱うことはできない。
0372デフォルトの名無しさん
NGNGはぁ〜という事はD言語はC系と同じくネイティブを吐く系なのね。
まあ知ってるけどな。今更作ってどうすんの〜って感じ。
そんなにまでしてM$に言語の利権買って欲しいのかねぇ。それ
ともLinuxで細々と極一部の言語マニアに愛されてマイナー路線
を行く、か?ププ
0373デフォルトの名無しさん
NGNGあたりまえだろが。そんなことも知らんかったのかい。
>まあ知ってるけどな
嘘つけ。
0374デフォルトの名無しさん
NGNG必死だなププププ
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG書いてて楽しい言語だから遊んでるんだよ
0377デフォルトの名無しさん
NGNG図星を突かれるとすぐ「必死」っていってごまかしますねw
0378367,372,374
NGNGそれを指摘されたのでムッとして皮肉しか言えなくなったんでちゅ。
御免なさい。
0379デフォルトの名無しさん
NGNG貴様の思考回路と一緒にしないで下さいますぅ?
0380デフォルトの名無しさん
NGNGあらぁ〜、俺最初から知ってて書いたのにまだそんなたわけた
事を・・・・・これだからD厨は(自己規制
0381デフォルトの名無しさん
NGNG>>380
D厨というか、単に煽って楽しんでるだけのバカだと思うが。
おそらく、Dは使えない。
0382デフォルトの名無しさん
NGNGああ、D言語を触っている香具師が>>378みたいなのばかりだと
思うと、言語の善し悪しより先に使っている人間が嫌いになって
しまうよ。
>>376みたいな香具師は好感が持てるんだが。
0383デフォルトの名無しさん
NGNG0384378
NGNGあほの節操なしとしか考えてないからな。
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGマイナー言語でオナニーするのは勝手だが、他の人間に迷惑をかけるな。
0387デフォルトの名無しさん
NGNGhttp://www14.org1.com/~puchinya/index.php?D%B8%C0%B8%ECImportLib
0388デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1082047479/
0389デフォルトの名無しさん
NGNGD 0.88では?
0390383
NGNG4時間前は0.87だったのよ。
あー、Walterタンさりげなく直してる。。。
http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/633
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG他所の言語を貶してる奴は自分の好みの言語すら使いこなせないアマグラマだけだ
0393デフォルトの名無しさん
NGNGまあ良い。おもしろいおもちゃだし。
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGガベコレに動作モードのレベル設定できるようになればほとんどCも食えるだろ。
0396デフォルトの名無しさん
NGNGAllegro - A game programming library
http://alleg.sourceforge.net/
ぐぐってみたけど、日本語で読める情報は全くと言っていいほど
存在しないみたい。海外だとSDLほどではないが人気があるのに。
0397デフォルトの名無しさん
NGNGある種の教育受けた奴は虚数単位を後ろにつけることを嫌うんだがな。
0398デフォルトの名無しさん
NGNGソフトだけでなくハードウェアの世界でもC++ベースのHDLが頓挫した今となっては
C++に置き換わる言語が求められてる。
0399デフォルトの名無しさん
NGNGんー、構文上の都合だろうね。
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNG文字が複雑なだけでそれ以外 (発音や構文なんか) はかなり単純な部類だよ。
0403デフォルトの名無しさん
NGNG>ある種の教育
俺のことだな。電気もしくは電子系では1+j1とか書くからな…
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG虚数単位を後ろに書くのはキモイよね。j->iでも構わないけどさ。
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGその通り。わかっちゃいるんだけどさ。
comples<double>(10,20)なんて書くよかずっといい。
0409デフォルトの名無しさん
NGNGa + biの形式。電気電子は前なのか…まぁ表記上の問題だろうけど
こういうの結構文化というか確執があるよな。
句読点の代わりにコンマとピリオドを使えとかいう文化とかな。
ウチのことだけどな。
ってここD言語スレか…
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG>句読点の代わりにコンマとピリオドを使えとかいう文化とかな。
理系の論文はたいていそうだよ。
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG日本語表示能力がイマイチだからね。
(使う文字の分だけ独自仕様のフォントを用意しないといけない。)
FreeTypeを組み合わせれば何とか実用にはなるが。
0415デフォルトの名無しさん
NGNG来るから仕方なしに",."で代用した。ところが情報系ののような新しい分野の書物
は下に位置するフォントもできたので"。、"で統一されてるものが多いはずだけどな。
情報系でほんとに後ろか?情報科学系はともかく情報工学っていうのはもともと電気系だぜ。
電気出身者が数多く教鞭とってるはずだ。単に気づいてないだけじゃないだろうね?
虚数単位はベクトルの基底と同じだから前に書く。そもそも数学関係の√(-1)という意味合いより
正弦波の\pi/2の位相ずれを表す意味合いが強い。real<-->cos(ωt),imag <--> -sin(ωt)複素平面の
図式を常に意識してa+jbと書く。iは電流に使われることが多いのでj使うがこっちは別にどっちでも
気にしないな。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGありがとう。
0418デフォルトの名無しさん
NGNG後ろについてると発疹が出て痒みで眠れないから
地球上から絶滅して欲しいんだってさ。
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGclass Class1{
int a;
}
void main()
{
auto Class1 autoClass1 = new Class1();
Class1 class1 = new Class1();
}
ってかけるが、そういうことではなく?
manual int p[]=new int[100];
とやっておくと、あとで、
delete p;
ってやりたいってこと?
普通に、int manualP[]=new int[100];
とでもして、
delete manualP;
とすればいいのでは?
0421デフォルトの名無しさん
NGNGhttp://www.digitalmars.com/d/mixin.html
http://www.kmonos.net/alang/d/mixin.html
北ーーーーーーーーー!!!
0422デフォルトの名無しさん
NGNG悪くは無いけど、スパゲッティ化しやすいようにも思う。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG昆虫採集が楽しみだね。えへへ…。DTLもmixinが付いた後に出るみたいだしね。
0425デフォルトの名無しさん
NGNGC++ のテンプレートだって賢いプリプロセッサだろ?
0426デフォルトの名無しさん
NGNGの繰り返し。
この人いつ消えてくれるのかなぁ。
0427デフォルトの名無しさん
NGNGハァ?ばっかじゃねーの
おまえは一生C++やってろ
0428デフォルトの名無しさん
NGNG反論できなんですね(ワラ
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGこの言語久々に仕様をみたら、だんだん気合が入ってきたな
マイクロソフトが採用するようなことがあったら、ちょっと追いたいね。
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGhttp://www.skyhunter.com/marcs/ewalnut.html
0434デフォルトの名無しさん
NGNGなにがすごいの?
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGF-Z言語
http://www.kmonos.net/alang/abc/
0437デフォルトの名無しさん
NGNGコンパイルするのにライブラリのソースが必要な言語に、プロプライエタリな企業が乗ってくるとは思えないのだが。
0438デフォルトの名無しさん
NGNG?
別にC/C++と同じで、関数とクラスの宣言さえあれば中身のソースは要らんのだが…。
そりゃ、今のところオープンソースのライブラリしか書いてる人いないけど。
0439デフォルトの名無しさん
NGNGtemplate はソース要るでしょ? もちろんC++でも要るんだけど。
一方、.NET generics や Java generics では要らないわけで。(できることも少ないけど)
0440デフォルトの名無しさん
NGNG自分でおかしなこと言ってると思わないか?
C++もDも必要な場合があるなら
MSがC++を採用してDを採用しない理由にはなってないだろ。
0441デフォルトの名無しさん
NGNGC++を採用してDを採用しない理由にはなってないが、
C#を採用してDを採用しない理由にはなるだろう?
0442デフォルトの名無しさん
NGNG>>437見てみなよ。
「コンパイルするのにライブラリのソースが必要な言語」に
C++もDも含まれるなら、C++に乗ったMSがDに乗ってくると思えないことは無いでしょ。
0443デフォルトの名無しさん
NGNGコンパイルするのにソースが必要かどうかなんてどーでもいいような気がするが。
0444デフォルトの名無しさん
NGNGつーか、MFCとか、無くてもいいのにソース付属してるし
0445デフォルトの名無しさん
NGNG自分に使いやすく改造してからでないとMFCなんぞとても使えん。
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGけど、クラスを第一引数にしては駄目で、配列を第一引数にするとその配列のメソッド
のように使えるってことは分かった。
std.stringのjoinとかsplitとかperlとかと引数の順番が変わってて、すべて、
文字列が最初に来るようになってるから仕様なんじゃないかと思う。
確認したかったら、ニュースグループに質問してみるしかないと思うけど、
英語苦手なので終わり。なさけなや。これじゃだめなので、英語書いてみる。
チェックしてみてください。機械翻訳ですが、、、。
split("a,b",","); is written to be "a,b".split(",");, and compile passes. Is this specification?
これでよければ、ニュースグループに投げてみます。
0449デフォルトの名無しさん
NGNGhttp://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/1295
<[email protected]>
この話題でしょ?
0450448
NGNGなるほど。ニュースグループ読んでないのでわかりませんでした。
はずかしー。
読んでみましたが、分からないし悔しい。
すいませんが、どういったないようだったか教えてください。
なんだか、教えて君になっててやだなぁ。
0451デフォルトの名無しさん
NGNG前略
「これは非常に涼しいと私は考えます。」
以下略
0452デフォルトの名無しさん
NGNG0453448
NGNGビーバス&バッドヘッドで何度も聞いたんで。
大好きな単語だよ。
チャーリーって誰?
声しか聞こえない正体不明の人?
で、仕様なんですか?わかんねぇよう。
Thanks,
448
0454デフォルトの名無しさん
NGNGimport std.c.stdio;
int main(){
hoge();
return 0;
}
void hoge(){
void hoge(){ printf("hoge\n"); }
hoge(); // どっちのhoge()を呼んでいる?
}
――実行例――――――――
hoge
―――――――――――――
dmd v0.88で確認。
名前解決できずにコンパイルエラー、にはならないのかな。
あと全然上の話題とは関係ないけれど、先日yaneSDK4Dのytl/vectorで-releaseオプションを付けないでビルドするとリンクエラーが出る症状に出会ってしまって
原因を特定するまで延々とハマってました。まる。
0455ヽ(´ー`)ノ ◆.ogCuANUcE
NGNG普通に考えたら scope 的に近い、関数内関数の方だと思う。
class A {
int x;
this(int x) {
// x は 引き数の x
this.x = x;
}
}
…と同じ問題と考えれば納得行くかと。
// this に相当するモノがないから、recursive call したい時に困る気がするが。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG基底クラスのメンバ関数を明示的に、ならクラスの識別子を使う
0458デフォルトの名無しさん
NGNGif(test && test){ }
return 0;
}
bool test(){
return true;
}
======================================
test.d(2): bit() does not have a boolean value
プロパティ使うのに困る。
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG結構ありきたりなのかな?
0461デフォルトの名無しさん
NGNG単なる define じゃん。スコープもひとつ持ち上がるし、混乱の元になると思う。
0462デフォルトの名無しさん
NGNGライブラリさっぱりな現状でも1を名乗って大丈夫なの?
趣味グラマ希望の星のDだけにちょっと心配
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNGなんかobject.dのコンパイルがうまくいきません。
class ClassInfo : Object のコンパイルで死んでる?
0471470
NGNGdmd -c object.dでコンパイル出来ます?
src/phobos/object.d って奴です。
自分の使ったコンパイラは0.90の物で、コンパイル時に
Assertion failure: '!needThis()' on line 135 in file 'tocsym.c'
abnormal program termination
というエラーが出ます。
0472デフォルトの名無しさん
NGNGDのことは初心者だけど、
同じことを試してみたら、同様のエラーになりました。参考までに。
0474デフォルトの名無しさん
NGNGdのfrontendでやってることと同じようなことをやればいいのではないかと思います。
cygwin用のものなら作りました。
きっと、autoconfとかわからないとつらいんだと思いますが、、、。
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNGいや便利かどうかはさておいて。
0480本7
NGNGとりあえず俺はC+GC+クラスって以上の使い方は避けるようにするが。
いちおう期待してるんで仕事で使ってみて実戦テストしてみるけど。
Dを採用して金になる方法を作らねばな。
0481デフォルトの名無しさん
NGNGD言語って何ですか?C言語の間違いですか?
0482デフォルトの名無しさん
NGNG立場的には安定性のあるDelphyみたいな扱いか。
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNG> there can be only one opCast per struct or class.
うーん、、、
0485デフォルトの名無しさん
NGNGVisualC1.0が完璧だったと?
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGうちの会社にはなぜかVC++1.5がなくていつまでもVC++1.0
MS-DOSやWin16用のコンパイル環境としてしばらく重宝してたっけな
さすがに最近はつかわないけどね
>>486
Windows2000のことなら実質WNT5だから
もともとマシだったと思うけど
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNGかぶりまくりでとても流行る気がしない
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNGトランスレーター作れよ
0494デフォルトの名無しさん
NGNGトランスレーター作れよ
0495デフォルトの名無しさん
NGNGSWTと同じようなラッピングが主体?
0496デフォルトの名無しさん
NGNGんなもんD自体にあるわけないだろ
0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGRubyとかも気象庁とかで使われてたとかって話があったような
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGcygwin->freeBSD用のクロスコンパイラの作り方をまとめました。
aaacafeで使えます。
D言語用に作ったのですが、c,c++も動きます。c,c++だけにしたければオプションでそうできます。
http://www.wikiroom.com/sakurai/?freebsd%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB
参考にしてください。
また、クロスコンパイラのバイナリ配信をしています。
http://www.wikiroom.com/sakurai/?freebsd%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9%A5%D0%A5%A4%A5%CA%A5%EA
c,c++,dをfreebsd用にコンパイルできます。
linux用も作ろうと思っていますが先人の知恵があるのでこれ理解してからにしようと思っています。
インストール手順もずっと楽になりました。
これで、問題のあるCGI作ってサーバー止めたりするようなCGI作らないでくださいね。
0502デフォルトの名無しさん
NGNGそんな事実はない。
0503デフォルトの名無しさん
NGNGttp://ruby.gfd-dennou.org/workshop200303/
0504デフォルトの名無しさん
NGNG>>502がどっちに対していったのかは知らないが、>>499の2行目はともかく1行目は事実だろ。
有料なら商用、無料なら非商用。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGJcodeの一部分をほとんどコピペで終わらせてるので、
DJcodeのライセンスをしっかりしたいのですが、よくわからないのです。
0508デフォルトの名無しさん
NGNGなぜNYSLが出てくるか分からないが、PerlのライセンスはGPLと
ArtisticLicenseのデュアルライセンス。後者は修正したら元と同じ
名前は使っちゃだめよ、という感じ(タブン
詳しくは自分で調べてくれ...
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNGk ~= 1;
k ~= 1;
printf("%d\n",k[0]);
printf("%d\n",k[1]);
実行結果
1
0
バグってる?
俺のミス?
0511デフォルトの名無しさん
NGNGじゃないのか?
0512デフォルトの名無しさん
NGNGpop()にあたる処理はどう書くの?deleteじゃないと無理?
0513デフォルトの名無しさん
NGNGそれを応用してぇ。。。とか
0514デフォルトの名無しさん
NGNGついでにDMDどーなったかなーと思って公式行ってみたら
Mixin実装されてやんの。
俺的にはキターーーーーーーーー!
だったんだけど、このスレに来たらみんなさめまくりだし。
0515デフォルトの名無しさん
NGNGvoid main(){
bit[] k;
for(int i=0;i<8*20;i++)
k ~= 1,printf("%d ",k[i]);
}
これを動かしてみよう。
0516デフォルトの名無しさん
NGNGうれしい改善点が多い。
0517デフォルトの名無しさん
NGNGおお、本当だ。
キタ━━━━━━(゚∀゚)━━━━━━ !!
What's New for D 0.92
Jun 4, 2004
New/Changed Features
Modified Object.toString() and Object.print() to print out the name of the object instance's class.
The Expression within an array's brackets is now an AssignExpression (meaning that commas are no longer allowed).
Added default arguments to function parameters. Semantics are like C++.
Added package attribute for package level access.
Added operator overloads opAdd_r, opMul_r, opAnd_r, opOr_r, and opXor_r.
Modified overloading rules so functionality can be added to the lvalue of an operator overload for user defined rvalues without needing to modify the lvalue's class.
Bugs Fixed
Fixed parsing bug in typeof(this).func();
Fixed nested multiple inheritance bug with interfaces.
Fixed compare() bug in typeinfo's for int and uint. Thanks to Stewart Gordon.
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG0521510
NGNG訳わからん、長さ伸ばして代入するわ。
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGあとDBまわりを強化して欲しい。
Apacheヘッダまわりは俺が担当するから。
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNGデフォルト引数にしろ、マクロ並みのテンプレートにしろ、バイナリ化はできないよね?
0530デフォルトの名無しさん
NGNG試した事ないから良く分からんけど
0531デフォルトの名無しさん
NGNGCにはデフォルト引数もテンプレートも無いですし。
0532デフォルトの名無しさん
NGNG使われる型の分だけクラスや関数を作るものじゃなかったっけ?
typeofとか駆使すればバリアブルに出来るのかなぁ
0533デフォルトの名無しさん
NGNGデフォルト引数の場合は、宣言のみのソースとともにコンパイルする。
module test;
void defaultvalue(int i = 20) { printf("%d\n",i);
というのからobjを作っておいて、
module test;
void defaultvalue(int i = 20);
というのを一緒にコンパイルする。
0534デフォルトの名無しさん
NGNG駄目駄目じゃん
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGこれは、誰かがソースから宣言だけを抜き出すツールを作ってくれれば解決するんだが・・・。
0538デフォルトの名無しさん
NGNG「宣言のみのソース」って、つまりヘッダファイルのことですか?
0539デフォルトの名無しさん
NGNGstd.fileとかをimportするとリンカがシンボルが重複しているとか言って怒る。
0540デフォルトの名無しさん
NGNGddocとかもほしいし、そういったことが作れる人が一人いればすむ話なんでしょうなぁ。
俺は、つくりたいけど、頭悪いので作れない派です。なさけなや。
せめて仕様だけでも、書いて置くと良いのかなと思ったりする今日この頃。
0541デフォルトの名無しさん
NGNGなんかトレンドに逆行してるな・・・
デフォルト引数の情報はobjが持つべきだろう。
思いつきの泥縄的に仕様追加していくとC++的混乱に陥るような。
0542デフォルトの名無しさん
NGNGobjに持ちようがないんですが、、、、
0543デフォルトの名無しさん
NGNGただ、どちらにせよそのobjを使用するための定義が必要なので
あまり意味はないと思われるが。
0544デフォルトの名無しさん
NGNGその定義がテキストである必要はまったくないが。
コンパイラがobjから直接読み取れればそれで十分。
まともなヘルプやドキュメンテーションツールとIDEがあるならね。
0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNGいまの状態じゃあそびにしかつかえんし。
それにしてもC#よくできてるぞ。
0547デフォルトの名無しさん
NGNGクラスhogeのプロパティhoge.proをforeachに食わせるとき、
foreach( ...; hoge.pro()){ ... }
としなければならなかったのが、
foreach( ... ; hoge.pro ){ ... }
と出来るようになってるな。
hoge.pro()と、プロパティを関数として呼び出せなくなってるがな。
修正マンドクセ(´A`)
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGでも、シームレスに扱えるのが特長だからいらんか。
0550デフォルトの名無しさん
NGNG契約のin-out-bodyみたく getter-setterで宣言できないものかね
0551デフォルトの名無しさん
NGNG/* getter */
}(int v){
/* setter */
}(double v){
/* setter */
}(int[] v){
/* setter */
}(temp!<int> v){
/* setter */
}
こうですか? 分かりません!
0552デフォルトの名無しさん
NGNGドキュメントによると、
class Hoge {
public int hogehoge;
}
Hoge hoge = new Hoge()
とあって、
hoge.hogehoge = 1;
と書いてあったとき、
class Hoge {
public:
int hogehoge() { return hage; }
void hogehoge(int i) { hage = i; }
private:
int hage;
}
と変更してもそのまま使えるとか書いてあった。
0553デフォルトの名無しさん
NGNGgetter { return m_n; }
setter { m_n=n; return this.hoge; }
}
こんな感じにしてほしいw
0554デフォルトの名無しさん
NGNGC#風やね。>>552 に対するメリットは?
0555デフォルトの名無しさん
NGNGvoid hogehoge(int i) { hage = i; }
がセッターを意図してないのに
hogehoge = 1 で通ってしまうような事はなくなるんじゃない?
0556デフォルトの名無しさん
NGNGC[1,2,3] = value;
opAssignIndex(type value,int index,int index2,int index3) { }
とかできるようになるのかなあ。。。
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGよって>>552(デフォルト)は却下だ!
そしてsetterは複数型のrvalueをとりうる。
よって>>553など却下だ!
>>551のどこに冗長性があるのか>>552に小一時間問い詰めたい。
0559デフォルトの名無しさん
NGNG今ようやく構文を理解したw
なるほど、面白いw
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGうーん、こうかぁ? ダサいな。
protected property public int hoge{ /* public getter */ }
(int v){ /* protected setter */ }
(double v){ /* protected setter */ }
public (int[] v){ /* public setter */ }
(temp!<int> v){ /* protected setter */ }
こっちかね。
protected:
property hoge{
public int{ /* public getter */ }
(int v){ /* protected setter */ }
(double v){ /* protected setter */ }
public:
(int[] v){ /* public setter */ }
(temp!<int> v){ /* public setter */ }
}
さあ泥沼の様相を呈して参りました。
0562デフォルトの名無しさん
NGNGgetter { return m_n; }
setter (int n) {}
protected:
setter (double n) {}
}
0563デフォルトの名無しさん
NGNGproperty int hoge{
/* hoge's getter */
property double moge{
/* moge's getter */
}(double v){
/* moge's setter */
// }
}(int v){
/* hoge's setter ? */
}
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGclass HogeArray {
public:
this(int i) { m_hoge.length = i; }
int opIndex(int i) { return m_hoge[i]; }
int opIndex(int i,int v) { return m_hoge[i] = v; }
private:
int[] m_hoge;
}
class Hoge {
public:
this(int i) { m_hogeArray = new HogeArray(i); }
HogeArray hoge() { return m_hogeArray; }
private:
HogeArray m_hogeArray;
}
int main() {
Hoge hoge = new Hoge(10);
hoge.hoge()[1] = 20; // ()が無いとダメ
printf("%d\n",hoge.hoge[1]);
return 0;
}
0566デフォルトの名無しさん
NGNGデフォルト引数が採用された以上は、ここら辺の仕様をきっちり作って欲しいな
0567デフォルトの名無しさん
NGNG例えば
http://www.digitalmars.com/drn-bin/wwwnews?D/28801
ここから続くスレとか。
0568デフォルトの名無しさん
NGNGで
hoge.setColor = 0x00FFFFFF;
が可能なのは何かやだな、慣れの問題?
0569デフォルトの名無しさん
NGNGそんなもん要らない
いい方にしか仕様は変わらないんだから、
それに合わせてコード直してやればいいだけの話。
0570デフォルトの名無しさん
NGNGじゃあ毎月60000行の修正よろしく。
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG[C]言語の間違いだろ?ネタ?
0573デフォルトの名無しさん
NGNG''"::::::::::::::::::::ヽ
\ ∠::::ノ│ヘ::::::::::::: ヽ|ヽ ====
\ / ● ゞ::::::::::゙ |、| ======
'\ ─:::∪:: |、|
∠::| X\ ● イ:::::|-| そんなエサで私がネヴァ――!!☆
∠::、(_/ "/:::i/⌒l
/\ ∪/::::i/ ̄/ =====
〈 `ー┬イ::::∠ _ノ ====
\ \_ネヴァダ \
0574デフォルトの名無しさん
NGNGリソース周りの扱いを紹介してるサンプルソースとかあったら教えてくだせぇ
0575デフォルトの名無しさん
NGNGGUI周りはまだ整ってない
0576デフォルトの名無しさん
NGNGそもそもGUIライブラリ自体が(ry
0577デフォルトの名無しさん
NGNG何かと不正終了を起こして使えなさ過ぎる・・・
何か他にオススメのIDEってあります?
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNGいい機会だからセレクト鯖でも作って見るよ。
0580デフォルトの名無しさん
NGNGライブラリは環境変数LIBに予め指定してあるのにどうして・・・おrz
0581デフォルトの名無しさん
NGNGmakefileの形式で吐いてくれるようなやつ。
0582580
NGNG0583デフォルトの名無しさん
NGNGほぼそのままCをラップしてますな。
こういうところはDの配列スライスが嬉しいね。
0584583
NGNG英語できたら要望だしたところだが・・・
0585デフォルトの名無しさん
NGNG古いのに戻したくても置いてないからどうしようもないし。
ところで、公式の所のyahooのグループって誰か見てる人いる?
日本語の対応予定とかどうなってんだろ。
0586デフォルトの名無しさん
NGNGhttp://www.kmonos.net/alang/etc/d.php#install
C:\standalone\dlanguage\dmd にD言語コンパイラを置いた。dmもあれで上書きした。
コンパイルしてみたら早速こんなメッセージが出た。
C:\users\test\D>dmd hoge.d
Error: Error reading file 'c\stdio.d'
import c.stdio;が原因なのかと思い、これを取り除いた。すると、
C:\users\test\D>dmd hoge.d
C:\standalone\dlanguage\dmd\bin\..\..\dm\bin\link.exe hoge,,,user32+kernel32/noi
;
C:\users\test\D>
となってコンパイルできたらしい。hoge.exeではろわーるどが出た。
c.stdioが激しく気になってしまう。なんすかこれは?
0587デフォルトの名無しさん
NGNGimport stream;のやつをやってみたんだが、
C:\users\test\D>dmd hoge2.d
Error: Error reading file 'stream.d'
だってよ。JavaとかみたいにCLASSPATH指定みたいなのがいるのか?
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGimport std.c.stdio; //Cのstdioを直接ラップしたモジュール
import std.stream; //D版のC++ iostreamみたなもん
0590デフォルトの名無しさん
NGNGもしかしてコピコン作ったクラスだけしかコピーできない?
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNGデータの集約したいなら構造体使うほうが理に適っていると思うがどうか。
0593デフォルトの名無しさん
NGNGデザパタのプロトタイプパターンがしたいのだが。
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNGクラス構造しだいだろ
0596デフォルトの名無しさん
NGNGkqueueなんかをどうSocketクラスと結び付けるかが難しい・・・
0597デフォルトの名無しさん
NGNGこれならthreadの方がまだマシか?
0598デフォルトの名無しさん
NGNGJavaのObject#clone()でもやんの?
D言語には無い?
0599デフォルトの名無しさん
NGNG(・∀・)サンクス ウゴイタンス!
0600デフォルトの名無しさん
NGNG今時構造体なんか……使っていられるかw
0601デフォルトの名無しさん
NGNG不変クラスにすれば簡単にできる
0602デフォルトの名無しさん
NGNG> JavaのObject#clone()でもやんの?
> D言語には無い?
ないね。
0603デフォルトの名無しさん
NGNG作る側の問題じゃなくて作られたもののコピーの話でしょう。
0604デフォルトの名無しさん
NGNG俺は、単純な矩形をクラスで管理したくはないな。
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNGshallow copyがお手軽に出来るという利点もある
0608デフォルトの名無しさん
NGNG一連の流れを見るにまだライブラリが弱すぎて使えないみたいだね
boostのようなライブラリが登場するのはいつからかな
0609デフォルトの名無しさん
NGNGCloneableインターフェースも実装できないのか?
0610デフォルトの名無しさん
NGNGboost の中の何を期待しているんだ?
幾つかの機能は既に言語仕様やphobosに取り込まれてるだろ?
0611デフォルトの名無しさん
NGNGカプセル化できんし他人に勝手に継承されるし
あぶないやんか
0612デフォルトの名無しさん
NGNGdeepでなくて?
0613デフォルトの名無しさん
NGNG配列がchar[] hogeだったらshallowにならへん?
0614デフォルトの名無しさん
NGNGいろいろあるんだよ、角度とか
0615デフォルトの名無しさん
NGNGkqueueやdev/pollをラップした強力なライブラリが実装できるなら・・・
0616デフォルトの名無しさん
NGNG作って。オナガイ。
質問
template Loop(int n:0, alias X) {
void f() {}
}
template Loop(int n, alias X) {
void f() { X(); Loop!(n-1,X).f(); }
}
これコンパイルできない理由というか背景を教えてくれー
0617616
NGNGvoid g() { printf("hoge\n"); }
int main() { Loop!(5, g).f(); }
Loop!(0,g)にマッチするテンプレートがひとつ以上ある、と怒られる。
0618デフォルトの名無しさん
NGNG// template Loop(int n:0, alias X) {
aliasがここにあるのはいいの?
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG>int n:0
こんなこと出来るの?
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGconst factorial = 24 をどこかでたくさん生成したのか?
わかんないから、やねうらお氏あたりが教えてくれるのを待とう(こら
0623デフォルトの名無しさん
NGNGenum {abc = 2}
enum {abc = 3}
enum {abc = 4}
enum {abc = 5}
enum {abc = 6}
int main()
{
printf("%d",abc);
return 0;
}
としてもabcは1が帰ってくるね・・・うーむw
0624デフォルトの名無しさん
NGNGそれはまずい仕様だね。コンパイルエラーが妥当だと思う。
>>619
おいらにはそらそうだろう、ってほど直感的じゃない。
template Loop2(int N:0, T) {
void f() {}
}
template Loop2(int N, T) {
void f() { (new T)(); Loop2!(N-1, T).f(); }
}
class Hello { void opCall() { printf("hello\n"); } }
int main()
{
printf("start\n");
Loop2!(5, Hello).f();
return 0;
}
Loop2がよくてLoopがダメな理由がよく分からないという話。
>>618 >>620 仕様書読んでくれ。
0625デフォルトの名無しさん
NGNGWikiあたりに誰か投稿してくれー
0626デフォルトの名無しさん
NGNGaliasパラメタによって、テンプレートの引数に様々な D のシンボルを受け取るようにできます。
alias パラメタに使えるシンボルはグローバル名と型名、テンプレート名、 テンプレートインスタンスの名前で、ローカル名は使用できません。
この機能は、C++におけるテンプレート・テンプレート引数の拡張版となっています。
関数は「型」じゃないとかそういう制約か?
0627デフォルトの名無しさん
NGNG//is_same_symbolはコンパイルタイムに決まる定数
int x=1; alias x ax; alias ax aax; int y = x;
printf("%d\n", is_same_symbol(x,ax)); // 1
printf("%d\n", is_same_symbol(x,aax)); // 1
printf("%d\n", is_same_symbol(x,y)); // 0
is_type(alias X), is_constant(alias X)もあれば嬉しいかな〜。
is_template, is_template_instanceもあってもいいかも。
テンプレートの特殊化で直接指定できたほうがいいかな。
template(type_alias X) {...} // type_aliasはaliasの特殊化として扱われる
// Xが型でなければマッチに失敗。
template(aliax X;=x) {...} // Xがxと同一シンボルならマッチ
そんな機能何に使うのってきかれると、答えに詰まっちゃうけどね。
0628デフォルトの名無しさん
NGNGtemplate Hoge(void function() fx){} ではダメみたい
0629デフォルトの名無しさん
NGNG単純にaliasパラメタからaliasパラメタに値が渡せないだけじゃないかな
alias alias def_alias;ってやってもコンパイルできないし
0630デフォルトの名無しさん
NGNGこのままだとリークしっぱなしだから、fullCollect()をループの最後に挿入。
タスクマネージャでプロセスを眺めてもメモリ使用量がほぼ一定してるのが分かる。
0631デフォルトの名無しさん
NGNG仕様上はメモリリークじゃないよ。解放の遅延。
0632デフォルトの名無しさん
NGNGベータだからなのか、凡ミスなのか。
template Cons(T, U) {
struct Cons {
alias T type;
alias U next;
}
}
alias Cons!(char, Nil) Char;
alias Cons!(short, Char) Short;
alias Short.next.type A; //no property 'type' for type 'Cons'
int main() { return A.max; }
0633632
NGNG0634デフォルトの名無しさん
NGNGstruct Cons {
T type;
U next;
}
}
struct NullCons {
int type = -1;
int next = -1;
}
Cons!(int,Cons!(int,NullCons)) WINT;
int main()
{
printf("NullCons %d",WINT.next.next);
typeof(WINT.type) myInt = 3;
return myInt;
}
こういう使い方なら正しく動いた。
632氏のお望みの処理かは不明だけどw
0635デフォルトの名無しさん
NGNGint type;
Cons!(int,Cons!(int,typeof(this))) next;
}
にすれば循環するっぽいが、structは実体を持つはずなのになんで?w
0636デフォルトの名無しさん
NGNGよりLightweightに、いろんなOSで動かしてテストしやすいようにしたいとか、そういうことであれば、
Dより、Rubyとかのほうがいいんじゃないかね。ライブラリも揃ってるし。
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNG知らないからアホなこと言ってるかも知れんけど
0639デフォルトの名無しさん
NGNGランタイムも何もRubyってインタプリタ言語じゃなかったっけ?
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNGPARSEC47をコンパイルしたいんですが、unstableすぎるのか現行のだとコンパイルできないんで…
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0644デフォルトの名無しさん
NGNGパフォーマンスと手軽さを考えた場合
DでCGI書くのは結構いいかも知れない。
0645デフォルトの名無しさん
NGNGサーバーとしてはHTTPDで無ければいけると思われ
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGlibってC版ならそのまま使えるんだっけか?
0648デフォルトの名無しさん
NGNGv.0.74 と 0.79, 0.80 なら持っているが、PERSEC47っていくつでコンパイルできたっけか。
0649デフォルトの名無しさん
NGNG素直にperlかphpにしとけよ
つかCGIじゃなくていいんならJavaか.NETにしとけ
下らない仕事は手軽に片付けてナンボだ
いちいちセッションハンドリングだのクラスタリングだのの面倒みたいか?今更
俺はC++で書かれたCGIコードの移植をさせられて反吐が出そうになったぞ
しかもパフォーマンスが出ないからといってRPCまで使ってやがる
0650デフォルトの名無しさん
NGNG> つかCGIじゃなくていいんならJavaか.NETにしとけ
意味不明なのだが
0651デフォルトの名無しさん
NGNGらくで
効率もよくて
ウンザリするほど周辺環境がととのっていて
サンプルも豊富だから
そんだけ
0652デフォルトの名無しさん
NGNG「意味不明」の理由が何となく分かった
Javaや.NETでもCGIプログラムは作れるけど、意味はない
ふつーはservletやjspやASP.NET(WebForm)やWebServiceだ
「そのようなもののコンテナを利用できるなら」という意味だよ
「CGIでなくていいなら」という意味は
0653デフォルトの名無しさん
NGNGうちはFreeBSD鯖を借りてて、telnet経由でcgi作れるからDは歓迎
まあ自宅鯖ならApache+mod_perl一択だな
0654デフォルトの名無しさん
NGNG好き勝手にバイナリ動かせる鯖もそうないだろ。
Dのバイナリ動かせるならJREも突っ込めそうな気が。
0655デフォルトの名無しさん
NGNG鯖の為に出来る作業はコンパイルだけさぁ
0656デフォルトの名無しさん
NGNGLokiやboostのTypeListもどきを作ろうとしてたのでちと違う。
>>635
循環してないよ、それ。循環って↓見たいなやつのことでしょ?
struct Hoge { Hoge hoge; }
635の中のtypeof(this)はNullConsのポインタ型だと思う。
0657デフォルトの名無しさん
NGNGCやC++と違ってperlや、rubyと同様の分かりやすいソースでいけるし、
ネイティブだから起動が高速だ。
クロスコンパイルして、UPすれば、freebsdで無料鯖のaaacafeで公開できる。
いいと思うんだけど。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNGアプリケーションサーバーがついてこないといけない。
PerlやPHPは手軽だけど遅い。
CやC++は高速だが、煩雑もしくは、高度なプログラミング知識が必要になる。
Dは、CやC++の後継でCやC++でCGIを作る煩雑な部分を肩代わりしてくれる。
高速CGIを作るにはDが向いていると思う。
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGそれらが使えない鯖での負荷削減として有用なのがDって程度だよ
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNG実際にやりたいのはCからというより、Cへのインタフェースを
持っている他のスクリプト言語などから使うことなのですが。
0664デフォルトの名無しさん
NGNGその辺ネイティブバイナリとCとの互換性が効いてくるような
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNGextern(C) で作ればいけるんじゃないかな。
0668デフォルトの名無しさん
NGNGそれはすごく嫌だなあ
apacheのpool managedな空間に異物が入り込むわけだよね
moduleだからインプロセスで実行される訳だし
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG作ってくれることを希望。ほとんどCGIと同じ書き方ですむとうれしいな。
0671デフォルトの名無しさん
NGNGごく普通に思いつくのは、クラス定義にテンプレートをmixinして
侵入型のリストの実装を埋め込むとか?
基本的には#defineで出来たようなことしか思いつかない。
0672デフォルトの名無しさん
NGNGtemplate MixinTree(alias compare) {
private typeof(this)m_left;
private typeof(this)m_right;
void insert(typeof(this) obj) {
if( compare(this, obj) ) {
if( m_left is null ) m_left = obj; else m_left.insert(obj);
}
else {
if( m_right is null ) m_right = obj; else m_right.insert(obj);
}
}
typeof(this)[] toArray() {
typeof(this)[] ret;
if( m_left !== null ) ret ~= m_left.toArray();
ret ~= this;
if( m_right !== null ) ret ~= m_right.toArray();
return ret;
}
}
0673デフォルトの名無しさん
NGNGint n;
this(int n) { this.n = n; }
static int compare(Hoge a, Hoge b) { return a.n > b.n; }// 無名で渡すとリンクに失敗する
mixin MixinTree!(Hoge.compare);
}
int main() {
Hoge h1 = new Hoge(1); Hoge h2 = new Hoge(2);
Hoge h3 = new Hoge(3); Hoge h4 = new Hoge(4);
h2.insert(h4); h2.insert(h1); h2.insert(h3);
Hoge[] ha = h2.toArray();
foreach( Hoge h; ha ) { printf("%d\n", h.n); }
return 0;
}
陳腐な例でスマソ(typeof(this)のおかげで何とかなるのね)。
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNGいや、人のは読めるけどね。書けないんだ。
モダンプログラミングは俺には難しいよ orz
0676デフォルトの名無しさん
NGNGそのブロック内でのみC++ライクなnew&deleteが行われる仕様。
0677デフォルトの名無しさん
NGNGつーか、組み込みでもないのに、GCをそこまで細かく制御する必要がある用途って何?
GCに対して「大きなお世話」な気がするんだが。
0678デフォルトの名無しさん
NGNGC++ライクなnew&deleteは「GCに回収させる」って言わない気が。
要するに今のautoで出来ることを欲しいって言ってるんじゃ?
(>>676は仕様読んでないのかも)
ただautoのdeleteのタイミングはブロックの終わりじゃなくて、
関数が戻るタイミングだった気がするので、その辺は無理かも。
0679デフォルトの名無しさん
NGNG実際のメモリ回収がいつ行われるかは保証されてないと。
関係ないけど、_argptrと_argumentsは、__argptrと__argumentsにして欲しかったな。
0680デフォルトの名無しさん
NGNGdeleteはデストラクタ+ガベコレ
なの?
0681680
NGNGautoはスコープの終わりにデストラクタ呼び出し
deleteは即時デストラクタ呼び出し+ガベコレ
deleteの仕様が良く分からない
0682678
NGNGそかそか、勘違いしてた。というわけで>>676の言いたいこともよく分かった。
>>680
たしかdeleteもデストラクタが呼び出されることしか保証してないんじゃないかな。
(要するにメモリーの回収は後回し)
現状delete呼ぶとvptrまで破壊するみたいで、
deleteされたオブジェクトにアクセスすると落ちちゃうけどね・・・。
またいい加減なこと言ってたりして・・・。
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNGchar[]とかクラスではどうしようもなくGC待ちに成りそうなんだけど
0685デフォルトの名無しさん
NGNGつまり、便利な機能を使うにはGC必須と。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGゲームやサーバーだとあると嬉しい機能なんだが
0689デフォルトの名無しさん
NGNGしょうがない、この板はゲーム専用の板ではないから
ゲームなど余り考えられてない。
特に、まだver1が出てないコンパイラについては仕方ないことだと思われ
前に無知な香具師がゲームをバカにしてたしな
#define release(a) a->Release()
と同じような機能が欲しい
って言ったら
テンプレート使えばいいじゃとか言ってな
テンプレートにするとまた別々に型ごと宣言せなあかんから大変だってね。
それもゲームについて考えてないどころかDについてすら知らないってことだったんだな。
0690デフォルトの名無しさん
NGNG???
0691デフォルトの名無しさん
NGNGヒープを別に確保すれば可能だと思う(効率は知らんが)
0692デフォルトの名無しさん
NGNGD言語でデスクトップを作る事は可能?
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNGWin32APIを叩けるならなんでもいいんじゃない?
ということでスレ違い。ちなみに、普通デスクトップではなく、シェルと呼ぶのでは?
0695デフォルトの名無しさん
NGNGD Memoでお勉強しようと思いますが現状お勧めのサイトあったら
おせーてください。
ところでこれは既出なのでせうか。
Phobos D Runtime Library 日本語訳
ttp://hp.vector.co.jp/authors/VA031566/d_direct3d9/prframe.html
0696デフォルトの名無しさん
NGNGオススメはdmdをDLするとサンプルソースが付いてくるので、それを覗くのが手っ取り早いかと。
基本的にC++に良く似てるので、ざっと仕様に目を通してサンプルと見比べるだけで導入完了です。
ちなみにそのリンク先は、日本訳リファレンスの訳者本人が、フレームに切りなおしたページのようですね。
フレームの切りなおしはWikiでもやってるので、好みで使い分けるのがよいかと。
0697デフォルトの名無しさん
NGNG資料が少なく先は難航しそうだw
0698デフォルトの名無しさん
NGNGほほぅ。了解。ってことでサンプル実行・・
って、エラーでまくりですなorz
castとsizeofが割とあたらしいキーワードですかな。
C++はぼんやりとしか知らないんですが
仕様とサンプルとにらめっこしてみまする。
>>697
俺も使ってみたいSDL
0699デフォルトの名無しさん
NGNGちなみにD Memoは古いので他のところを参照しましょう。
0700デフォルトの名無しさん
NGNGo.set = 10;
のように使えること=クラスのプロパティと解釈したのだけど
void func(int x){printf("%d", x);}のようなメソッドも
o.func = 10; みたいに扱えてしまうというのは
いったいどういうことなんでしょうかと・・。
あと、型の項の算術演算時の変換で
ulong ul=100000L;
byte b=-100;
printf("%d", ul+b);は
ulong型に変換されてエライことになるんでは・・と思ったけど
試すと99900というのはこれいかに。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGなるほど、そうなんでつね。
>>694
Shellは別個でデスクトップだけ再現したいからシェルではないです。
0703デフォルトの名無しさん
NGNGちょっと上にも似たような話題があるが、要するにプロパティ自体が構文糖なんじゃないかと。
関数の名前で逃げるとすれば、名詞=プロパティ、動詞=メソッドという考え方が
マッチすると思う。
下の方のやつは、Cの可変個引数だから、intに変換されてるとかじゃない?
>>702
まあ、Win32APIスレとかで聞いたほうがいいんじゃね?
0704デフォルトの名無しさん
NGNGフリーのを探してみるか
0705デフォルトの名無しさん
NGNGただし、ヘッダファイルは使えない・・・ので、Dのソースに書き換える必要がある。
0706デフォルトの名無しさん
NGNG何がかわったのかしら。
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNG暗記してる人は平気なのかも知れないが
0709デフォルトの名無しさん
NGNG自分はxyzzyを使って、
dabbrev-expandと、d-modeのキーワードに色々登録して補完機能でバシバシやってますけど、
駄目かな。
0710デフォルトの名無しさん
NGNG聞いたことあるけど触った事なかったな
良さそうだったらサクラエディタから乗り換えます
ども。
0711デフォルトの名無しさん
NGNG色分けと補完くらいならサクラエディタでもできるじゃん。
0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGeclipseDの評判が悪かったからスルーしてた。
0715デフォルトの名無しさん
NGNG補完機能+makeなどを利用したコンパイルができるようになれば
乗り換えるかも
0716デフォルトの名無しさん
NGNGかと言ってDスクリプトを作るとなると途方もなさそうだがw
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG今のところも何も、CDTみたいな後ろ盾があるわけじゃないから
誰かがやらない限り誰もやらない。
0719デフォルトの名無しさん
NGNG誰かがやらない限り何も動かん
0720デフォルトの名無しさん
NGNGもしかしてstd.c.windows.windowsって不完全?
0721デフォルトの名無しさん
NGNGもしかしなくても不完全。
http://hp.vector.co.jp/authors/VA028375/d/windows.h.html
とか使うべし
0722デフォルトの名無しさん
NGNG素敵。あなたもリンク先も。
0723デフォルトの名無しさん
NGNGそうすれば
case 1:を
case1:
とかで失敗しない。
caseだけは例外で許可、だけどcaseが文頭に来るラベルは禁止。
これでcaseラベル問題解決しない?
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNGセンスの悪さはC++に勝るとも劣らないな。
0726デフォルトの名無しさん
NGNGぱっとみコンパイラのバグだろうから、仕様としてあわせる必要は無い気がする
0727デフォルトの名無しさん
NGNG何かも知らないのに答えをだすとはさすが
0728デフォルトの名無しさん
NGNGcase1:
でラベル扱いされるって話?
俺もどういう話なのかよくわかんない教えてください。
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGねちねちとswitch文のソース書いて試してみたが
特に困りそうな気はしないが・・
何が問題なの教えてplz ・゚・(ノД`)・゚・
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGみたいなことってできませんか?
0733デフォルトの名無しさん
NGNG使えないね。
コンパイルしようとすると.sizeプロパティはだめぽ、.sizeof使ってちょ
とメッセージが。
はぁ、どうしよう、コンパイラのバージョン落とすくらいしか対応策
なし?
0734デフォルトの名無しさん
NGNGgrepしてreplaceすればOK
0735デフォルトの名無しさん
NGNGんまぁ確かにそうなんだけど…めんどくせぇ。
いや、Portingしてくれてる人のほうがめんどくせぇと思ってるんで
しょうが…やっぱり発展途上のはこういった問題が付きまとうねぇ。
これはこれで面白いからいいんだけどさ。
0736デフォルトの名無しさん
NGNGdmd -d でいいんでないの?いや、避けたいのはわかるけど。
0737デフォルトの名無しさん
NGNGほんとだ、すっかり忘れてた。
既に置換しちゃったよ…まぁいいか。
0738デフォルトの名無しさん
NGNGCreateWindowExの引数にthisを渡す方法があると思うけど
それってD言語だとどうやるんでしょう?
マニュアル読んでみたけどそういった記述が見つからんです。
0739デフォルトの名無しさん
NGNG本当にすまんかった、吊ってくる。
0740デフォルトの名無しさん
NGNGMFC式に、外部にmapを持っておくほうが安心じゃないか?
0741デフォルトの名無しさん
NGNGSetProp以外が参照しなくなったときに回収されちゃうってことですかね?
MFCは大昔に使ったっきりなんでよくわからないんですが、マッピング用
の外部クラスなりを用意したほうが安全ってこと?
0742デフォルトの名無しさん
NGNGいや、SetProp(に限らないが)に渡したポインタも自分で保持していないと、
GCによって回収されてしまうことがあるということ。
APIに渡したということをGCは認識してくれないので、、、
ついでにDMD 0.95リリースされたね。
型安全なprintf・・・
0743デフォルトの名無しさん
NGNGなんつって全然つかってないんだけど一応ねヾ(´ー`;)
0744デフォルトの名無しさん
NGNG正しいライプラリじゃないよ!っていうエラーメッセージが出てリンクでけん。
D言語でゲーム作ってみようと思ってたけど、まだ無理かなぁ。
SDLとOpenGLのほうは動くんだけど・・・・・・。
>dmd playmus.d SDL.lib SDL_mixer.lib
Error43: Not a Valid Library File
--- errorlevel 1
0745デフォルトの名無しさん
NGNGその.libはちゃんとimplibした奴だろうね?
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNGttp://www.kmonos.net/alang/d/pretod.html
0750デフォルトの名無しさん
NGNGDはマクロとして展開されずにそのまま解析に入るからプリプロセッサはない(と思う)
都合2回以上全文解析する必要の有るプリプロセッサよりは速いだろうというのは確か
0751デフォルトの名無しさん
NGNG>>749
0752デフォルトの名無しさん
NGNGDは条件コンパイルをサポートします:
バージョン固有の機能の、固有のモジュールへの分離。
debug文による、 冗長な文字出力などのデバッグ用コードのon/off。
version文による、 一つのソースからの複数の異なったプログラムの生成。
if (0) 文。
ネスト可能なブロックコメント /+ +/ によるコードのコメントアウト。
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNGDLLならJavaみたく鯖を稼動したまま指しかえれる可能性もあるわけだ
0756デフォルトの名無しさん
NGNGC/C++から取り除かれた特徴として
プリプロセッサがあがっています。
機能上プリプロセッサに似ているが
言語の仕様としてとりいれられたものに
debug、version
見た目上プリプロセッサに似ているものとして
特殊トークン列#line
などがあるようです。
などと書いているうちに先をこされましたが
とりあえず投稿しちゃいます。
詳しいことはわたしには聞かないでください。。。
0757デフォルトの名無しさん
NGNGここ見たほうがはやかったです。
詳しいことはわたしにはきかないでください。。。
0759デフォルトの名無しさん
NGNGD言語内で俺言語を作ったりできるのかなぁと言う事なのよ。
例えばPerl風のforeach構文が欲しいなぁか思ったら、自由に
構文追加できたりできるのかね?D言語とやらは。
0760デフォルトの名無しさん
NGNG意味不明なのだが、言語仕様を独自に作るならコンパイラ毎作れば?
0761デフォルトの名無しさん
NGNGできません。帰ってください。
0762デフォルトの名無しさん
NGNG作者アフォだから今ならプロジェクトのっとれるよ。
0763デフォルトの名無しさん
NGNGそしてメジャーになれるのかね?
0764デフォルトの名無しさん
NGNGメジャーになるかどうかはプラットフォーム非依存なIDEが出るかどうかによる
0765名無しさん@そうだ選挙に行こう
NGNGDWT はいつ出るんだ。
0766名無しさん@そうだ選挙に行こう
NGNG0767名無しさん@そうだ選挙に行こう
NGNG0768デフォルトの名無しさん
NGNG"D Programing Language" wxWidgets porting
・・・0件 orz
0769デフォルトの名無しさん
NGNG最強でしょ
0770デフォルトの名無しさん
NGNG言語関連の雑誌で特集されたの見たことないし
研究分野でも全く話題にされない。
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNGVCLはIDEが連係してくれないと意味が無いからなあ
それに、Dで再現するには、今のDにはRTTI関連が大きく足りないよ
>>770
まだ1.0に達してないからじゃね?一応雑誌にでたことはあるよ
0773デフォルトの名無しさん
NGNG・過去の資産をインポートするのも一苦労。
・仕様はC#2.0で追い抜かれる。
・コンパイラにバグが多い。
・IDEが無い。
0774デフォルトの名無しさん
NGNGwxWidgetsなんてポテンシャルはすさまじいのに日本じゃまったく流行らない
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG某rubyみたいなの。
0777デフォルトの名無しさん
NGNGでもそんな効率の良さを時代が求めてないのかも
0778デフォルトの名無しさん
NGNG商用のManaged DirectXのアプリが出てくるくらいまで
最適化されたら最強なんだけどさすがにそれは無理かな。
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGなんでコンパイラ指向だとコードの品質が高くなるんだ?
0782デフォルトの名無しさん
NGNGけどコーディングのスタイルが有る程度強制されるからC++よりはマシじゃないかな。
0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGDUIライブラリ作るくらいならこっちを頑張って実装して欲しかった
・全OSで共通のソースが使える事
・ルック&フィールがOS依存である事
・それがネイティブである事
D言語にはこれらを期待する
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGwindow.gdi
window.sdl
・・・10年先だな
0788デフォルトの名無しさん
NGNG>・ルック&フィールがOS依存である事
MONOに何か用ですか?
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNGそれが簡単ならエディタ作ってみたいのだが・・・
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGEclipseプラグインでキヴォンヌ
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGまだ構想段階のようですが。
>> D/wxWidgets
Wiki4D: wxD
http://www.prowiki.org/wiki4d/wiki.cgi?wxD
Wiki4D: DwithSwig/Messages
http://www.prowiki.org/wiki4d/wiki.cgi?DwithSwig/Messages
>> D/Swig
Wiki4D: DwithSwig
http://www.prowiki.org/wiki4d/wiki.cgi?DwithSwig
0796デフォルトの名無しさん
NGNGおお素晴らしい。構想に留まらずそのまま推進して欲しいね。
0797デフォルトの名無しさん
NGNGおまいらそんなに期待しますか
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNGむしろ糞言語じゃないものが無い気がするがどうか?
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG0802でぃきち
NGNG0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805本7
NGNGなんでも簡単・自由になりすぎてPerl厨の糞コードみたいにはならないでほしい。
物事には手順があるってものだ。
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG生理的なんて理由で敬遠するのは悲しすぎると思われ
0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGbeginを{に
endを}に
:=を=に
=を==に
みたいなことやったらついてくる人いるかな
0812デフォルトの名無しさん
NGNG既存のソースが使えなくなる「だけ」なのでついてくる人はいないと思われ
メリットがないと
0813デフォルトの名無しさん
NGNGttp://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.8.2.html
ttp://www.pro.or.jp/~fuji/computerbooks/c/c.modula2.html
どうしてもこれらを思い出してしまう
0814デフォルトの名無しさん
NGNGそれだけアメリカ国内ではシカトされちゃってるのだろうか
0815デフォルトの名無しさん
NGNGそれだけ日本人の言語評価能力が高い(相対的にアメリカは低い)、
と好意的に解釈しましょう。
(D言語が良い言語か否かの議論は置いておくとして。
自分はもちろん、良い言語だと思っているんだけど)
0816デフォルトの名無しさん
NGNG下側リンク、おもしれー、そーゆーときは始めからModula使えばいいじゃんw
0817デフォルトの名無しさん
NGNG付いてくるわけだが、そうなってもD言語はやっていける?
それともD言語もD.NETになって軍門に下るのか?
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG安心した
0821デフォルトの名無しさん
NGNGまぁ、.NET Framework が利用できればライブラリ不足は解消するけど。
0822デフォルトの名無しさん
NGNG予約語のタイプ数なんてエディタの補完機能でどうにでもなるよ
0823デフォルトの名無しさん
NGNG俺が使ってるのはどれもせいぜいメンバ変数、関数の補完しかないよ。
0824デフォルトの名無しさん
NGNGC++みたいにM$や某が独自ライブラリ作るんだろ。
0825デフォルトの名無しさん
NGNG普通逆じゃないでしょか・・・
予約語補完よりインテリセンスのが高級な機能ですよ
0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNG複雑なアウトライン解析をするインテリセンスのようなものは、普通のエディタじゃ実装されんねぇ
0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNGここにD言語が載るのはいつですか?
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNG且つVBチックなRADが出来るIDEがあればWinの牙城は崩れる。
そのIDE自身もD言語で作られていれば鬼の様に普及する。
さて、EclipseのWikiにいきますが
0835デフォルトの名無しさん
NGNG.NET構想なんかぶっ潰してくれ。マジで。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNGint* p1, p2;
が、intのポインタ2つじゃないというのが嫌いだった。
Dではそれを俺好みにしてくれたので思わずマンセー
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG[3][2]int って書きたい。で、配列の装飾を前からかかるようにすると、他の装飾(ポインタの*とか)も
全部前からにしないとおかしくなるので、結局Pascalのそれに行き着くわけで。
0842デフォルトの名無しさん
NGNGint[2][3]のが分かりやすい
0843デフォルトの名無しさん
NGNG禿しくではないが普通に同意
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNGじゃあFreePascalを改造して
beginを{に
endを}に
:=を=に
=を==に
みたいなことやったらついてくる人いるかな
0846デフォルトの名無しさん
NGNG既存のソ(略
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNGgcj相当のだけで解決するものでもない気がする
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNGDelphiじゃん
0854デフォルトの名無しさん
NGNG実際遅いんだけどな
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNGこんなアホまだいたんだ。
0859デフォルトの名無しさん
NGNGMicrosoft .NET Framework Version *.* 日本語版
こいつがユーザのマシンにどれほど入っているだろうか。
全体の10%にも満たないのではないだろうか。
そして普及したらしたでM$の配下にそまることに抵抗がある俺。
そんなことを考えてしまうWindows XPユーザの俺。愛。
0860デフォルトの名無しさん
NGNG走り出しちゃえばVBよりかは重く感じないんだけど。
0861デフォルトの名無しさん
NGNGしょぼくてセンスの悪い言語仕様と
C++の劣化コピーな乏しいライブラリと
劣悪な開発環境が好きならそれを使っとけ。
0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNGDelphiの人はボケに来てるのだろうか?
0864デフォルトの名無しさん
NGNG劣悪な環境が好きなんです。
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNGとやってきたけど Delphi が一番よいと感じたよ。
MS製じゃないから将来が心配だけど。
逆にMS製じゃないからよいのかもしんないけど。
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGdelphiがなんでいいか聞きたい気もしるが
さすがにスレ違いか。
0870デフォルトの名無しさん
NGNGマルチプラットフォームなライブラリにリンクできるIDEという点。
完全にフリーで構文がCライクならとは散々言われてきた。
BCBXはどうなってんだろう・・・
0871デフォルトの名無しさん
NGNGビジュアルデザイン可能なIDEて意味でそ?
でないと>>866のすべての言語が満たしてしまう。
BCBXはデザイナ類はついてなかったはず。これはBCB系列でない。
でBCB系列たるBCB6は
CLXついてるからマルチプラットフォーム、というか
クロスプラットフォームか。これはdelphiも同じ。
というわけで、delphiじゃなくていいじゃんということに・・・?
WinだけのしとはどっちみちWinFXとやらで
既存環境での開発はアホらしくなるのか・・?
ヽ(´ー`)ノ オテアゲ〜
0872IDE
NGNG0873デフォルトの名無しさん
NGNGBCBは?
0874デフォルトの名無しさん
NGNGVCL(マルチプラットフォームなGUIライブラリ)が必要かと。
wxWidgetsのポーティングされた且つそれようのフォームデザイナがあれば神なのだが。
0875デフォルトの名無しさん
NGNGLinuxで使えないやん
DelphiはKylixあるから問題ない、
とそういうことなのカモ
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG母体となってるECMAScriptが枯れてないから難しいのかな。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNG完全対応じゃないけど開発中だよ。
0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNGいつLinuxをサポートするんでつか?って聞きたい気分・・・
0891デフォルトの名無しさん
NGNG激しくわらたw
0892デフォルトの名無しさん
NGNGそうか?最終更新2004-06-14だけどダメ?
0893デフォルトの名無しさん
NGNGヘッダファイルの変換作業が激しく面倒だと気づいて萎え気味。
この作業に耐えられる人はマジで尊敬します。
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG0896本7
NGNG0897デフォルトの名無しさん
NGNGDelphiでDMonkey使えば?
0898デフォルトの名無しさん
NGNGま た D e l p h i か !
0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNGそのうちツールとして頒布すると思う。
0901デフォルトの名無しさん
NGNGだと「const使えねーよバカ」って言われるんだけどコレは仕様として正しいのかな?
0902デフォルトの名無しさん
NGNG0903901
NGNGalias int function(const int) hoge;
これで怒られる。
0904デフォルトの名無しさん
NGNGC/C++のconstとDのconstは意味が違うので。
http://www.kmonos.net/alang/d/attribute.html
http://www.kmonos.net/alang/d/htomodule.html
> D の const は、型修飾子ではなく記憶クラスです。
alias int function(static int) hoge;
で怒られるのと同じ。
0906デフォルトの名無しさん
NGNG言語互換性を期待するのは、そもそも間違いだと思うが…
作者はC/C++とは違う言語作ろうとしてるんだし。
「細かな所で互換性が無い」のではなく、「所々似ている」だよ。
0907デフォルトの名無しさん
NGNG> 良く似ているが、少し違うというモノは、全然似ていないモノより始末が悪い。
アーゴの法則より
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGその最大点、最小点 平均点を求めて返す関数を作成してもらえたら助かります
前はC++で作成してもらったのですが、今度はC言語で解かないといけなくなりました。
提出日が今日までなのでお分かりの方いましたらお願いいたします。
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNGあまり詳しくないけど、こんな感じか。
void func(int[] data,out int max,out int min,out double ave)
{
int sum;
min = int.min;
max = int.max;
foreach(int score;data) {
sum += score;
if(score > max) max = score;
if(score < min) min = score;
}
ave = cast(double)sum / data.length;
}
0913デフォルトの名無しさん
NGNGmax = int.max;
逆だった。
min = int.max;
max = int.min;
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNGなウィンドウを作ると何故かTOOLWINDOWにならずに閉じるボタンが
付いたり通常ウィンドウとのキャプション幅が真っ黒になったりする。
これは単にリンクするライブラリが悪い(DMD付属のもの)のか、作り方
が悪いのかどっちだろう…。
ぐぐってもゲーム系が多いみたいだしなぁ…、通常アプリ(?)をDで作って
る人いないですかね?
0916デフォルトの名無しさん
NGNGstd.c.windows.windowsにはWS_EX_TOOLWINDOW無かったんで自分でWS_EX_だけ定義してみたら
普通にツールウィンドウになった。自分のコードも疑ってみたら?
0917デフォルトの名無しさん
NGNGDMのリンカが吐くEXEの問題かも知れない。
PEヘッダのバージョンが古いので、表示がWin3.x仕様になってるというもの。
初代スレかwikiあたりに情報があったかも。
0918デフォルトの名無しさん
NGNGレスthx
portingライブラリはwindows.h for Dのやつです、書き忘れて申し訳ない。
なのでその辺は普通に使えました。
>>917
SUBSYSTEM Windows,4.0ですね、wikiでみかけて試したんですが同様。
ということはコードの問題か…。
単一ウィンドウなら普通にToolwindowが作れるんだけど複数出すとどうも
1つや2つ怪しくなる…コードを見直してみます。
thxでした。
0919デフォルトの名無しさん
NGNGonEvent ~= &Hoge.func;
onEvent ~= &Hage.fuck;
onEvent();
こんなC#風なアクセスはどうだろうか?
0920デフォルトの名無しさん
NGNGわー、かこいー。
C#では、こーいうの普通なん?
0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNGライブラリでどうにでもならない?
0923デフォルトの名無しさん
NGNG>>921
そういう風に演算子の意味を捻じ曲げるのは
混乱をもたらし見苦しさを増すから避けたい、
とか書いてた気がする。
>919は素直にforeachループでいいような気もする。
foreachなら巡回してるってことが分かりやすいし。
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNG「通知」が目的であって、「巡回」は実装に過ぎないわけで。
C#のイベントの偉いのは、外部からは += と -= でしかアクセスできないこと。
= を使って、勝手に全置換えされてしまうことは無い。
まぁ、>>922 の言うとおり、ライブラリでどうにでもなるけど。
0927デフォルトの名無しさん
NGNGといっても、D(とAda)以外はほとんど全ての言語がこの捻じ曲げを行ってしまってるんだけどw
加算と連結を区別するなら、減算と除去も区別しないと
0928デフォルトの名無しさん
NGNG最初からインプリメントしてくれたほうが実行速度を気にしなくて良さそうだけど
0929デフォルトの名無しさん
NGNG最速OOPへの気合の表れと見える。と適当に誉める。
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGDMさんは作ってくれなさそうだけどw
0933デフォルトの名無しさん
NGNGこれは += やってるね。
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0.999
0.9999
…
.
0.9=1に収束するとか。
0939デフォルトの名無しさん
NGNG>>463
0940デフォルトの名無しさん
NGNGwxWidgetsのリンクが貼ってあるページをみつけた
Eiffel用のwxWidgetsならC言語へのラッパがあるはずだからそれ活用しろってことかな?
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG組み込み配列みたいに、ArrayBoundsError を throw するのってどうやるんでしょう…
組み込み例外(?) のインスタンス化の仕方がわからんのです。
教えてちょんまげ。
0943デフォルトの名無しさん
NGNGint main() {
throw new ArrayBoundsError("File",10);
return 0;
}
なんだが、コンストラクタがprivateなんだよねw
0944デフォルトの名無しさん
NGNGに ArrayBoundsError が定義されてた。
うまくいったら報告よろしくね
0945デフォルトの名無しさん
NGNG_d_array_bounds から呼び出せ、ってことかねぇ
0946デフォルトの名無しさん
NGNG0948943
NGNG0949デフォルトの名無しさん
NGNG大分昔からあるような気もしないではないが、それとも単に
バグ情報のページが更新されないだけかね。
0950942
NGNGコンストラクタの引数って this(char[] filename, uint linnum) なんだけど、
ファイル名と行番号をエラーメッセージに含めとくものじゃない気がしますね。
やっぱり組み込み配列専用なのかな?
0951デフォルトの名無しさん
NGNGthrow new ArrayBoundsError("std.string.sformat", 0);
というものがあったよ。
例外発生のモジュール名を突っ込んでおけばいいんじゃないかな。
line引数は分からない。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGエラーコードの行番号を送るんだよな。
だから、利用元の行番号なんて知りようがないD言語ユーザ
側はてっきり使っちゃいかんもんかと思ったけど、とりあえず
0に設定しておけば、ユーザサイドでも使っていいんだな、これ。
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGnice. wxHaskel におそらくそれから派生した(か流用した)のがあったから、それでやってみよう
かな。(とりあえずwxcのコンパイルだけした)
0957本7
NGNGつくろうよ。
0958デフォルトの名無しさん
NGNGお前がやれ。言いだしっぺだしな。
0959デフォルトの名無しさん
NGNGdigにあやまれ
0960デフォルトの名無しさん
NGNGみたいなもんはないですか?
Convert.ToInt32("ff", 16);みたいなことをやりたいんだけど
std.convのtoIntはDecimalしかとれないですよね?
int foo = toInt("10"); // ok
int bar = toInt("ff"); // ng
スマートな解決策はないですか?
0961デフォルトの名無しさん
NGNGimport std.string;
extern (C)
long strtol(char* nptr, char** endptr, int base);
long toHex(char[] str) {
return strtol(toStringz(str), null, 16);
}
void main() {
long foo = "0xff".toHex();
printf("%d\n", foo);
}
うまい方法が浮かばなかった。
0962デフォルトの名無しさん
NGNGやっぱりちょっと回りくどい方法をとらないとダメですかねぇ。
std.stringで使えるsplitやjoin等もwcharには使えなかったりするし
(toUTF8すればいいだけだけど)ちょっと標準ライブラリに弱さが目
立つような気がする…。
0963デフォルトの名無しさん
NGNGたぶん英語できる誰かが書いてくれるから
0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGマルチメディアライブラリ
0966デフォルトの名無しさん
NGNGCPLな自由参加ライブラリDeimosを思いついたけど、どっかの糞が既に名前を使ってやがった。
私は悲しい
0967デフォルトの名無しさん
NGNGすぐ飽きちゃったみたいだけど。
0968デフォルトの名無しさん
NGNGライブラリを予約しておかなかったからこうなる
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGよく言われる。今は反省してる。
0971デフォルトの名無しさん
NGNG行き当たりばったり出ないオプソプロジェクトなど無い
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGライブラリのソースは公開されてるが。
0974デフォルトの名無しさん
NGNG…と思ったけど、phobos と内容がカブりまくるのが悲しいな。
0975デフォルトの名無しさん
NGNGT StringToIntegral(char[] s,int base = 10) {
void converr() { throw new ConvError(s); }
void overerr() { throw new ConvOverflowError(s); }
int length = s.length;
if(!length) converr();
T result = 0;
int sign = 1;
int first = T.max * T.min;
for(int i = 0;i < length;i++) {
char c = s[i];
T v = 0;
if(c >= '0' && c <= '9') v = c - '0';
else if(c >= 'A' && c <= 'Z') v = c - 'A' + 10;
else if(c >= 'a' && c <= 'z') v = c - 'a' + 10;
else if(first && c == '+') {
sign = 1; if(length == i + 1) converr();
} else if(first && c == '-') {
sign = -1; if(length == i + 1) converr();
} else converr();
if(v >= base) converr();
v = result * base + sign * v;
if(sign >= 0 && v < result) overerr();
else if(sign < 0 && v > result) overerr();
result = v;
first = 0;
}
return result;
}
}
0976デフォルトの名無しさん
NGNGなんだこれ?
文字列を整数に変換する?
0977デフォルトの名無しさん
NGNGboostのlexical_castのD版を目指したって感じかな?
lexical_castは逆も可能だった気がするけど。
0978デフォルトの名無しさん
NGNGtemplate StringToIntegral2(T=int) {
T StringToIntegral2(char[] s, uint base = 10)
in {
assert( base <= 36 );
assert( s.length > 0 );
// assert( is_signed!(T) || s[0]!='-' );
}
body {
int sign = (s[0]=='-' ? -1 : +1);
if( s[0]=='-' || s[0]=='+' ) s = s[1 .. s.length];
T result = 0;
foreach(char c ; s) {
T v = T.max;
if( '0'<=c && c<='9' ) v = c-'0';
else if( 'A'<=c && c<='Z' ) v = c-'A'+10;
else if( 'a'<=c && c<='z' ) v = c-'a'+10;
if( v >= base )
throw new ConvError(s);
v = result*base + sign*v;
if( sign>0 && v<result || sign<0 && v>result )
throw new ConvOverflowError(s);
result = v;
}
return result;
}
}
0979デフォルトの名無しさん
NGNGint first = T.max * T.min;
これが何やってるんだろうな、と考えてたんだけど、
Tがunsignedな型の場合に0になるわけね。
int first = T.min * 1;でいいじゃん。
0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGD言語 Part.4
ということで。
0982デフォルトの名無しさん
NGNGよろしこ
0983デフォルトの名無しさん
NGNGサンプルビルドして喜んでるだけ?
0984デフォルトの名無しさん
NGNG○ 喜んでるだけ
0985デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/software/1088683029/
D言語で作ってるらしいけど、ソース公開してないから、このスレ的にはあんまり意味無い。
0986デフォルトの名無しさん
NGNGいや、使ってることに変わりないから応援はするが。
0987デフォルトの名無しさん
NGNG現状のphobosのままで1.0に行ってしまいそう
何かこうどかっとソースが来ないとだめぽ
0988デフォルトの名無しさん
NGNG0.99の次は0.100だろ?
0989デフォルトの名無しさん
NGNGに見るLinuxみたいにもっと奇妙なバージョン付けしだしたりしてー。
0990デフォルトの名無しさん
NGNGよって
0.991だって。
または、1.0 beta1
0991デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1091185216/
立てますた。
0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG……。
一度、バージョン番号で何を管理しているのか考えてみる
事をお勧めする。
そうした上でその表記を用いるなら、それはそれで構わんよ。
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG別に、呆れかえるほどのことでもないと思うけどな。
単純に、バージョン番号を数値と見なしてるだけ。
実際、そういうバージョン表記をしているところもあるし。
0997デフォルトの名無しさん
NGNGLinuxKernelみたいなのが特別なだけ
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNGしかし、これは通過点に過ぎない。
↓
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。