D言語 Part.4

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C, C++, Java, C# などのいいところを取って、さらにいろいろ付け足したような新しい言語。

・Cライクな文法
・実行形式はネイティブコード
・言語仕様のコンパクトさよりも利便性を追求
・Windows, Linux用のコンパイラがある
・制御可能なガーベッジコレクション
・便利な動的配列や連想配列
・契約による設計(Design by Contract,DbC)
・標準ライブラリPhobos

・今のところv1.0未満につき、未実装・バグはまだだいぶある。
・Win32APIを利用できるので、Win32アプリは作成可能。

DigitalMars D言語公式
http://www.digitalmars.com/d/
日本語訳
http://www.kmonos.net/alang/d/

前スレ
D言語 Part3
http://pc5.2ch.net/test/read.cgi/tech/1079068715/

過去スレと関連サイトは>>2-10のあたり
過去スレ

【良いとこ取り】D言語スレ【実用重視】(Part 2)
http://f3.aaacafe.ne.jp/~null/cache/1079280501.html
D言語ドラフト一応読んだよ (Part 1)
http://pc5.2ch.net/tech/kako/1003/10036/1003674814.html

D言語 (304)
http://f3.aaacafe.ne.jp/~null/cache/1073913528.html

関連サイト

D言語研究 - Wiki
http://p17.aaacafe.ne.jp/~labamba/

Wikiのリンク集
http://p17.aaacafe.ne.jp/~labamba/?%A5%EA%A5%F3%A5%AF%BD%B8

やねうらお - ゲーム用ライブラリ作成プロジェクト
http://www.sun-inet.or.jp/~yaneurao/dlang/

D Memo - それぞれの言語仕様の説明とサンプルがある(内容が古いところがあるので注意)
http://www.kmonos.net/alang/etc/d.php

2
Delphi!!!!!!
d言語MLって動いてる?
FreePascalを改造して
beginを{に
endを}に
:=を=に
=を==に
みたいなことやったらついてくる人いるかな
D言語で誰かエロゲーつくって
>>6
C構文ならだれでも付いて来れそう。
Windowsの機能が完璧ならなー
現状はCでオブジェクトにしてDで引っ張ってくるというやり方じゃねーとね
ポーティングを進めてるところもあるけど
DIDEもそんなバージョン表記だったよなぁ。>前スレ

だけどなぁ、バージョン番号を小数値に見立ててどんなメリットがあるんだよ。
よく考えてみろっていうのはその辺の事なんだよ。
皆がそうだから、とかそんな理由じゃなくてさ。

並べたときのソートのしやすさとかあるから、一概には言えない。
だから、そこらへん理由をちゃんと考えた上で使い分けろよ、ってこった。

何にも考えないで愚説を披露するのにはすこし呆れるけどな。
これを契機に色々なことを考える努力をしてくれ。
>>11
雑談で使っただけのネタで、何ご高説垂れてんの?
スレまたがって語るほどのことでもないよな。
これを契機に色々なことを考える努力をしてくれ。
>>13
何でそんなに偉そうなの???
>>14

>>11を皮肉ってるんだろ。最後の文を真似て。
>>11
何にも考えないで愚説を披露するのにはすこし呆れるけどな。
これを契機に色々なことを考える努力をしてくれ。
DTL 0.1.1キタ━(゚∀゚)━ !
けど、まだおぼろげだな。
>>12
同じネタを何度も繰り返す奴はただの痴呆だ。
numbers[] = new Number; でも解釈してろ。
世間に馴染めない変なのが沸いてるな
>>17
Wiki見る分にはphobosに取り込まれる予定なんだね
JavaAPIもガンガン取り込んで欲しいところだ
>>19
まるでD言語のようだよね。
DTL覗いてみたけど、STLの移植っぽいね。
>>21
うまいね。

>>22
名前からしてね・・。
まあ移植性を考えれば実装しないとやばいでしょうし。
なんだ。D言語ってただのネタだったの?
>>24
そう。一生完成しないサグラダファミリアみたいなもんだよ
26デフォルトの名無しさん:04/08/01 12:54
wxD 激しく期待age
>>26
作ってるの?企画だけだったような
>>1
ところで、なんでPartの後にピリオドがあるの?
Partって略語だったの?
>>28
お前そんなことも知らないのかよ。
まじヤベーよ
マジで?
>>28って超ヤバくない?
正規表現なんだよ
>>28
小数点くらい知らないの?
>>25
サグラダファミリアは20年後くらいに完成する見通しらしいぞ。
なんか観光収入がアップしたとかで。
去年ルパーンでやったからかな。
D言語もスポンサーが付けば早く完成するかな。
ぶっちゃけIBMかHewlett Packardが買い取ってくれた方が未来があるよね。
Degital Marsは所詮コンパイラ屋だから、現状のまま進めてもライブラリが追いつかない。
しかもマルチプラットフォームに慣れてない感じがぷんぷんと・・
買い取っても使い道あるのかな?
つーかIBMに買い取られても…
技術は沢山持ってるけど、全然活かしてないからねあの会社。
文字コードにも無頓着だし、
マルチプラットフォームに慣れてない どころではないのでは?
英語圏のWindows限定。
ライブラリ周りはライブドアを通じて発注してもらうか
どうやって通じればいいのか俺にはわからんが
>>39
っつーか、言語仕様すらザルっぽいし。
歴代スレでいくつか仕様の不具合っぽいのが出てる。
C++がちょっとバージョンアップすりゃいいだけなんだよな
言語仕様的にはRubyと同じ(かどうかしらんが)コミッターは独りなのかな。
>>41
仕様策定中の言語に何を言うやら…
>>44
素人目にも不具合が見つかるぐらいだし、仕様が固まるのに何年かかるやら。
Dはなんかのはずみに一気に普及しそうな気がするけど、
正式版が出ないことにははじまらないよなぁ、正直。。
オマエラ夢想が過ぎますよ
ライブラリが揃わずにマイナーで終わるね
DeimosをJ2EE並のビジネスロジックライブラリにすれば面白いが、無理そうだ
そもそもDはそういうものを作るための言語じゃないと思う
多少機能が改善されたくらいじゃ誰も使わないから・・・
根幹と成るPobos、実務的なDeimosといった見た目に派手な宣伝が欲しい
いっそC++のコンパイラも内蔵してライブラリそのまま流用できるようにすればいいんだよ。
アプリ独自のコードはDで書いてさ。
Dに言語の統一性や美しさを求めてる奴なんていないんだから。
>>51
はなから求めないんだったらD言語スレに来なければいい
>>33
ソースある?
金あっても職人が足らないから200年ぐらいじゃないの?
>>49

D言語って何のためにあるんだ?
C++と比べると便利だと思うけど、Javaと比べるとC#なみって感じだし。

>>54
存在意義のない言語は存在してはならない、みたな思考停止は美しくないなあ。
ライブラリ次第。このままではDelphiの二の舞。
つまり他所に買われろと言う事ですな。
ここに来る以上は気になってしょうがないんだろう
>>55
ちょっとまて、それではD言語に存在意義が無いみたいではないか。
誰かIBMにメール遅れ
>>54
Javaと比べてネイティブコードの必要が大きい所(速度が重要な所)だろ。
マルチメディアとかゲームとか。
業務アプリなんかJavaで十分。JavaどころかPerlとかPHPでも十分
>>7
てめー

D言語でエロゲーつくって
http://pc5.2ch.net/test/read.cgi/gamedev/1091256780/
>>56
二の舞どころか同じ舞台にすら上がってないけどな
>>62
感動した!!
65デフォルトの名無しさん:04/08/02 23:31
wxD
http://d.hatena.ne.jp/k_ahiru/
http://user.script.nu/~ahiru/wxw_ss.gif
ここまで来てるみたいだ。
期待age!
下手をしたら(下手をせんでも)、D言語は日本人好みの言語になっちまいそうだね
素晴らしいのひとこと
>>66
そのココロは?
本当に徐々にだけど、使う人が増えてる
TClock作ってる人もDやってるみたい
D言語のリファレンスが何で読まれるか

何気なく実用化できる
不思議と実用化できる
頑張れば実用化できる

みんなそこまで出来ないだろうと思ってたからじゃないかな
>>67

   D e l p h i
最近のD言語研究のメンテしてくださってる方って誰なんでしょう?
非常に助かってます。ありがたい。
MIKIさんでしょうか?Dでどんなことやってるのかしりたいな。おせーて。
2chだとあれなきもするので、D言語研究の雑談あたりで。
>>66
だったら、ドキュメントは日本語をデフォルトにしてくれ。
世界中の開発者は全員、日本語を使うんだー。
>>60
つまり、エロげー用の言語ってことですか?
正直Cライブラリとリンク互換性があるつってもラッパーモジュール一々
書かないといかんというだけで「面倒くさい」と思ってしまう。

C#でinteropのコードを書くのと同じ、というかそれよりは楽だと
思うが、C#やJavaのようにリッチなライブラリセットがあるワケじゃない
し、Cの資産が必要になる頻度がずっと多いでしょ。

DでCOMいじってる人、いますか?
ActiveXのホストウィンドウとか、つくれます?
要するにIEコンポーネントを使えるかとかそういうことですが。
今どきCOMが使えないと、Win32プログラミングではかなりの制限になりませんか。
COMはライブラリで既にサポートされてたかと
>>74
きれいなヘッダファイルなら簡単に変換できるけど、
Win32APIは汚らしいからなあ。。。

COMも使えます。使えるはずです。
少なくとも、ちょっと使うだけなら問題なくできてます。

ホスティングとなると、C+SDKレベルで一から書くのと同じ労力が要ると思います。
ので、誰もやってないと思います。
77デフォルトの名無しさん:04/08/05 15:52
D.NETの計画は進んでますか?
進んでません。
ネイティブコードが生成できる事に価値があるDに.NETは必要ありません。
Longhornでは.NETに乗っていない言語は必要ありません。
せいぜいC/C++のようなドカタ言語にのみ生存が許されます。
許す許さないは関係ないだろ
ネイティブが許されるなら何の問題も無い
.NETがネイティブになれば、コンパイラも作られるかも知らないが、
少なくとも現時点ではそういう計画は必要性をもたないのではと、
ニュースグループ見てない?
D.NETを実際に作ってる人はいるみたいだよ。
結局完成する前に飽きるんだけどな
同じ土俵に乗ったらC#に完敗だな。
85デフォルトの名無しさん:04/08/05 20:23
むまいらDなんかすててTotemoE言語やろうぜ
マルチメディア扱うのすげー簡単
しかも実行ファイルがすげー小さいよ
どうなってんだ?

http://www.geocities.co.jp/MusicStar-Keyboard/4234/
コンパイラ0.98キタ━━━━━(゚∀゚)━━━━━!!!!
 ・スカラー型をnewできるようになった。例:int* p = new int;
 ・アクセスのチェックは、オーバーロードの解決の前ではなく後に行われるようになった
 ・その他修正多々

スカラー型? そんな呼び方するのか
バイキルト!
>>85
TotemoE言語はこちらです。
http://hp.vector.co.jp/authors/VA015412/
>>86
高校のベクトルの授業で習うだろ
スカラー型とプリミティブ型って一緒の意味?
前者はPERLでよく聞くし、後者はJavaで聞く
>>90
違う。英和辞典ひけ。
数量型ってことね
    ------------------------ 、
   / ◎◎◎.//◎◎◎||◎◎◎.||◎| |
  /◎◎◎◎// ◎◎◎||◎◎◎||◎| |
[/_◎◎◎◎//[ ]◎...川??v??从◎◎|| 〜〜誰か呼びました?
.||◎◎◎◎|_|◎◎◎|.| ◎◎◎◎ |_◎|
.lO|--- |O゜.|◎◎◎◎|.|◎◎◎|◎◎ ||
|_∈口∋ ̄_l◎◎_l⌒ l.|◎◎◎_| l⌒l_||
  ̄ ̄`--' ̄ ̄ `ー' ̄ ̄`--'  `ー'
>>93
おう、呼んだ。アンパン買って来い。
>>86は中卒
前から思ってるんだけど、「Another D in programming.」を
「プログラミングに、Dがもう一個。」と訳すのってどうよ。
97k:04/08/06 09:39
>>96
ワシも実は前から思ってて突っ込み待ちだったんだけど、
そこってどう訳すべき? "Another D in ..." て "また不可った" って
意味でしか聞いたことがなくて、そりゃ変だよなぁ、と思って
とりあえず直訳で放置してるのだけど。
>>81
GCCへのフロントエンドがあるんだから.Netでも
そういう風に作ればそれなりの手間で作れそうだね。
>>98
いやMSIL吐くだけで十分なんだが。
最適化すら必要ない。
>>97
適当な違約を考えてみました。
(ニュアンスだけつたワりゃイイかなと)
・プログラム言語界に新たにDが登場しました。
・プログラム言語界にまた一つメンバーが加わりました。その名はD!

むつかし。
>>97
・あれ以外のD言語

あれはC#を指している
102k:04/08/06 15:34
>>100
そういうニュアンスなんですかね。英語難しい…。
あの部分はSlashdotからの引用なので、それっぽい翻訳だとなおベター、かも。
10396:04/08/06 16:05
漏れは、「2D」とか「3D」とか言うときの「D」じゃないかと思っているのですが。
プログラミングに新次元、みたいな。
Dimensionか。
D=Delphiとして、AnotherなDとかと思った。
大家(単に私が必要とするもの)..プログラミングでの別のD。
もっと単純に
アルファベットではないもうひとつのD(プログラミングの)
って感じかと。
映画に出てたセリフか何かをもじったような気がする

無理に訳さず英文をそのまま載せてもいいんじゃないかな、そんなに難しくないし
本とかでも格言とかは原文で載せてる時もあるよな
ANOTHER DAY / PAUL & LINDA McCARTNEY
アナザー・デイ / ポール・マッカートニー

とかねぇ。
デー言語
どうせならfor(;;)の永久ループに専用命令を割り当ててもらいたい今日この頃
infinity
{
}
forever(){ とか?
ただ、あったところで果たしてメリットがあるかは疑問
余程アフォなコンパイラでもない限りfor(;;)でも
jmp生成してくれるだろうしな。
明示的に
for(;true;)
とすると、さすがに気持ち悪いかな。
116100:04/08/06 20:00
>>102
k氏に英語難しい言われたら私は
英語?なにそれ?
みたいなレベルなんですけど、、、。
>>113
まず第一に言語界中の意表をつくことが出来る。
mugen
{
}
const int ETERNAL = 1;
while(ETERNAL){・・・・・}
なんかJavaで似たのを見たような記憶がある
love {
}
>>120
4回くらいで大抵ループ抜けちゃうジャン
>>120
それは、そのブロックには突入しないという意味か?
123120:04/08/06 20:42
悲しい食いつき方するなよ・・・
そうか、love句は機種依存が激しいんだなw
ワロタ
ループブロックに入ることもできない奴まででてくるわけか

mugenてちょっとカックイイかななんておもっちゃいましたテヘ。
ifnotキボン
>>123
断固ループから抜けられなくなる場合もあるわけさ。それもまた困ります
isnot は何人かの人が提案してたが、便利そうなんだが、いまいち便利じゃないような気もする。
ぶっちゃけて、!(a is b)が美しくないというだけなんだけどな。
Dのポリシーは一概念一構文だ。
>>126
、、、 love句ってどう使うんだろ? 恋愛運判定プログラムとか?
void main(char[][] args){
 int i = 0;
 love{ i++; }
 printf("あなたの恋愛運は" ~ toString(i) ~ "です。");
}
たまにループ抜けれず暴走するけど
iなんぞインクリしたらループ抜けられんよ。ざぶとんください。
 love{ i++; i--; }
love
{
he.i = ++i;
she.i = i--;
}
誰か7行プログラム書いて貼り付けてチョ
ゲーム希望。
throw new Zabuton() to >>130;
>>132
相変わらずの彼と彼女
>>133
ちょっとチャレンジしたら、かなりきつくてシンド
137デフォルトの名無しさん:04/08/06 23:16
Dって文字コード変換するのってどうやるんだ?

SJIS のデータ読んで加工して、とかするためには、
utf8 か utf16 にしなきゃダメだよね。
phobos にエンコーダとデコーダきぼんぬ。
>>137
ttp://www.wikiroom.com/sakurai/?DJcode
一応こういうのもあるようだ
1391/2:04/08/07 04:34
>>133
俺のスキルじゃこれ以上短くナラネ。

src.d
import std.string,std.file,win32.windows,std.c.stdio;int[][]d=[[0,1],[-1,0],[1,
0],[0,-1]];alias s[]t;void main(t a){COORD c;void*h=GetStdHandle(-11);t m=((s)
read(a[1])).split("\n");int x=1,y=1;for(;;){CONSOLE_SCREEN_BUFFER_INFO i;
GetConsoleScreenBufferInfo(h,&i);FillConsoleOutputCharacter(h,32,i.dwSize.X*i.
dwSize.Y,c,null);SetConsoleCursorPosition(h,c);m[y][x]=64;foreach(s l;m)puts(l~
"\0");while(!kbhit()){}int[]r=d[(getch()-48)/2-1&3];int b = m[y+r[1]][x+r[0]];
if(b==71)break;b!=35?m[y][x]=46,y+=r[1],x+=r[0]:1;}}alias char[]s;
1402/2:04/08/07 04:35
map.txt
#############################################
#.#...................#.....#.#.....#.......#
#.#.###.#####.#######.###.#.#.###.###.#.#.###
#.....#.#...........#.#...#...........#.#...#
#.#####.###.#.#.#.#.#.#.#######.#.#.###.###.#
#...#.....#.#.#.#.#.#.#.#.......#.#.#.....#.#
#.#########.#.#.#.###.#.#############.#.###.#
#.....#.....#.#.#.#...#.............#.#.#...#
#.#.#######.###.#####.###.###.#.###.#######.#
#.#...#.......#.#.....#...#...#...#.....#...#
###.#################.###.###.#.###.###.#####
#.................#...#...#...#...#...#.....#
#.###.#############.###.###.#.###.#########.#
#...#.....#...........#.#...#...#.....#.....#
#.#.###########.#####.#.#####.###.###.#.#.#.#
#.#.........#...#.....#...#.....#.#...#.#.#.#
###.#######.#####.###########.#########.#####
#.......#.......#.....#...........#.........#
#.#########.#.###.#######.#.#.#######.#.###.#
#.........#.#.#.......#...#.#.......#.#.#...#
#.#######.#########.###.#####.#####.###.###.#
#...#.............#.......#.....#.....#...#G#
#############################################

> dmd -d src.d win32.lib
> src.exe map.txt

マップセイセイナンテデキマセン
141デフォルトの名無しさん:04/08/07 11:12
src.d(2): no identifier for declarator
src.d(2): semicolon expected, not 'import'
src.d(4): C style cast deprecated, use cast(s)(read(a[1]))

why...?
最新のdmdつかってましゅか?
>マップセイセイナンテデキマセン
+7行でそれなりのを生成できたらOK
139じゃないが
>>141
・最初の "src.d" もソースに貼り付けてねぇ?
・dmd -d
144139:04/08/07 19:05
>>142
+7行もあったら余裕だヨ!やらないけど!
Error: Error reading file 'win32\windows.d'

僕もうなんだか疲れちゃったよ・・
はっ、たかがそんくらいでお前はネロ気取りか。おめでてーな
>>139
とりあえず、本家の七行プログラミングスレにも張ってくるしか。
148139:04/08/07 20:34
あのさ、D で SDL を使ってて、LGPL の話。
SDL.dll の LGPL は、動的リンクにすれば、本体に影響を及ぼさない、
というのはいいんだけど
SDL.d が LGPL だったら、それを import してる本体は大丈夫?
C の #include と違って、ソースが入ってくるわけじゃないけど…。
150shinichiro.h:04/08/08 00:09
あ、はい、私もそれ、問題だと思ってました。
LGPL についてきちんと理解できてるわけでは無いのですけど、
結論から言うと今のままでは多分マズいと思います。
たぶん import と #include は LGPL の話とは関係無くて、
問題になるのは C のマクロを関数で書き直している部分があって、
(例えば SDL_LoadBMP など) そこがシンボルを持っているのですが、
それをリンク時にスタティックリンクしていることです。

実際 SDL でもスタティックリンクしなければならない
SDL_main なんかは Public Domain に置かれていたりします。
まあ SDL の ML の雰囲気なんかを考えると
実際にこの件について文句が来ることはまず無いと思いますが、
気持ち悪いと言えば気持ち悪いので対処を考えますです。
たぶん、 SDL_d.dll みたいなのを配るか、マクロの部分を
非 LGPL に置く許可を得るか、あとひょっとしたら LGPL に
そういうラッパの際の配慮もあったような無かったような
気がするのでそのへんも調べてみます。
使う部分だけラップしてそれを配布できる状態(うpじゃなくてもOK)にするのが一番クリーン
一番楽なのは自分のソースを全部 GPL にすることだが、思考停止かも
GPLにされると困るから、こういう議論になってるんだけど。。。
GPL系のライセンスがウイルスと同等に呼ばれるのがよくわかる
他人の労力のうまいところだけ啜ろうなんて考えるなってことだよ
困るとか思ってるなら、きっぱり使うのあきらめろよ。
万が一本体が感染するとしたら、回避しなければならない事には違いないんだからな。
悩む労力が省かれただけでもマシだ。
GPLを使うということは使用ライセンスに同意したってことですよ。
納得して使ってるなら文句言うのはお門違いなような?
嫌なら使わずに自分でコーディングすればいいだけの話。
感染だのなんだのってうまい汁だけ吸って不利益になる部分に文句
言うなんて虫のいい話は通りませんよ、と。

と、特にGPLについて知ってるわけじゃないけど書いてみる。
LGPLはラップすれば感染はそこでおしまいなのだが
特定アプリケーションの一部と見られる専用のラッパーだけでは回避不可能って見解もあるわけだけど?
>>158
それはGPLの話でしょ。
>>150
> それをリンク時にスタティックリンクしていることです。
が問題になるんだったら、
C++で書かれていて、inline関数やテンプレートを使った場合、
LGPL になりえないということ?
つまり、LGPL は、C言語以外の言語では矛盾が生じるのか?
>155
>他人の労力のうまいところだけ啜ろうなんて考えるなってことだよ
それはGPLに対しても言えるな。
GPLそのものの良し悪しは、他のスレでやってくれ。
いま問題になってるのは、D言語でLGPLを使う場合の話だろ。
>>161
言えないよ。
GPLは非コンパチなライセンスのプログラムとのリンクは許可してないじゃない。
libgccみたいな条件付LGPLキボンヌ
D言語のページに動的なクラスロードが出来ないって書いてあるけど、
これって、かなりまずかったりしないの?
>>165
まずい例を出してくだはい
167デフォルトの名無しさん:04/08/08 21:47
>>166
ツールのプラグインをどう実現するの?
>>166
UnitTestのTestRunnerがモジュールのテストをするときとか。

実装しておくと後発の言語がDのクラス互換にしてくれたりして。
>>165
こんなこと出来ないんでしょ?
<action path="/admin/removeMapping"
type="org.apache.struts.actions.RemoveMappingAction"/>
>>167
動的なクラスロードが出来ない他の言語でもちゃんと実現されてんじゃん

>>168
ユニットテストって言語仕様にあるじゃん
>>170
実現されるなら方法や効率を問わないってんならC使っとけ
>>171
はぁ、そうですか。

↓じゃなんかあかんの?

>クラスはexportできます。つまり、DLLやEXEから外部に、 クラス名やその非privateメンバを公開することができます。
どっから拾ってきた文章だよそれ
174:04/08/08 22:09
>>172
なるほど、あらかじめプラグイン内のPublicなメソッドをExportしておき、
クラス名を本体にコーディングしておけばいいんだね。
なるほど、あらかじめ本体内のPublicなメソッドをExportしておき、
クラス名をプラグイン内にコーディングしておいてください。
なるほど、はいらなかった
>>175
どうやってプラグイン起動するの?
どうやって本体とやるとりするの?
>>177
気合だ!
unittestってクラスを継承してテストするようなコードって書ける?
>>177
そんなもんどーとでもできんだろーよーー
>>180
一つ、簡単な実装方法をヨロシク
>>179
普通の関数内でできることは何でもできるみたいだけど。
183デフォルトの名無しさん:04/08/08 23:01
あらかじめ本体にコーディングされてたらプラグインじゃないよ。
プラグイン用インタフェースを実装して独自のプラグインを開発した時、
それをどう本体にリンクするのかってことだよ。
結論は最初から出ているわけだが。
LoadLibrary呼べばいいんじゃない?
現実問題としてDで閉じたアプリのプラグインインターフェースなんて誰も使わないだろ。
やっぱ.NETに乗せるしかないんだよ。
>>186
それを言ったらおしまい・・・・
>>185
それで、動的にクラスなりメソッドなりを呼び出しできるん?
std.loader…

>>188
そりゃできるけど、基本的に全く型チェックできなくなる罠。
次はEか。
E言語って既にあるの?
Eiffel
EffelはE言語とは言わないだろ?
EffelでE言語ならJavaは時代を遥かに先取りしたJ言語ですね。
J言語はJavaとは別に存在する
D言語はDelphiとは別に存在する
E言語ってこれじゃないの?
http://www.vector.co.jp/soft/winnt/prog/se324768.html
C言語はCOBOLとは別に存在する

って、なんかどれも○言語と○xxx言語ってキャラが似てない?
E言語は普通にあるし
http://www.erights.org/elang/
>>199
キャラってあなた…もしかして↓のスレの住人でつか?
http://idol.bbspink.com/test/read.cgi/ascii2d/1073747234/
202java から来た人:04/08/11 01:28
"文字列リテラル" に utf8,utf16 しか通らなくなった。
printf はともかく、stdout に writeLine して、
文字列がそのまま見えないので、| lv とかして見ている。

java の native2ascii みたいなフィルタを
かましてくれるようになってればいいのに。
java の System.out みたいに、PrintStream が
ネイティブエンコーディングに変換してくれたらいいのに。

と思いました。
>>202
r"" か ``でなんとか
>>203
D言語やるまで、その後ろの文字の打ち方を知らなかった
まさか@の部分にあるとは@の部分に…
`知らなきゃシェルスクリプトも使えないんじゃないだろうか…
`知らなきゃ('A`)も書けないんじゃないだろうか…
アクサン グラーブ
>>203
`とか仕様聞いてても全然使わなかった、、、
俺のキーボードでは 半角/全角 キーで打てるのだが・・・
>208
英語キーボードとして認識されとるぞ。
設定直せ。
別に101が悪いわけじゃないが、日本語配列なら106として使った方が良いな。
表記と違うのは気持ち悪い。
どうせ表記なんか見ないし
むしろ,半角/全角押して`が出ないと気持ち悪い
そんな人もたくさんいるのでつ
101キーボードにかえた方がすっきりしそうな気がするけど
213208:04/08/12 22:52
あ、、 確かに101/102英語キーボードとして認識されてる・・・ (変更方法わからん(汗)

慣れたせいもあるだろうけど、
"をフォーム崩せずに打てるので楽チン。
106でも別に崩れないが・・・
ブラインドタッチに変な癖が付いてないかい?
ESCやファンクションキーでも別に崩れるものじゃないよ
>>213
「106 101」あたりでググれば出る。
http://support.microsoft.com/default.aspx?scid=kb;ja;415060
ここはスレ違いなインターネットですね。
だっていまのところ大した話題がないし
おまいら姉ってどう思う?
多分年下じゃないな
typedef ane own.old<=ane.old
221213:04/08/13 22:57
結局101に戻る漏れ。

alias ane long; import std.stream;
void main(ane[][] args){
 stdout.writeLine(toString(args[0][0]));
}
alias 既存の型 新規の型;
じゃないのかね?
>>222
そうです。Cのtypedefと同じです。
Cのヘッダを変換する際に最も間違えやすい所です。
#define Hoge HogeA
だと、
alias HogeA Hoge;
とする必要があります。
#defineはenumにするんじゃないの?
aliasでもおんなじようなもんなのかな
http://www.kmonos.net/alang/d/pretod.html#macros
enumで置き換えられるのは1と2の場合のみ。ここで言われているのは5だからaliasを使う。
あ、なるほど、値はenumか
#define変換するのたいへんだね
まあ、プリプロセッサが無くなったことがDの特徴の一つだからね。
Cとのソース互換性は無くなったけど、コンパイルが速くなってデバッグも楽になる。
>>225
そこ見て気になったんだけど、C って入れ子の関数作れなかったっけか?
gcc の独自拡張だっけ?
>>228
gccの独自拡張です。
そういや、gcc-C と D の入れ子関数って似ているね。
真のクロージャじゃないから、スコープから外れると無効になってしまうことが。
ちょい不便。
> gccの独自拡張です。
あ、そーなんだ。
嫌になるほどガイシュツ
>>231
そして嫌になるほどやりこんだ
ズズン とボスがはじけるのがカックイイのよね
スレ違いだし素直にforeachとかfor_eachにすればいいのに
>>236
なぜ For..In なのか? なぜ Foreach や For Each や ForEver? を使わないのか?

逆の質問:なぜ "each" を使うのか?古き良き数学の教科書に出てくるような "For All x in foo" や "For Every x in foo" を使わないのはなぜか?

実際の理由:必要ないから。構文解析可能な for..in は、他の予約語を増やすことなく他の for ループと文法上識別可能です。必要以上に複雑にする理由はありません。

foreach の方が実装はしやすいだろうな、
Dの理念は、コンパイラ実装の実経験に裏打ちされた言語、1機能1予約語
do...whileはどうだろう
>>238
reverse_foreachはまだか?
そもそも foreach がダウンカウンタというのはどうだろう
Rubyもfor inだな
forはforeachの構文糖だろDelもRubyも
>>243
構文糖?
Syntax Sugar のことだろ。
foreachって何やるんだっけ?
スマン、今読んできたら解った。
for inやるとややこしくなる。バカらしいね。
248デフォルトの名無しさん:04/08/19 14:43
> 一部の信者がコピペしまくってウザいだけで
> 実際はほとんど使われてない
> だいたい言語仕様もライブラリも未完成だし
> それにC/C++を改善したって程度だから
> わざわざ使ってくれる人はそうはいない
>>248
それを理解した上でのD言語なんですよ。
わたし、なんか最近D熱がさめてきたー
逆に最近D熱があがってきますた
冷める冷めないっていうもんじゃないような。
最初言語仕様眺めてたときだけは熱かったな
実際コンパイラ落としてhello, worldしたらもう秋田
使いたいもんを使えるようにするのに
いろいろやらんとあかんから
別の言語使ったほうが早いやんってなって
結局使わん
予期せぬエラーが起こる率も高いし
>>254
そ れ が 楽 し い

と、漏れは思ってるんだがみんな違うかったのか…?orz
まともな統合開発環境が必要な状況の人を除けば、
Dが使いやすいならDに乗り換えるんじゃないか?

>254の障害さえ好奇心の勢いで乗り越えられるなら、
より使いやすい言語に移ろうと思うんじゃないかと思う。

まあ、自分よりももっと言語経験が豊富な人は、また違うかもしれない。
>>255に同意。

まぁ、仕事とかで使うなら効率落ちるから、ライブラリが出揃ってる言語使った方がいいわな。
実用的なツールを効率良くプログラミングしたいか。
趣味としてのんきにプログラミング自体を楽しみたいか。
の違いのような気がする。
>>255
Linuxerのそれと同じ楽しみ方だね。
D=学者
C,Delphi=実務家
ということですね
学際領域から出たものじゃないからね…
Dも実務向きを考えているのだろうけれど。
つかまだ1.0にもなってないのに実務だの学者だの分ける事がナンセンス。
C++だってライブラリが整備されてからだろ。
C++の歴史のほうがDの歴史より長いんだからそれだけ枯れてて当たり前。
そんなことはみんなよくわかってるし
熱くマジレスすんなや・・。
いいソフトウェアには10年はかかる
by Joel Spolsky
>1999年の12月に私が思いついた言語で、
完成まで少なくともあと5年か。
0.99きますた!
void foo{
bar();
void bar(){}
}
がコンパイル通らないのは仕様ですか?
定義が先だと通るのですが

0.99入れました!
次が0.991とかだったら悲しい
void foo(){
...
}
でした.
>>266-267
ネストした関数はかかれた順に処理される。
仕様かどうか聞く前に仕様書嫁。
>>266
普通に0.100だろ
> Added implicit declaration of length to index and slice expressions.
ってのはどういうこと?
>lengthの暗黙的宣言を、インデックス式およびスライス式に追加。
>これにより、[ ]内でlengthを変数として使用している既存のコードが動かなくなる。

え〜と・・・ printf(args[length-1]); なんてことが出来る・・・ ということでいいのか
Pythonちっくに、マイナスのインデックスを末尾から数えるようにしたほうが良い気がするんだが。
思いつきで文法を追加し続けている気がする。
>>272
それってバグでインデックスが負数になってもそのまま動きそうな。

>思いつきで文法を追加し続けている気がする。
汚いC++を嫌って逆方向に進んでたのになぜかC++に再開してしまったと。
やっぱり地球は丸かった。
配列のインデックスとスライスの[ ] 内に書かれた 'length' が、
暗黙的にその配列の.lengthプロパティを指すようになるという理解でいいのかな。

int length;
int[] array;

array[length] = 1;

というコードが潰れるということか?
これって、配列だけの動作?
それとも、[] の内側では、暗黙の this が優先される仕様なのか?
とくにユーザ定義の[]演算子の場合に。
おまいらとりあえず試せよ。

import std.stream;
int main(char[][] args){
char[] text="ABA TAN SAIKOU";
int length=7;
stdout.writeLine(text[0..length]);
return 0;
}

結果:
ABA TAN SAIKOU


>>275
stdout.writeLine(text[0..sizeof]);
とかやるとコンパイルエラーだった。
明示的に書いて不都合があるとは思えないし、
構文糖としてはちょっと異様に思えるね。
0.100!!
>>276
with 構文を内包しているのかと思ったんだが、length だけ特別なのかな?
なんか、気持ち悪いなぁ。
>268 しっかり書いてあった.ああ.
class S{
static this(){}
static this(){}
}

リンカーで落ちるのはコンパイルエラーにすべき?
0.100が出ていつ、1.0が出るんだかわからなくなってしまいましたねぇ。
ロードマップでも公開してないかぎり、普通ソフトウェアのバージョンアップ時期なんかわからないだろ。
適当なファイルをプロジェクトに含めてソースコードトランスレータ(たとえばantlr)
に処理させてその結果をコンパイルっていうのがVS7 C# IDEだとできない。

D のIDE作るとして、できるようになって欲しいな。
DIDEはどうなっちゃったの?
DIDEだけにdied



ゴメソ..orz
暗黙のlength(?) は微妙だよな。
DがC++と同じ道をたどらないことを祈るだけか。

それよりも暗黙のtoStringをどうにかしてホスィ
import std.stream;
class A{
 void hoge(int i){
  stdout.writeLine(toString(i)); //コンパイルエラー : function toString () does not match argument types (int)
  stdout.writeLine(.toString(i)); //今度は大丈夫
 }
}
>>285
飽きたから辞めたんだろ。
D言語界隈はみんなそうなんだよ。
>>287
ObjectのtoStringだけ特別扱いってのも気持ち悪いよ。
それとも継承元クラスのメンバ参照にはすべてsuper経由であることを強制するん?
まあ、元凶はそもそもObjectにtoStringなんて名前の関数があることなんだろうけど。
ObjectにtoStringがあるのは悪くないと思うんだけどね。
組込型にもtoStringプロパティを入れちゃえば解決しそうな気がする。

class A{
 void hoge(int i){
  stdout.writeLine( i.toString );
 }
}
toStringがあることによって、文字列への写像のうち一種類だけが優遇されるのは嫌だなあ…
toStringが不要なクラスも当然あるし、Object.toStringをShowableみたいなinterfaceに追い出すのがいいと思う
>>290
それに近いことはできるんだよね。
toString(int)があると、その構文が動作するし。
>>291
不要なクラスって例えば?
個人的には、Javaと同じで全てのクラスがtoStringを実装すべきだと
思うんだが…(主としてデバッグ用途/エラー提示用途に。)

>>292
> toString(int)があると、その構文が動作するし。
したっけ? 第一引数が配列のときが特別扱いなだけだったような。
>>294
例えばthreadとか、phobos中でtoStringをoverrideしてないクラスは、
toStringが不要な(文字列表現に意味がない)クラスと言えるんじゃないか?
自作クラスだって、いちいち全てでtoStringをoverrideするような真似はしないでしょ?

あと、整数も十進数十六進数符号の有無カンマの有無有効桁数と色々あるように
文字列表現が可能なクラスでも、一種類の文字列表現を優遇するのは気に食わない
295デフォルトの名無しさん:04/08/25 00:20
D言語でExplorerの右クリック拡張プログラムは作れますか?
296293:04/08/25 00:22
>>294
threadだったらthreadのユニークIDか何かはtoStringで文字列として欲しい…
> 自作クラスだって、いちいち全てでtoStringをoverrideするような真似はしないでしょ?
人間に対して意味を持つ表現のできるstateがあるクラスなら、基本的に全てoverrideしてる。
toStringが吐いてくれるのがクラス名だけで十分な場合(メタプログラミング用の補助
テンプレートクラスとか)の場合はしないけど、それは Object.toString の実装があるから。
# overrideする理由は Effective Java の Item 9 辺りを読んでくれると嬉しい。

> あと、整数も十進数十六進数符号の有無カンマの有無有効桁数と色々あるように
> 文字列表現が可能なクラスでも、一種類の文字列表現を優遇するのは気に食わない
多彩な文字列表現をオブジェクト側で提供する必要があるのなら、
その時は例えば toString( int Radix, bool showSign ) とか作れば良いんでは。
例えばC++だとoperator<<は一つしか作れないから、一種類の文字列表現を
優遇すると他が使えなくなってしまって大問題だけれど、メソッドなら別段困ることはない。
>>295
やったことないけど、D言語でCOMオブジェクトは作れる&使えるので、できるはず。
>>297
ありがとうございます
DigitalMarsってさ、Datalight-Cの末裔なんだな。
ちょっと感動した。
300デフォルトの名無しさん:04/08/28 15:56
停滞気味のD言語の300ゲトー
日本語意味不明
結局D言語でゲーム以外のまともなソフトを作った人はいるのですか?
今インタプリタ作ってる

……プログラム初心者だけど
う〜む、どこにでもありそうな300getだった。
0.300 ゲトーとか書いて欲しかった。
>>302
qbga32.dll
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=shift_jis&q=qbga32.dll

検索して一番上に出てくるページで作者が

>素直にVC++で作っときゃよかった…(^^;

と書いているのは仕様ですか?
>>303
俺漏れも
CΩらしいね。
MSに買ってもらう計画が駄目になった。
>>307
慣れてる言語の方が使いやすいのは当たり前
デバッガは何使ってる?
俺自身
田代
デバッグはママンにやってもらってる
>>282
ロードマップ作ってくれないと流石にだれるな
0.100の登場と共にDへの興味が物凄い勢いで失われてきた
>316
わたしは逆にある程度広がったアヤシイ言語としてこのままあやしげに発展してくれるのを楽しみにしている。
0.100が出たことでおもしろくなってまいりました。
318デフォルトの名無しさん:04/08/30 23:35
業務に使える程度の言語になってほしいが。

D用のアプリケーションサーバを考案中。

いかにして高速かつ堅牢なシステムにするか悩んでる。
FastCGIやServletのように処理を再帰的に行ってやるべきか
共有オブジェクトによるバイナリのキャッシュとPthread実装にするか
迷ってる。
319デフォルトの名無しさん:04/08/31 00:44
Ver1.0はもう出たの?
>319
0.100が出たよ(藁
あれ?この前まで0.9が出たとかじゃなかったっけ?
れいてんきゅうじゅうななとかれいてんきゅうじゅうはちとか
そんな感じなんでしょ?
で、れいてんひゃくと。
0.101が出てるね
0.1→れいてんじゅう
0.01→れいてんいち
0.90→れんてんきゅうじゅう
0.100→れいてんひゃく

うはwwww単純計算だとあと1〜2年でやっと1.0wwwww
つまり
0.

101
は分けて考えればいいんだな?
何でピリオドで区切ったんだろうか。
ハイフンで区切らないから変な期待を持っちゃうんだ。
どんな単純計算をすると、あと一、二年という数値がはじき出せるんだ?
つーかよ、WindowsXPも5.1.2600なんだな。
つまりVersion 0 Build 101ってことなんじゃないかと。
単純に0.1000もありうるってことだよな…。
5年で0.1から0.100だから、0.1000が完成と考えてもあと五年以上かかるな
それだけしかビルドしてないわけないだろ。
>>329
別に0.102の次は1.0となってもおかしくないだろ。計算なんて出来ない
このスレも相当レベル下がったな
追加する仕様のネタが無くなったあたりで1.0になるよ、たぶん。
普通、さらにバグが無くなった時点で1.0だろ。
まぁ完全に無くなることは無いからRCがいくつか出て特に問題なければだろうけど。
っていうか、普通バージョン表記って、
「メジャー.マイナー.ビルド数」
だろ?
Dの場合ビルド数は表記されてないけど。
メジャー.マイナー.ダブルマイナー. ビルド数
D言語
0 . メジャー
dmd1.14
dmd2 b7.1
こんな感じにすれば良いんだよなぁ。
dmd1 a101みたいに。
>>335
3番目がビルド数なのってWindows文化?
UNIXではほとんど見ないよね。
>>333
追加する仕様のネタは0.93で打ち止めで、今はバグフィックスフェーズなのじゃが。
341335:04/09/01 11:51
>>339
ごめん。何か三番目を勝手にビルド数だと勘違いしてるのかもorz
1.11
の場合メジャー・マイナー・バグフィックスの順だと聞いたが。
343デフォルトの名無しさん:04/09/01 13:20
だれか getoptモジュールつくってくれ!!
>>340
0.94以降でも追加の機能とかあるようだけど。
>>339
Windowsだと4番目がビル度数
別に正式な決まりなんて無いわけだから。
ローカルルールはあるだろうけど。
>>346
Windowsはあるだろ。
MSが定めてBorlandとかが普通にしたがっているものをローカルルールと言い張るなら別だけど。
>>348
MSが決めたことは全ソフトウェアが従うべきとか言い張るつもりじゃないだろ?
だったら一企業が決めただけのローカルルールだ。
ガイドラインをローカルルールといってるようなもんだな
確かに間違いじゃないだろうけど、ずいぶんグローバルな視野をお持ちなんですね。
「ローカルルール」って言葉に何でそんなにつっかかってんの?
M$って言えよおまいら
>>351
いま現在このスレで馬鹿なことを言ってる奴が、
その言葉を使って電波飛ばしてるからじゃない?
>>348はLinuxとかは無視か?
もともとWindows内での話だろ
バージョン表記一般の話だろ。
>>335くらいからの流れだな。

>>346の「正式な決まりは無い」に対して>>348の「Windowsはある」ってのがそもそも噛みあってないと思うのだが。
Windowsにはあるってのはつまり他にもあるってことだろ。
つまり表記方法は正式に決められてはいない。
企業や団体や個人のそれぞれのルールがあるだけ。
358デフォルトの名無しさん:04/09/01 23:40
LinuxでCのプログラムからDで書いた(オブジェクト含む)共有オブジェクトを
動的にロードして実行したりアンロードしたりしたいんですかこんな感じで
妥当でしょうか?

Cのほう

(*run)();
run = dlopen("test.so");
run();
・・・

Dのほう
class hoge{
  void start(){
    //ここで任意の処理
  }
}
extern(C){
 void run(){
   myhoge = new hogw();
   myhoge.start();
 }
}
現状、Linux用のDコンパイラでは共有ライブラリを生成できない。。。
>>359
gdc でも出来ないの?
そんなことより>>347 神

ありがとうなー
みんなもこういう優良なレスつけてくれてる人をスルーてるようじゃ
寂しいぞー。
>>357
>>339を受けての流れだろ
>>362
>>339>>335を受けてるだろうが
>>363
>>2-362>>1を受けてるんじゃないか?
おじさんつまんなーい。
>>363
いみふめ
339の疑問に答えただけだろ。
俺はWindows以外については一言も言及してないぞ。
おまえは>>348か?

>>346>>335の流れからOSを問わずバージョン表記に正式な決まりはない(もちろん企業や団体や個人によってそれぞれのルールはある)と言ってるのに対し、
>>348がWindowsにはあると言ってるのが会話として噛みあってないと言ってるのだが。
>>367
かみ合ってないのはそこじゃないだろ。面倒だからもうやめとくが。
おまいらもちついてかみあえ
ガブッ!
>>368
>335,339,345,346,348つー流れか。
「Windows文化?」という話の上で捉えると、
>346は横槍になるから、>348が入っても
おかしくはないだろうな。

「ローカルルール」ってのも、話の上では
「Windows中でもそんな文化はごくローカルな話だ」
と言っているようにとられかねないからなぁ。

かみ合わん議論を噛み砕くとすると、

少なくともWindowsでは、MSなどが主導しているおかげもあってか
ある程度aaa.bbb.ccc.ddd(またはaaa.bbb.ccc)という表記は一般的で、
このスレの平均的知識からは、aaa.bbbはメジャーバージョンの小数点
表記らしい。
そして過去の議論からほかではごく特殊な例とされている。
繰り返された結論として、「適当にしろや」

つーことになる。いや、議論が正しいかどうかは俺は知らんよ?
372367:04/09/02 18:20
というか俺が言いたいのはWindowsではどうだとか他の文化ではどうだとかよりも、
前述のようにいろいろな表記方法があるから、Dのバージョンが0.99から0.100になったって
別におかしなことでもなんでもないだろってこと。
上の方で0.99の次は1.0になると思っていた奴や
0.101の次は0.102になるはずだと思ってる奴がいるからさ。
どこのルールを基準にしてそんなこと言ってるのよ?と。
自分ルールで一喜一憂するなと。
お前ら、くだらねーことでくだらねープライド賭けて言い合ってる自覚があるのか、
それともそのことにさえ気づかないほど熱くなってるのか、どっちよ。
0.99の次が0.100なのはおかしいぞ!なんていってるやついないし

個人的には0.99はそろそろ1.0出すぞ!ってときに使いますが
ただの暇つぶしです。(たぶん)
>>374
少なくとも>>282は0.99の次は0.100だとは思ってなかったようだし、
>>316は0.100で興味が失われたと。要するに0.99から次のバージョンにかけて何らかの期待があったということだ。
>>324はとんちんかんな計算をしてる。
>>329も意味不明な計算。

このように、自分ルールで勝手に期待or計算してる奴がいる。
だからさぁ
 いやー0.99の次って1.0じゃないんですねー
 こういうバージョン番号の付け方だとこうなるね
 いやそれはこうなんじゃないかな
とか話したっていいじゃん

もしかしておまいら人と話す機会ないんですか?
バージョン番号に関する話題は、それ用のスレでも立ててやればいいでしょ。
>>377
そんな話はスレ違いだし、実際誰も「こういう付け方だと〜」みたいな話はしてない。
つーかそんなこと話してどうすんだ。Dのバージョン表記法と関係あるならまだしも。
喪前ら暇だな
馬鹿は往々にして暇を持て余しているもんだ。
逆か。そんなんだから馬鹿なんだ。
382デフォルトの名無しさん:04/09/03 00:56
D言語始めました記念ぱぴこ

MT乱数が作れたらまた来ます。
>>382
生`
この奇天烈なバージョン番号から読み取れることは
Dの作者があるあまり関心がない物を決める場合
1. なるべく標準にあわせる(標準を調べなければならないので面倒。でも標準的)
2. てきとーに決める(作者は楽チン。でも非標準的)
の二つの選択肢があるわけだがDの場合たいてい2.が選択されていて
結果として言語仕様の奇天烈さもそこからもたらされている。

オプソ界の混沌とした状況もまさに2.が原因なんだよな。
UNIX系スクリプトのif文の非統一性が特にそれを象徴している。
D言語ってバージョン番号位しか話題が無いんだな。
そりゃあ誰も使ってないから他に話題何てあるはずが無いけど(w
使ってますよ。
何に?
>>387
某スレでランチャー作ってますよ。
某スレでOS作ってますよ。
某スレで子供作ってますよ。
ワラ
>>384
> 奇天烈
自分が知らかったのは無知のせいだと認めないと損ナリよ?


一応、0.99の後は1.00にしろよ派の表記利点としては、
完成までの進捗が暗に示されることによって、先に
期待が持ちやすい(あるいは見切りがつけやすい)という
ことがある。数値は単なる目安なので、一般に飛び飛び
となり、連番にはなりにくい。(0.2の次が0.6とか、0.99のあとが
0.991とか。)
主に、ソフトウェア(ここではDMDコンパイラ)開発に携わらない
ユーザに向けた表記となる。

0.99の後は0.100だしその後いつ1.00になったって不思議じゃ
ないよ派の表記利点としては、バージョンアップが通算何回
繰り返されたかという情報がバージョン番号から読み取れる。
純粋にバージョン管理の役目を果たす。基本的に連番。
(ゆえに0.86のあとが0.88だったりすると、0.87が欠番と表現
されたりする)
主に、(DMDコンパイラ)デベロッパのための表記となる。

0.99の後が0.100なら0.999までいけよボケ派は、単に0.99->1.00派
の派生。ソートに困るという仕様により、0.99->1.00派の劣化派生といえる。


今までのDMDバージョン表記は基本的に連番だったので、0.99
の次は0.100になる可能性が大きかった。過去幾度もいちいち
この話題を持ち出した馬鹿は反省し、今後この話題が出た
場合は過去ログ嫁レスor適切なスレに即座に誘導の事。
↑は要するに俺ルールだと
よくわからんけど反省した!
DMDがクラッシュするんだが……原因がわからん……
rcs/cvsでリビジョン管理していれば自明なことを……
このスレ質問さえ無いな
マシなWinアプリ用ライブラリでもあれば何か作る気にもなるが・・・
D言語ってWinアプリ作るためにあるの?(ワラ
>>399
だれがそんなこと言ってんの?
さて、何も作る物がないのであれば
Dユーザーを増やすために入門ページ
作るためのサンプルプログラムでも
作ってみるかな。
>>401
楽しみにしてますよ
>401が入門ページ用のサンプルを作ると言った。
>402が楽しみにしているのはきっと解説文を書いてくれる気があるからに違いない。
じゃぁ、漏れは校正と編集やらせてもらうよ(ぉぃ
じゃぁ俺はレビューを…。
じゃぁ俺は、サンプルをコンパイルしてみるよ。
俺はとりあえずメシ食ってくるわ。
じゃ俺その間にお見舞い行ってくる
>>401
言語仕様を入力すると、それに沿った入門ページが出来るサンプルプログラム

じゃぁ俺は、勝手にこう解釈させてもらいま(ぇ
>>408
入力形式は?
yyyy/mm/dd
>>409
BNF での文法定義を入力すると 「はじめての XX」 と 「やさしい XX」 が出てくる。
文法だけで意味がわかるのか……?
じゃぁ、構成(サンプルプログラムとか)だけ組んでくれて、
あとは空欄を埋める(各文法の定義を解説)と、入門ページが出来るとか・・・
質問です。
javaのinstanceofに相当するものは何ですか?
cast 演算子だ
>オブジェクト o がクラス B のインスタンスであることを判定するためには、キャストを使います:
>if (cast(B) o){ /* o は B のインスタンス */ }

これって素直に instanceof でもよさそうな気もしないでもないんだが・・・
まあ、順番について間違いにくいからよしとするか。

それにしてもあのリファレンスってまとまってないよな。
cast演算子のついでにこれが紹介されてるとは。
OS屋が作ったわけでも無ければ、資産持ちが作ったわけでもないからな。
普及が生命線というわけでもないだろうし、こんなもんでしょう。
if(k == 0)
debug{printf("test");}

リリースコンパイルでクラッシュ
クラッシュはアカンな。

だけどそんなプログラム書くほうもアカンな。
try{
debug(p);   //ここは大丈夫らしい
}finally{
debug(p);
}
こんなんもクラッシュ
報告しようにも英語よくわからん
Compiling following code:
void main() {
  int k = 1;
  if(k == 0)
    debug{printf("test");}
}
with -release option crashed dmd.

とかでいいんじゃね?
>>415
目から鱗です。castか。ありがとう

>>420
使わせてもらた
ありがd
D言語でぐぐってたら
 D言語 ttp://hccweb1.bai.ne.jp/hiro/
なんてサイトに衝突w
おめでとう
>>423
そこD言語で検索するといつも出てきてウザいから
その旨をサイト管理人に伝えてくれ
プログラミング言語D
gdcってどうなん?
いつの間にかCygwin入りしてたけど.
Cygwinは1.0になってからにすりゃいいのに。
Cygwinの評判を落とすだけだな。
gdcって
gnu d compire?
そう書いてあるな
今Down中
>今Down中
物が物だけにシステムダウンでもしたのかと疑いたくなる。
とりあえずHelloWorldは動いた。



当たり前やん
433デフォルトの名無しさん:04/09/10 14:53:34
漏れもこの前Cygwinのバージョンあげたら入っててちょっとびっくり。
ところで、GCCにDコンパイラあるってことはMacでD出来るのかな?
どうせMacもってないけど。
434デフォルトの名無しさん:04/09/10 18:51:17
OSXはUNIXだから、当然Winなんかより早くから動いてるよ 
435デフォルトの名無しさん:04/09/11 11:57:51
次はDebianとGentooとFreeBSDに入らんかなあ
436デフォルトの名無しさん:04/09/12 09:19:11
D言語はいつになったらE(良い)言語になれますか?
437デフォルトの名無しさん:04/09/12 12:10:06
Dに更なる新指向と抜本的言語の改造が行われれば・・・・

   というよりも1.00を先に期待
438デフォルトの名無しさん:04/09/12 13:18:39
> Dに更なる新指向と抜本的言語の改造が行われれば・・・・
Dじゃない新しい言語作った方が早そう。
439デフォルトの名無しさん:04/09/12 14:13:51
DはRubyのパクリ
440デフォルトの名無しさん:04/09/12 14:24:24
D = C + C++ + C# + Java + Ruby + Perl + ・・・・・・・ + Ada + Objective-C - いっぱい

ん? C+++C#ってどうなるんだ?
441デフォルトの名無しさん:04/09/12 15:37:22
>>440
Delphi
442デフォルトの名無しさん:04/09/12 16:12:10
int main(char[][] args){
 int C = 10;
 int C# = 20;
 printf("%d\n",C+++C#);
 printf("C = %d\n",C);
 printf("C#=%d\n",C#);
}
443デフォルトの名無しさん:04/09/12 16:15:31
いまさらながら#って変数名に使えないな。各自#→Sharpで脳内補完汁
でもって実験結果。
 30
 C = 11
 C#=20
444デフォルトの名無しさん:04/09/12 16:28:51
>>442
int main(char[][] args){
  int C = 10;
  int C# = 20;
  printf("%d\n",C+++C#);
  printf("C = %d\n",C);
  printf("C#=%d\n",C#);
}

これで半角スペースでインデント出来てるかな。
445デフォルトの名無しさん:04/09/12 17:34:39
そろそろ2chも半角スペースは&nbsp;に置き換えてほしいよな
446デフォルトの名無しさん:04/09/12 20:13:29
他にD言語の実装ってある?
447デフォルトの名無しさん:04/09/12 21:01:23
何の他に?
448デフォルトの名無しさん:04/09/12 21:15:34
dmdとgdc …… ないか
449デフォルトの名無しさん:04/09/12 21:18:37
Dの開発環境作る人いたら、
半角スペースやTABを&nbsp;に変える機能つけて欲しいと微妙に思う。
450デフォルトの名無しさん:04/09/12 21:21:38
置換ってしらないのかな。
451デフォルトの名無しさん:04/09/12 21:24:04
gdc -E

何に使うんだ?
452デフォルトの名無しさん:04/09/12 22:09:39
>>450
いやいや、例えば
CTRL+bで選択領域を半角スペ&TABを変換してコピー
みたいなことをやってみたいわけで。
453デフォルトの名無しさん:04/09/12 22:29:13
クリップボード内のテキストを置換するグローバルホットキーとか作ったほうが、
いちいちIDE毎に実装するよりいいでしょ。
454デフォルトの名無しさん:04/09/12 23:28:08
void test1()
{
printf("--1--");
return;
}

void test2()
{
stdout.writeLine("--2--");
return;
}

test1();
test2();

=========結果=====
--2--
--1--
=========結果=====

これって仕様?混在は×?
それともなんか抜けてる?
勉強始めたばかりなので教えてくださいえろい人
455454:04/09/12 23:32:56
stdout.printf
があったんだ...ごめんなさい
456デフォルトの名無しさん:04/09/14 20:15:07
GUI何使ってる?
457デフォルトの名無しさん:04/09/14 20:15:33
Ruby!
458デフォルトの名無しさん:04/09/14 20:16:06
>>456-457
またこれですか?
459デフォルトの名無しさん:04/09/14 20:20:53
つーか、反応はや
460デフォルトの名無しさん:04/09/14 20:47:32
26秒・・・ 早杉

どうせなので意味も無く叫んでみる。
WideStudio!
461デフォルトの名無しさん:04/09/14 20:49:06
GTK+って使えそう?
462デフォルトの名無しさん:04/09/14 20:55:41
damedame
463デフォルトの名無しさん:04/09/14 21:02:44
omosugi
464デフォルトの名無しさん:04/09/15 04:59:49
465デフォルトの名無しさん:04/09/15 06:54:37
oversea
466デフォルトの名無しさん:04/09/15 19:38:26
確かにありそうな話だ。
467デフォルトの名無しさん:04/09/16 22:32:20
C#2.0でいいや、俺。
468デフォルトの名無しさん:04/09/16 22:35:51
nativeうまー
469デフォルトの名無しさん:04/09/17 01:59:59
Longhornでは.NETがネイティブになるわけだが。
という言葉遊びはおいといて
GCが重複してメモリ効率が悪くなるからWindowsでは素直にD.NETを作るべきだな。
純粋に言語仕様対決になったらまず生き残れないって気もするけど。
470デフォルトの名無しさん:04/09/17 02:49:57
言ってる事が幼稚だな。
471デフォルトの名無しさん:04/09/17 04:11:13
>>469
D.NET ならすでにαが出てるわけだが。
472デフォルトの名無しさん:04/09/17 04:21:16
>>470
幼稚なのはD言語です ;-)
473デフォルトの名無しさん:04/09/17 05:48:39
Dが純粋にマルチプラフォなら使うのだがね。
phobosでわざわざOS毎にライブラリ仕切ってるからそうはならないんだろうな。
474デフォルトの名無しさん:04/09/17 06:49:01
>>473
JAVAじゃん、、、
475デフォルトの名無しさん:04/09/17 08:34:11
476デフォルトの名無しさん:04/09/17 13:30:52
delphi2005
477デフォルトの名無しさん:04/09/17 18:02:23
>>473
Dでマルチプラフォなライブラリ使うんじゃダメ?

DにはOSのAPIも呼び出せるような
柔軟性というか多様性というかが、
要求されてると思うのだが。
478デフォルトの名無しさん:04/09/18 21:16:36
ところで、返り値を要求する関数において特殊な場合、
returnを書き忘れてもコンパイルが通る上に
AssertError発生するんだけど、、、
条件分岐で、場合によってreturnする場合に生じるらしい。

int hoge=0;
int doHoge(){
  if(hoge){
    return 1;
  }
  //return書き忘れ
}  //ちなみにこの行でAssertErrorということになってる
int main(){
  doHoge();
  return 0;
}
479デフォルトの名無しさん:04/09/18 21:44:03
まだ正式版でもないんだから多少のバグは勘弁してやれよ
480デフォルトの名無しさん:04/09/18 22:34:34
留byの砲が多い伊予。
留byさいきょう!
Rubyyyyyyyyyyyyyyyyyyyyyyyyy
481デフォルトの名無しさん:04/09/18 22:35:54
たしょう ―せう 0 【多少】

(名)
〔「少」は助字〕多いこと。はなはだしいこと。
482デフォルトの名無しさん:04/09/18 23:27:59
バグを書いたら英語に翻訳してくれるソフトを開発せよ
483デフォルトの名無しさん:04/09/19 01:18:02
>>478
実行されないはずのパスが実行されたらアサート、って仕様のような気がするけど、違うの?
484デフォルトの名無しさん:04/09/19 01:50:48
キモい仕様だな・・・
せめてreturnとassertどちらかを明示しなければコンパイルエラーとかにすりゃいいのに。
動的言語の悪いところだけを取り込む必要はないだろ。
485デフォルトの名無しさん:04/09/19 23:32:18
>>484
throwも
486デフォルトの名無しさん:04/09/20 01:02:41
>>484
コンストラクタでのthis,super呼び出しの制限と同じで、
いちいち可能な全部の経路でreturnが保証されるかを
コンパイラが考える手間を削るためじゃないか?

一応、上のコンストラクタのほかに、switch文のdefault
での動作などを見れば、一貫性があるように思われるし。
487デフォルトの名無しさん:04/09/20 20:32:27
コンパイラ作成の手間を削りたかったらそもそも作るなと。
488デフォルトの名無しさん:04/09/20 21:20:31
コンパイル速度や実行効率を優先してるんだろうな。たぶん。
せめて仕様書にreturnしないとAssertErrorするとか書いてあれば・・・
489デフォルトの名無しさん:04/09/22 07:16:16
もはや誰も使って無さそうな言語だけど結局敗因は何だったの?
490デフォルトの名無しさん:04/09/22 11:27:56
仕様を欲ばって、バグ潰しに追われてしまった。
VM抜きLimboくらいに割り切った仕様にすべき
491デフォルトの名無しさん:04/09/22 12:44:43
0.102 きたー
492デフォルトの名無しさん:04/09/22 12:49:02
一応上げ
493デフォルトの名無しさん:04/09/22 14:54:37
0.102・・・あー気が遠くなるなー('A`)
494デフォルトの名無しさん:04/09/22 19:44:28
えーと・・・
 make.exeが標準(?)で付属
 zlibが新しくなった

>>490
とはいえ後から後から機能が追加されて、
CやらC++やらの二の舞は避けたかったんだろうな。たぶん。
495デフォルトの名無しさん:04/09/22 19:49:09
バグがなかったとしてもゴチャゴチャしすぎだよ。
あの言語仕様でC++/Javaに対する非互換性という
巨大なデメリットを回収できたとはとても思えないな。
496デフォルトの名無しさん:04/09/22 23:29:34
実装に便利な機能を満載したんだったら、
どんどん実装できるようにコンパイラもすごい速度で実装してください。
仕様変更に追随するのが面倒でコードが書けないよ。
497デフォルトの名無しさん:04/09/22 23:31:56
正式版でも無いのにお門違いな文句吐かないで下さい
498デフォルトの名無しさん:04/09/23 00:45:47
おもちゃ用に小型なUNIXっぽいOSを書いてるんだがユーティリティ関係
の開発はDをメインで使おうかと思案してる。
どうだろうか
499デフォルトの名無しさん:04/09/23 00:58:22
どうでもいい
500デフォルトの名無しさん:04/09/23 01:06:29
うp
501デフォルトの名無しさん:04/09/23 01:33:53
>>498
PureDキボンヌ
502デフォルトの名無しさん:04/09/23 01:35:03
D言語で作ったCキボンヌ
503デフォルトの名無しさん:04/09/23 04:38:15
>>498
どのくらいで動きそう?
504498:04/09/23 10:58:22
>>503
一ヶ月は先なんじゃないかなぁ。
通勤中に足りない情報とか知識を補完しておいて帰ったらそれを試して
みてみたいな事の繰り返しなんで、、
ちゃんと動くようになったら見せますわ。
505デフォルトの名無しさん:04/09/23 11:00:19
>>502
インタプリタでいい?
506デフォルトの名無しさん:04/09/23 11:17:18
>>501
D言語ってリアルモードのコード吐けんの?
507デフォルトの名無しさん:04/09/23 16:13:02
>>506
リア厨ですか
508デフォルトの名無しさん:04/09/25 13:32:56
D言語には早く.NETに対応してほしいものだ。
509デフォルトの名無しさん:04/09/25 13:56:17
D.NETあるやん
510デフォルトの名無しさん:04/09/25 14:07:40
Dが.NETに対応して、それってC#に勝る点何かあるのか?
511デフォルトの名無しさん:04/09/25 16:55:56
>>510
M$製じゃない
512デフォルトの名無しさん:04/09/25 17:10:51
どとねとやるならC#でかまわない気がする。
つーかD一本でやってる人ってどのくらいいるんだろ?
みんな他の言語も併用してるでしょ?
513デフォルトの名無しさん:04/09/25 19:26:43
>>512
ノシ

というか、生活におけるプログラミングの
比率が少ないから、たまにしかやらないんだけどね。
514デフォルトの名無しさん:04/09/25 21:03:28
>>512
ノシ その2

昔C/C++で中途半端に挫折したけど。
最近D触って見たら結構飲み込みやすかったのでDオンリー。

なんと言うか、言語自体と一緒に成長してる感じもたまらん。
と言っても、D+SDL+OpenGLで簡単なゲーム作ってるだけだけどね。
515デフォルトの名無しさん:04/09/25 23:17:17
プログラミング言語なんて、10やそこらはみんな習得してるでしょ。
516503:04/09/26 00:14:51
>>504
そか。頑張れ。
517デフォルトの名無しさん:04/09/26 00:17:05
最近は一つしか使えない人も多いみたいですよ。
algol 系なんてどれも大差ないのにねえ。
518デフォルトの名無しさん:04/09/26 00:17:54
なるほど。Dのみの人もいるのかぁ。
なんとなく、D自体知ってる人少ないから(少なくとも漏れの周りはね)
あまりいないのかなと思ってたけど、この段階で2人いたか。

まぁD分かってれば.NETやるときにC#覚えるのも苦にならないと思うし、
敢えてDを.NETに対応させなくてもいいんじゃないかとか考えますが・・・

でも使わずにぶーぶー言うのもなんだし、今度D.NET使ってみようかな。
519デフォルトの名無しさん:04/09/26 00:40:16
>>498みたいな人にとっては先にドトネト無くても動く分、
Dの方がお手軽なんだよね。
520デフォルトの名無しさん:04/09/26 00:57:16
つーか、同系統の言語をいくつも覚えてもしょうがないだろ
521デフォルトの名無しさん:04/09/26 01:06:38
>>520
まあ algol 系、lisp 系、Smalltalk などのオブジェクト指向系、
JavaScript などのプロトタイプ系くらいは押さえてほしいが、
言語を「覚える」なんていってる時点でキミはダメダメ。
覚えるのと使えるのとは大きな差がある。
522デフォルトの名無しさん:04/09/26 01:29:49
algol系なんて気取った書き方して玄人ぶりたいんだろうが、Cとその派生しか役に立たん罠。
Javaを出さずにわざわざSmalltalkなんて書いちゃってるのもいい証拠。
523デフォルトの名無しさん:04/09/26 01:32:18
>>522
単に世代の差ちゃうんかと。
524デフォルトの名無しさん:04/09/26 01:39:23
そのリストに関数型言語が入っていたら完璧なのにね
525デフォルトの名無しさん:04/09/26 01:41:08
>>524
Lispって関数型じゃないの?
526デフォルトの名無しさん:04/09/26 01:41:39
論理型が抜けてる
527デフォルトの名無しさん:04/09/26 02:03:00
オブジェクト指向系として、Smalltalkの代わりにJavaにはならないだろう。
528デフォルトの名無しさん:04/09/26 02:06:07
さて、スレの流れが変わってまいりました。

漏れはC,C++,D,Delphiくらいしか使えません。
529デフォルトの名無しさん:04/09/26 02:15:27
C/C++, Perl, Java くらいかなそれなりにまともに使えるのは。
つかこの3種はEffective持ってるのが大きいかも。
Basic系は昔は書いてたが今はもう無理だと思う。
C#とDは多分書けるだろう程度。
530デフォルトの名無しさん:04/09/26 03:12:57
ここでOCamlですよ
531デフォルトの名無しさん:04/09/26 03:20:09
>>527
研究とか学習ならSmalltalkで実用性ならJavaか、学者とリーマンの対立。
532デフォルトの名無しさん:04/09/26 09:24:02
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>> DD
533デフォルトの名無しさん:04/09/26 10:05:57
DDってなんだよ…
534デフォルトの名無しさん:04/09/26 10:45:20
D = Destroyer
535デフォルトの名無しさん:04/09/26 12:29:21
DD=どーもすみません
536デフォルトの名無しさん:04/09/26 13:03:22
DD=だめでもともと
537デフォルトの名無しさん:04/09/26 23:18:33
DやっててC#に戻ったら演算子のオーバーロードのやり方忘れた。
538デフォルトの名無しさん:04/09/26 23:30:34
D言語向きのまともなGUIライブラリが出てこないとなんともなー・・・
539デフォルトの名無しさん:04/09/26 23:52:11
もうみんな飽きちゃったからもうだめぽ
540デフォルトの名無しさん:04/09/26 23:55:21
>>538
私の知識は数ヵ月遅れているけど、DUIってどうなったの?
541デフォルトの名無しさん:04/09/27 00:20:43
まともにウィンドウズプログラムができんからな。
542デフォルトの名無しさん:04/09/27 14:32:11
DとECMAScriptに期待してる
はよDの完成版とESの次版がでんかな
543デフォルトの名無しさん:04/09/27 16:19:08
この手の言語はプリプロセッサ必須だよな

#define DEF(def) def ...a)
#include "hoge.dat" // DEFのテーブル
#undef DEF

#define DEF(def) def ... b) a)とは違う内容
#include "hoge.dat" // DEFのテーブル
#undef DEF

Dじゃこんな事できねえだろ?
カーニハンの戦略は先見性が優れていたって事だ
544デフォルトの名無しさん:04/09/27 16:56:38
>>543
テンプレートと違うの?
545デフォルトの名無しさん:04/09/27 17:11:26
テンプレートじゃ代用にならないな
546デフォルトの名無しさん:04/09/27 17:13:46
phpでhtml作るみたいな感じでスクリプトでソース生成できたりしたらいいのに。
547デフォルトの名無しさん:04/09/27 17:38:50
>>543
そのくらいの機能なら追加されるんと違うかな?
asp触ってた頃は確かにインクルードさまさまだったな
548デフォルトの名無しさん:04/09/28 16:11:56
>>543
DはC/C++みたいに環境や状況毎の切り分けありえるからなあ。
やっぱマクロは無くしちゃまずかったんでは?
昔からコンパイラ作ってるとこだから、技術的に困難てわけでもないだろうし。
549デフォルトの名無しさん:04/09/28 17:34:07
versionじゃだめ?
まったく見当違いならごめん。
550デフォルトの名無しさん:04/09/28 20:20:13
>>549
[data.txt]
0x00, 0x11, 0x22,

とあったとき、
unsigned char data[] = {
#inclue "data.txt"
};

ということとかは出来ないね。プリプロセッサは分かりにくくなるだけだと思うけどな…。
551デフォルトの名無しさん:04/09/28 23:20:28
しょーもない質問で申し訳ないのでつが
!== ってマニュアルのどこに説明がありますか?
552デフォルトの名無しさん:04/09/29 04:26:27
だれか>543を詳しく説明してくれませんか。
553デフォルトの名無しさん:04/09/29 04:46:34
そんなにプリプロセッサ使いたきゃCのプリプロセッサでも使っとけ


って言われそうなヨカーン
554デフォルトの名無しさん:04/10/02 21:28:27
>>551
旧仕様に対する互換性を保ったのか、それとも単なる構文の削除ミスなのか、
それともそれとも、壮大なバグなのか、ジョークなのか、作者の陰謀なのか、

ともかく、!=と同等みたいだけど、マニュアルに解説なんてないな、確かに。

>>553
そんなにプリプロセッサ使いたきゃプラグマでも使っとけ。
ところでどんなプラグマがあるのか全然わからんのだが。
555デフォルトの名無しさん:04/10/03 00:55:10
>>554
旧仕様というか、同一性演算子 is が無かった時代の === に対する否定形が !==。
!( a is b ) と同じ。
クラスオブジェクトと配列以外の型については、等値式と同じと書いてある。
556デフォルトの名無しさん:04/10/07 17:09:51
Longhorn氏ね
.NET氏ね
家のPen2マシンを頃す気か
557デフォルトの名無しさん:04/10/07 17:32:22
それは流石にPen2使ってる方が悪いよ、
558デフォルトの名無しさん:04/10/07 17:54:02
というかスレ違い氏ね
559デフォルトの名無しさん:04/10/08 01:35:17
const int C = -1;
void foo(int x = C){}
がコンパイル通りません。バグですよね?

version 0.102
test.d(1): neg1 is not an expression
560デフォルトの名無しさん:04/10/08 22:21:16
だにぇ
561デフォルトの名無しさん:04/10/09 05:38:06
誰かD言語の駄目な所をまとめてよ。
良い所なら公式とか見ればすぐ分かるんだけど。
562デフォルトの名無しさん:04/10/09 05:45:38
次期C++はD言語の良い所を盗んでしまえ!
563デフォルトの名無しさん:04/10/09 11:11:54
・動的クラス生成ができない
・入れ子クラスができない
・""の文字列リテラルに日本語を入れられない
・ライブラリがしょぼい
・コンパイラにバグが多い
・自分の使わないような機能を他の人が使ってると、
 なんの機能だかわからないことがある(^^;

こんなところかな。

printf(r"初期化失敗""\n");
564デフォルトの名無しさん:04/10/09 11:57:09
>""の文字列リテラルに日本語を入れられない
UTF-16使え
565デフォルトの名無しさん:04/10/09 14:15:47
>>563
入れ子クラスって、
class Foo { class Bar {} }
のこと?それなら出来るでしょ。
566デフォルトの名無しさん:04/10/09 16:03:52
Dのダメな所。

・仕様が変更される恐れがある
・ライブラリが揃ってない
・マニュアルが少ない

ぐらいにしか思わないナァ…
567デフォルトの名無しさん:04/10/09 16:39:47
・作者の感性が変態的
568デフォルトの名無しさん:04/10/09 16:44:26
Q. D言語のデメリットはなんですか?

・まだまだ初期段階。仕様も変わりそう。でも、逆に将来を期待できるかも。
 最初は使い物にならなかったJavaが見直されて今ではサーバーサイドの
 シェアを占めているように(書いてる人の主観です。)

・基本ライブラリが貧弱&不足すぎ。
 でも、DLLが流用できるのでコミュニティの頑張り次第。

・使われるであろう分野が見込めない。サーバーサイドはJavaだし、
 クライアントサイドもC/C++とかでしょう(書いてる人の主観です。実際どうだか知りません)

・マイナーで少ない情報に困る。JavaやC#は開発元の強大な資本力によるプッシュによって
 あっという間に認知され、情報や書籍などには困らないでしょう。が、そんな力がDMにあるとは
 到底思えません。ボーランドがD Builderを出してくれることを期待。

・誰も知らないこと。
569デフォルトの名無しさん:04/10/09 16:59:43
サーバサイドは、VMで動くJavaや.NETの方が、forkがない分早いからね。
もちろん大規模サイトに限るわけで、小さなCGIの分野に入り込むスキはあると思うけど。
570デフォルトの名無しさん:04/10/09 23:36:52
サーバーサイドは個人では、PerlやPHPとか多いですよね。
Java Ruby c c++ も使ってる人はいるんだろうな。
Java使って公開してる人は無料サーバーではないだろうから気合入ってるよな。

http://www.dsource.org/
ここには、
apacheモジュールでdspってのとか、
mango treeっていうアプリケーションサーバーとがあります。
forkしたくなければサーバーでこういった仕組みを使う手はあります。
ただ、perlの普通のCGIに比べると断然速いっす。
http://module.jp/blog/cgi_php_servlet_modeprl_benchmark.html
ここ見ると、CとDの起動速度はほとんど変わらないのでDはPerlの4倍以上速いです。
571デフォルトの名無しさん:04/10/09 23:40:20
やばいあげてしまった。

◆Dの不満な点

-動的な配列やハッシュがnullにならない。lengthは0になるけど。
-ライブラリ(phobos)の名前の付け方がいまいちでコンフリクトを良く起こす。
例)std.string.toString(int)
-PerlでいうCPAN的な存在がないので、ライブラリが分散してる。
一箇所に集中してあって、自動インストールできる仕組みがあるといいなと。
ActivePerlのAPANのppmとか便利だよなぁ。
http://www.dsource.org/あたりが本命
-cast演算子は長くなるので嫌。
-int a=0;int b=(a);とするとc言語のキャストだと怒られる。
-仕様が大きい。
-大御所が開発していない。
-開発環境がしょぼい。
-GUIライブラリに標準なものがない。
572デフォルトの名無しさん:04/10/09 23:41:26
-DLL作るの大変。楽に作れると良いな。
-DLL呼ぶの大変。DのクラスがそのままDLLになってくれるといいな。
-COM作るの大変。楽に呼べると良いな。
-COMの呼び出し大変。楽に呼べると良いな。
-標準でソースからのドキュメント生成ツールがない。
Doxygenがあるけど、初心者には使いずらい。私は使えない。見にくい。
Wikiっぽい文法で書けるツールが欲しい。
-使っている人が少ない。
-対応環境が少ない。Cとか、C++の上に乗っかれば、対応環境が増えてよかったのに。
-標準でUTF-8をShiftJISに変換して画面に出力する機能がない。
-zipのライブラリの実装が中途半端。結局みなさんzlibを使ってる。
-WindowsAPI対応が標準でいまいち。YTさんのを標準に組み込んで欲しい。
-日本の企業が参入してない。
-リフレクションがない。バイナリでもやって出来ないことはない。
shinichiro_hさんがやってみてる。
-ソースを隠蔽してバイナリ配布するためには、
結局、実装のない定義だけのヘッダファイル的なdソースを書かなきゃいけない。
自動的に、処理をなくしたソースを生成するツールが必要だ。
573デフォルトの名無しさん:04/10/09 23:41:58
-標準でfiber、microthread、continuation
途中で止まってまた再開できる関数がない。
-標準でSDLライブラリがあってもいいと思う。
-インタプリタ的に使えない。
コマンド作って、コンパイル作業を自動で行って、
インタプリタ的に実行できるといいんじゃないかなぁ。
コンパイル結果はどっかにキャッシュするってことで。
必要なライブラリはimportとdlibpath環境変数みたいなのから探すみたいな。
>dgo a.dで勝手にコンパイル実行みたいな。
せっかくだから、ほんとに足りなかったらネットワーク上から
拾ってきてリンク試してくれたりするとうれしいなぁ。
-スライスが...と..の両方欲しい。
-switch文に範囲指定がない。
-ハッシュの値付き初期化が出来ない。
-配列の値付き初期化がstaticじゃないとできない。
-例外発生時にスタックトレースが見れない。
574デフォルトの名無しさん:04/10/09 23:48:00
文句が多い香具師だな
575デフォルトの名無しさん:04/10/10 01:13:14
そりゃ欠陥が多いからしゃあない。
576デフォルトの名無しさん:04/10/10 02:25:35
弱点とか言ってるけど>>571-573全てクリアしてる言語が知りたいよ。
577デフォルトの名無しさん:04/10/10 03:25:12
何一つクリアしていないことが問題なのでは。
578デフォルトの名無しさん:04/10/10 03:36:59
とにかく(事実上)標準のGUIライブラリがないのは痛すぎる
579デフォルトの名無しさん:04/10/10 10:18:07
言語に求めるものが多すぎる気がする。
#そういうこというからロートルって呼ばれるんだろうな。
580デフォルトの名無しさん:04/10/10 12:16:21
従来言語との互換性が皆無なわりに
独自のメリットもほとんどないって所が問題なんだよ。
581デフォルトの名無しさん:04/10/10 12:43:12
>>576
文句じゃないですよ。
発展のためには問題点を列挙するのはいいことだなぁと
共感したので書けるだけ書きました。

・使われるであろう分野が見込めない
って話が出てるけどこれ重要かと。
ネィティブなゲームアプリケーション分野に特定できてもいいかと。
・ガーベジコレクションをつんでいるのでシンプルにプログラムを書ける。
・文字列操作が標準で非常に楽に出来る。
・ネィティブなので高速性を求められる処理が実現できる。
・SDLを利用したマルチプラットフォームなゲーム開発がさかんに行われている。
ってところまでは良い。
問題はゲームに向いた言語仕様が分かっていて、
ゲームプログラマーはこの機能を欲していて、
やれば出来るのに実現されていないという点だ。
その言語仕様とは以下の2つだ。
・範囲指定付きのswitch文
・fiber(microThread)
fiberはライブラリでもいけそうだけど。
後、実行環境については、
・リアルタイム処理向けのガーベジコレクタ
があるとよりゲームに向いていると言えると思う。
これがあれば「D言語はゲームプログラミング用に進化した言語だ」と謳える。
582デフォルトの名無しさん:04/10/10 12:51:02
いつからDはゲーム用になったんだ。
まあ実際日本じゃゲームにしか使われてないような気がするけど。
全く使われてないような気がする海外よりかはマシか。
583581:04/10/10 13:15:29
あ、リアルタイム処理向けガーベジコレクタっていうのはやっぱなし。
RTSJみたいな感じがあったらいいんじゃないかなと思っただけです。
584デフォルトの名無しさん:04/10/10 13:20:19
>・範囲指定付きのswitch文
どうでもいいとこにこだわりすぎ。
585デフォルトの名無しさん:04/10/10 16:29:34
D言語用のTkはないの?
586デフォルトの名無しさん:04/10/11 05:35:40
LISPだとこういった拡張云々で話は拗れないのだが
いっそのことLISPでD言語作りなおせば?
厨避けにもなる
587デフォルトの名無しさん:04/10/11 05:45:18
それはもはやDISPであってDではない
588デフォルトの名無しさん:04/10/16 13:07:52
LISPってOOPじゃないのにOOP言語を作ることもできるのか?
589デフォルトの名無しさん:04/10/16 14:43:48
RT処理用GCとか言ってるが、RT処理って何をさしてるつもりだ?
ただのincremental GCの話をしてるのか?
590デフォルトの名無しさん:04/10/16 15:06:20
>>588
当り前だろ
591デフォルトの名無しさん:04/10/17 13:57:43
コード補完が出来るようなIDEないですか?
592デフォルトの名無しさん:04/10/17 15:00:04
C#2.0に駆逐される言語のスレはここですか?
593デフォルトの名無しさん:04/10/17 15:01:01
ぶっちゃっけネイティブコードも吐けない言語はどうでもいい
594デフォルトの名無しさん:04/10/17 15:11:07
JITのcacheはネイティブだろが。
595デフォルトの名無しさん:04/10/17 15:27:00
はいそこC#の話に釣られないように。
596デフォルトの名無しさん:04/10/18 23:08:20
YaneSDK4Dのサンプルがコンパイルできません!
mingwin拾ってきてmakeだけコピーして、makefileも余計な事せずにやってみたのですが…。
makefileってC style cast deprecated,っていうエラーがy4d_auxやらそこかしこから出てきて何もできません。
597デフォルトの名無しさん:04/10/18 23:30:38
cast()
598デフォルトの名無しさん:04/10/19 08:17:37
>>588,590
CommonLispにはOOあったようにおもうけど違ったっけ?
599デフォルトの名無しさん:04/10/19 10:45:17
cast関連修正したのがやねうBBSに張り付けてあったと思うが
600デフォルトの名無しさん:04/10/19 14:45:04
>>599
ありがとうございます!
というか夜中まで頑張ってcastしまくってた自分がアホらしくなって参りました。

しかし、置き換えたら今度は
Error 42: Symbol Undefined __ModuleInfo_3SDL
と出ます…悔しいです!
601デフォルトの名無しさん:04/10/19 14:46:08
>>597
すいません、597さんの発言も役に立ちました、ありがとうございます。
そして下げ忘れました。ごめんなさい。
602デフォルトの名無しさん:04/10/19 19:39:19
Monoがあるのに、WindowsとLinuxしか動かないD言語の存在意義を教えてください!
603デフォルトの名無しさん:04/10/19 20:26:42
>>602
mono と比べてなんの意味があるのか。
# それと今は gdc があるから...
604デフォルトの名無しさん:04/10/19 20:36:26
gdcてどこが作ってるの?
DigitalMars自身?
605デフォルトの名無しさん:04/10/19 23:50:34
gnuだろ?
606デフォルトの名無しさん:04/10/20 00:05:01
ABA GamesのTsumiki Fightersがビルドすると実行できないんですが、
誰か出来た人いますか?
ビルドは成功するんですが、実行するとboot.dの_moduleCtor()で
circular initialization dependency with module shipという例外を
吐いて終了してしまいます。

dmdのバージョンは0.102です。
誰か教えてください。宜しくお願いします。
607デフォルトの名無しさん:04/10/20 01:19:21
>>602
gdc
http://home.earthlink.net/~dvdfrdmn/d/

Supported Systems
GCC 3.3.x, 3.4.x
Linux (tested on Red Hat 7.2, 8)
Mac OS X 10.3.x
FreeBSD 5.2.1
Cygwin

FreeBSDクロスコンパイラ
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

Monoより開発環境小さいのでインストール楽。
ランタイム必要ないのもいいな。

Monoはデカイし、ランタイムも必要だ。
608デフォルトの名無しさん:04/10/20 21:38:40
CマガにD言語の特別記事出てますな。
609600:04/10/20 22:00:04
ところで、まだ
Error 42: Symbol Undefined __ModuleInfo_3SDL
が解決できないのですが、僕だけなのでしょうか…?ショボーン
610デフォルトの名無しさん:04/10/20 22:16:58
__ModuleInfo_3SDL が定義されてないつーことは…
611デフォルトの名無しさん:04/10/20 23:15:05
リンクするライブラリが足りないのでは。
612デフォルトの名無しさん:04/10/20 23:16:30
>>608
http://www.cmagazine.jp/

特別記事だらけで、ページ数が少ない予感。
613デフォルトの名無しさん:04/10/21 01:34:09
とりあえずWideStudioをD言語にポートという話がでてこないあたり
いかに普段からまともに使われてないかがよくわかる
614デフォルトの名無しさん:04/10/21 02:09:17
WideStudio自体相手にされてないから。まともな開発者からは。
615デフォルトの名無しさん:04/10/21 14:00:53
GUI関連、ググってみた。
gtk+ の検索結果 約 846,000 件中 1 - 10 件目 (0.43 秒)
wxWidgets の検索結果 約 296,000 件中 1 - 10 件目 (0.24 秒)
WideStudio の検索結果 約 26,000 件中 1 - 10 件目 (0.18 秒)

WideStudio面白ねぇ。時間があればやってみたいなぁ。

そんなに、D言語やってる人いないんだから、
あっちも、こっちも、手つけられないと思うよ。

中途半端に手をだすと、今度は飽きっぽいと言われちゃう。
616デフォルトの名無しさん:04/10/21 19:20:07
>>612
買って見た所、7ページだった。
いまいちD言語のよさを語りきれてなかったように感じる。

配列長の変更とか配列のスライシングとか
ライブラリの流用とかも書いてほしかったなぁ。
617デフォルトの名無しさん:04/10/21 22:16:32
>>616
買ってこようかと思ったけど、それじゃいらないなぁ。
618デフォルトの名無しさん:04/10/21 22:30:32
なんでこういう仕様にしたかとか、そういう裏事情を語ってるページ無い?
言語作成の参考にしようと思って。
619デフォルトの名無しさん:04/10/21 23:56:44
>>618
http://www.digitalmars.com/d/
読むの大変だけど、Walterタソが登場してる辺りだけでも
探ってみると参考になるかもね。
620619:04/10/21 23:57:34
621デフォルトの名無しさん:04/10/22 00:45:56
http://www.digitalmars.com/drn-bin/wwwnews?D
こっちのが古いでス
622デフォルトの名無しさん:04/10/22 21:42:02
このYahooグループに入会すれば、DIDEがダウンロードできるんだって。
やねうらおのBBSより。
http://groups.yahoo.com/group/dide/files/
623デフォルトの名無しさん:04/10/23 00:35:14
>>619-621
サンクス
624デフォルトの名無しさん:04/10/23 02:42:37
>>622
DIDE公式からdide.emptyとdide_full.zipで落とせたはず。
DIDEって今どうなってんの?開発中止?
625デフォルトの名無しさん:04/10/23 02:44:31
DIDEってコード補完も出来ないウンコIDEだよ。
626デフォルトの名無しさん:04/10/23 02:45:53
emacsでいいじゃないか
DIDEって要らないよ
627デフォルトの名無しさん:04/10/23 08:09:22
DIDE使ってみたけど、結局Eclipse+Antでやってる。
Ant便利だな。
628デフォルトの名無しさん:04/10/24 00:13:15
動的な二次元配列を作る時なんですが、
array[xsize][ysize]な配列を作りたいときは、

int[][] array;
array.length = xsize;
for(int i = 0; i < xsize; i++) {
 array[i].length = ysize;
}

ってしなくちゃ駄目?
629デフォルトの名無しさん:04/10/24 04:50:32
1.03キター
ダウソしたら
1.04 !?
630デフォルトの名無しさん:04/10/24 04:51:59
誤 1.xx
正 0.1xx
631デフォルトの名無しさん:04/10/24 06:02:39
いつも思うんだけどバージョン一桁間違える香具師が不思議でならない
632デフォルトの名無しさん:04/10/24 07:38:59
というか、小数点以下三桁になった時点で間違ってると思う
633本7:04/10/24 11:09:04
IPアドレスのようにセグメントで分けていたんだと考えてあげようよ。
634デフォルトの名無しさん:04/10/24 12:07:09
考えてあげるも何も、RCS/CVSのリビジョン区切りは'.'区切りですが何か。
#Rev.No.1.10.1.100とかね。
635デフォルトの名無しさん:04/10/24 13:06:57
>>628
そうするしかないと思います。
沢山使うなら、int[][] newIntArray(int x,int y)
てな関数作って使うとか、、、。
636デフォルトの名無しさん:04/10/24 13:23:07
いつも思うんだけどバージョンネタをいつまでも引っ張る香具師が不思議でならない
637デフォルトの名無しさん:04/10/24 13:41:17
>>634
なぜCVSのリビジョン番号の話がでてくるの?
638デフォルトの名無しさん:04/10/24 14:15:28
>>637
そういう例もあるんだから、>632のように考える必要も無いし>633のようなフォローも要らないって事でしょ。
639デフォルトの名無しさん:04/10/24 14:21:31
>>635
どうもです。
ちょっと不便かなぁ。
640デフォルトの名無しさん:04/10/24 15:55:04
>>628
int[][] array;

array = new int[][10];
foreach (inout int[] a; array) {
 a = new int[15];
}

こんな感じとか
641デフォルトの名無しさん:04/10/24 17:10:48
>>640
やってることは結局あまり変わらないからなぁ。
いっそのことクラスでラッパ・・・ しても不便だよな。

class IntArray2{
  private int[][] _data;
  this(int x,int y){
    _data = new int[][x];
    for(int i=x-1;i;i--){
      _data[i] = new int[y];
    }
  }
  int get(int x,int y){ return _data[x][y]; }
  int set(int value,int x,int y){return (_data[x][y] = value;);}
}
642デフォルトの名無しさん:04/10/24 19:12:55
D言語最高だな。
JAVAの中途半端さとC++の複雑さとC♯の非凡用性を
見事に解決してる。
これからはこれメインでいくよ。

643デフォルトの名無しさん:04/10/24 19:15:41
↑このスレにとって何の役にも立たない書き込みでageる馬鹿
644デフォルトの名無しさん:04/10/24 19:29:24
仕様変更が激しいので
その辺に落ちてるコードがコンパイル通らなくなってたりしてびっくり。
645デフォルトの名無しさん:04/10/24 19:30:31
castとsizeof以外は大体通るんじゃない?
646デフォルトの名無しさん:04/10/24 19:32:32
>>643
死ね
647デフォルトの名無しさん:04/10/24 20:41:33
アスペクト指向はサポートされますか?
648デフォルトの名無しさん:04/10/24 21:17:40
されない
649デフォルトの名無しさん:04/10/24 22:54:17
美少女嗜好はサポートされますか?
650デフォルトの名無しさん:04/10/24 22:55:19
>>649
やってる人はいる。
651デフォルトの名無しさん:04/10/24 23:19:17
>>628>>641
http://user.script.nu/~ahiru/d/makearray.d

// 1 * 2 * 3 * 4 の動的配列の全要素を 1 で初期化して生成
int[][][][] array = MakeArray!(int, int[][][][])(1, 2, 3, 4, delegate int() { return 1; });
652デフォルトの名無しさん:04/10/25 00:25:49
>>651
うわー、サンクス
653デフォルトの名無しさん:04/10/25 12:36:57
>>628>>641>>651
なんか、さらにバージョンアップしたのがあるので、晒しちゃいます。
http://shinh.skr.jp/dat_dir/makearray2.d
テンプレートとか使えば、一般的にできるだろうとは思ったけど、凄いな。
よく作るよ。
654デフォルトの名無しさん:04/10/25 15:58:04
GJ!!
655304:04/10/25 19:31:37
D Front End for GCC - Release 0.8
来てます。
656デフォルトの名無しさん:04/10/25 23:38:21
int[,] array = new int[10,10];

これじゃいけないの?
657デフォルトの名無しさん:04/10/26 00:56:13
>>656
そりゃC#じゃ
658デフォルトの名無しさん:04/10/26 01:07:34
すまん。スレ間違えた。D言語のスレだった。
659デフォルトの名無しさん:04/10/26 18:34:20
>> 628

int[][] array;
array = new int[][x];
array[] = new int[y];
660デフォルトの名無しさん:04/10/26 20:13:21
>>659
 array[0] is array[1]
661デフォルトの名無しさん:04/10/26 20:37:13
今月号のCマガにD言語の記事が載ってたよ。
662デフォルトの名無しさん:04/10/26 21:59:22
663デフォルトの名無しさん:04/10/26 22:05:42
どういわれようとD言語はあってよかったと思う。
D言語のお陰で今 Tumiki Fighters とか PARSEC47 遊んだり
(読みやすい)ソースコード読めたりするのだろ。このことに感謝しなきゃいかん。
664デフォルトの名無しさん:04/10/26 22:13:28
お前に顔射したい気分だ
665デフォルトの名無しさん:04/10/26 22:28:43
今のD言語じゃもうTumiki Fightersのコード通らないけどな。
666デフォルトの名無しさん:04/10/26 23:12:39
>>665
sizeofだけ直したらコンパイル通るけど、
動作しないね。
667デフォルトの名無しさん:04/10/26 23:18:02
D言語で使えるプロファイラでいいのないですか?
無料か安いのでお願いします。
668デフォルトの名無しさん:04/10/27 03:38:06
D言語のGCってどのくらい固まるものなんですか?
669デフォルトの名無しさん:04/10/28 10:53:54
使い物にならないレベル
670デフォルトの名無しさん:04/10/28 12:44:30
ageageageageageageageageageage
671デフォルトの名無しさん:04/10/28 15:50:54
>>667
わかりかねます。探してみます。

>>668
GCは、今のJavaと同じくらいでそんなに気にならないよ。
672デフォルトの名無しさん:04/10/28 20:06:23
>>667
dmdのオプションに -gtオプションつけてコンパイルして、
実行すると、trace.defとtrace.logができます。
trace.logがプロファイリング結果なんじゃないかと思います。
673デフォルトの名無しさん:04/10/28 22:08:25
>>672
サンキュー
674デフォルトの名無しさん:04/10/30 08:36:44
0.105出てますね。
675デフォルトの名無しさん:04/10/30 15:03:53
unrar.dllって最新のWinRARで圧縮した奴解凍できないじゃん
676デフォルトの名無しさん:04/10/30 17:40:04
ふーん、大変だね
677デフォルトの名無しさん:04/10/30 19:34:49
0.104で動いていたものを、0.102に持ってきたらエラーが出た。
配列のスライスにlengthを使った所。
hoge[start..length]ってな感じで。
0.105にしたらエラーは出なくなった。
678デフォルトの名無しさん:04/10/30 20:15:34
暗黙のlengthは0.99〜のはずなんだけど

互換性や(Dをあまり使わない人への)可読性を上げる面では
hoge[start..hoge.length]の方がいいのかな。
679デフォルトの名無しさん:04/10/31 01:21:47
gdc が cygwin の setup の項目に登録されてる。。。
680デフォルトの名無しさん:04/10/31 04:13:59
>>679
約2ヶ月前の段階からあるね。>>429-433辺り
681デフォルトの名無しさん:04/10/31 04:33:27
Cygwinってβレベルのソフトも平気で入れちゃうもんなの?
Rubyが入るのは結構遅かったような気がしたけど。
682デフォルトの名無しさん:04/10/31 06:23:31
GNUは何で将来性のない田舎コンパイラなんて作ってるんだろう
俺は趣味でやってるけど、実務で使われることなんて無いと思ってるのだが
683デフォルトの名無しさん:04/10/31 07:43:30
別にGNUが作ってるわけじゃないとおもう
684デフォルトの名無しさん:04/10/31 08:12:49
作ってるのはDM それに付き合ってるのがGNUってことでしょ
どっかに将来性を見出せてるんならそれを教えて欲しいね
685デフォルトの名無しさん:04/10/31 08:13:54
どっかの個人が作ってGCCチームにコミットしただけだから
686デフォルトの名無しさん:04/10/31 08:18:20
>>985
コミットした訳じゃないよ。
個人ページに置いてあるだけ。
687デフォルトの名無しさん:04/10/31 16:15:50
コミットして欲しいのだが。
688デフォルトの名無しさん:04/10/31 16:43:23
Cygwinの人がD言語に興味を示してるだけってことでいいよ
689デフォルトの名無しさん:04/10/31 18:19:51
だれかキラーアプリ作ってー
690デフォルトの名無しさん:04/10/31 18:32:52
フマキラー
691デフォルトの名無しさん:04/10/31 20:14:22
>>689
Tsumiki Fighter
692デフォルトの名無しさん:04/10/31 22:14:17
ゲームじゃん…
693デフォルトの名無しさん:04/10/31 23:42:48
D言語のプロジェクトってあんのかな?
694デフォルトの名無しさん:04/10/31 23:51:23
ちょっと前に話に出てたランチャがソース公開されてるよ。
ソフトウェア板のlaunchtab風とかなんとか言うやつ。
695デフォルトの名無しさん:04/11/01 00:42:56
>>694
ttp://beforyou.s20.xrea.com/moony/index.html
これかな?
とりあえずソース読んでみるか。
696デフォルトの名無しさん:04/11/01 14:39:30
いまさらながらCマガ買っちまった。
DでGUIライブラリでも自作してみるか・・・
697デフォルトの名無しさん:04/11/01 23:50:32
C++のヘッダファイルを、自動でD言語用に変換してくれるツールってない?
SGEをD言語で使いたい。
698デフォルトの名無しさん:04/11/02 01:14:31
>>697
SWIG
699デフォルトの名無しさん:04/11/02 01:23:34
環境変数を取得する方法教えてー
700デフォルトの名無しさん:04/11/02 01:28:10
>>699
std.c.stdlib.getenv
701デフォルトの名無しさん:04/11/02 01:32:50
>>700
それ使うとSDL_getenvが見つからないとかいうエラーになっちゃう
702デフォルトの名無しさん:04/11/02 01:37:08
>>701
SDL_getenv.d で、定義してるから、バッティングしてるだけジャ。
SDL使ってるならそっち使えばいい。
703デフォルトの名無しさん:04/11/02 01:49:25
あぁ、違うか...

private import std.c.stdlib, std.string;
public char[] getEnv(char[] name) {
  return .toString(std.c.stdlib.getenv(toStringz(name)));
}

とかやって使えばいける気がする
704デフォルトの名無しさん:04/11/02 07:45:20
>>703
サンキュ
帰ったら試してみる。
705デフォルトの名無しさん:04/11/02 08:38:42
>>695
どうだった?
706デフォルトの名無しさん:04/11/02 20:58:07
>>703 見て思った。
暗黙のtoStringって傍から見たらかなり怪しいように思う。
関数の頭にいきなりピリオドが来るなんて・・・
707デフォルトの名無しさん:04/11/02 21:07:42
>>706
C++ の ::function() よかマシじゃない?
708デフォルトの名無しさん:04/11/02 21:16:36
::のがまだ読みやすいだろ。
709デフォルトの名無しさん:04/11/02 22:58:14
別に
710デフォルトの名無しさん:04/11/02 23:05:43
.toStringって
.NETみたいでかっこいいよね
711デフォルトの名無しさん:04/11/03 01:13:00
toS の辺りがクネクネしててかっこわるい
712デフォルトの名無しさん:04/11/03 01:52:12
ドットトゥストリング
713デフォルトの名無しさん:04/11/03 01:56:10
暗黙の .toString て何だっけ?this が省略できるんだっけ?
hoge[start..length] の length は "hoge." が省略されてるんだよね?
714デフォルトの名無しさん:04/11/03 02:06:20
>>706
thismodule.toString()が強制されるよりはマシ

return thismodule.std.string.toString(thismodule.std.c.stdlib.getenv(thismodule.std.string.toStringz(name)));

>>713
暗黙のtoStringというのは
「継承したメンバ識別子は継承先クラスのスコープに入りますよ」
もしくは
「標準ライブラリで関数名の衝突が起こるってどんなセンスだ」
715デフォルトの名無しさん:04/11/03 02:51:59
んー、だめだ

D言語は一から設計し直した方がいい
716デフォルトの名無しさん:04/11/03 03:11:36
>>715
じゃG言語作って
717デフォルトの名無しさん:04/11/03 08:29:45
>>716
ネーミングセンス良い
718デフォルトの名無しさん:04/11/03 08:50:51
Javaみたいにラッパクラス作って解決・・・ しないか。

class Integer{
  static char[] toString(int i){
    return .toString(i);
  }
}
719デフォルトの名無しさん:04/11/03 09:19:19
wxDはどうなりましたか?
720デフォルトの名無しさん:04/11/03 09:27:18
もうライブラリの作り方自体が適当だね
一体今DMが何をしようとしてるのかすらわからない
721あひ:04/11/03 09:51:44
>>719
微妙に進んでるような進んでないような。
722デフォルトの名無しさん:04/11/03 09:57:28
火星の衛星の一つ
723デフォルトの名無しさん:04/11/03 10:29:57
お笑い言語
724デフォルトの名無しさん:04/11/03 10:52:46
他に、ネイティブコードを吐いてくれて、マルチプラットフォームで、C系の言語で
日本語情報が充実している言語があれば教えてください。
725デフォルトの名無しさん:04/11/03 10:55:40
C++
726デフォルトの名無しさん:04/11/03 10:56:34
ほんとだ、C++以外にありえないわ
727デフォルトの名無しさん:04/11/03 11:00:34
些末なことに文句をつけて

一から設計し直した方がいい

とか言っちゃってる、バカの脳みそを一から構築しなおしたい。
728デフォルトの名無しさん:04/11/03 11:14:54
とりあえず叩かれるからそういう風に言うの辞めろと止めてみる
729デフォルトの名無しさん:04/11/03 11:18:17
この世のありとあらゆる言語は一から設計しなおさないとダメだ
730デフォルトの名無しさん:04/11/03 11:25:18
C++はもうヤダヤダ
もっとオブジェクト指向な言語がいい。
731デフォルトの名無しさん:04/11/03 11:28:26
Ruby最高!!
732デフォルトの名無しさん:04/11/03 11:29:02
Dはマクロが無い時点でC++の代わりにはならないからな。
733デフォルトの名無しさん:04/11/03 11:31:02
C++ってSTLやらBOOSTやらでかなり使いやすい言語になったと思うけれど。
734デフォルトの名無しさん:04/11/03 11:41:14
いんや
735デフォルトの名無しさん:04/11/03 11:47:36
C++ってboostやらboostやらでかなり厨臭い言語になったと思うけど
736デフォルトの名無しさん:04/11/03 11:48:07
Dって初めからかなり厨臭い言語だと思うけど
737デフォルトの名無しさん:04/11/03 11:51:22
>>735
厨臭いっていうのは良く解からない表現なんだけど、具体的に言ってもらえると
後学のためになるので教えてもらえないか?
738デフォルトの名無しさん:04/11/03 11:54:24
739デフォルトの名無しさん:04/11/03 11:54:28
>>737
>厨臭いっていうのは良く解からない表現なんだけど

何の根拠もなく、平気で D などと名づけるような事。
740デフォルトの名無しさん:04/11/03 11:55:54
ここは厨臭いインターネットですね
741デフォルトの名無しさん:04/11/03 11:56:18
C++ってZZガンダムみたいw
742デフォルトの名無しさん:04/11/03 11:57:09
Rubyをネイティブコード対応にしたら最強だな
743デフォルトの名無しさん:04/11/03 12:01:58
>>741
それならDはガンガルだな。
744デフォルトの名無しさん:04/11/03 12:53:54
>>742
Rubyは構造上ネイティブコード対応しても遅いです
745デフォルトの名無しさん:04/11/03 16:19:19
0.105のdmd/binに入ってる.exeってなに?
746デフォルトの名無しさん:04/11/03 16:28:57
ウイルス
747697:04/11/03 17:11:16
>>698
結局使い方が分からないので、手で変換してます。
とりあえず円は描けた。
748デフォルトの名無しさん:04/11/03 17:12:19
>>745
>>706-
749デフォルトの名無しさん:04/11/03 17:15:36
DMは.業界の先端を行っているな
750デフォルトの名無しさん:04/11/03 17:40:28
Dame言語
751デフォルトの名無しさん:04/11/03 19:48:18
これで速度がJavaやC#より遅かったら笑うな。
ベンチマークってなんかないの?
752デフォルトの名無しさん:04/11/03 19:54:47
関数ならC並に早いがクラスメソッドにするとアホみたく遅い結果だった過去がある
今はどうなのか知らないけどね
753本7:04/11/03 19:56:08
同環境で単純な比較したら
c > c++ > perl > php > d > java
っていう順になった。
内容はfor文の中でカウンタをprintfしてるだけの処理。
754デフォルトの名無しさん:04/11/03 19:58:01
隔離スレにお帰りなさい
755デフォルトの名無しさん:04/11/03 19:58:10
入出力を入れたベンチなぞ意味無いし。
756デフォルトの名無しさん:04/11/03 20:00:11
C構文ならC並に早い
C++構文ならJava並に早い
757デフォルトの名無しさん:04/11/03 20:55:08
確かローカル変数よりインスタンス変数の方がアクセスが速いって、誰か書いてたなぁ。
758デフォルトの名無しさん:04/11/03 22:48:10
とりあえず、Dでデバッガ作って楽しい今日この頃なのでした。
面白いなと。
759デフォルトの名無しさん:04/11/03 23:03:14
DでDコンパイラ作ってー
760デフォルトの名無しさん:04/11/04 09:26:01
>>759
構文木を構成するまでは作った。
761デフォルトの名無しさん:04/11/04 13:24:35
http://homepage2.nifty.com/isshiki/prog_win_d.html
AREA2048やってみた?
面白かったよ。
さりげなさすぎる、公開だったので、今まで気が付かなかった。
762デフォルトの名無しさん:04/11/04 20:36:02
>>761
ドンマイ
763デフォルトの名無しさん:04/11/05 15:19:16
いいね
慣性付き全方位シューなんてアステロイド以来かも
764デフォルトの名無しさん:04/11/05 15:21:13
>>761
超重いね。3fpsくらいしか出ない。
PentiumIII1GHz
G400DH32MB
memory1024MB
765デフォルトの名無しさん:04/11/05 16:20:54
>>764
Pentium III 1GHz
メモリ128MB
ATI Mobility RADEON
だけど、普通に遊べるよ。

OPEN-GL周りが遅いのかな???
766デフォルトの名無しさん:04/11/05 17:24:20
>>760
それでいいから、公開してほしいなぁ。
767デフォルトの名無しさん:04/11/05 17:50:33
>>765
俺はAthlonXP2500+とGeForceTi4200 8x。全く普通に遊べる。
簡単なゲームで思わず1ラウンドやってしまったよ。

G400はもしかしてDirectX8.1に対応してないから重いとかいう
オチかもね。
768デフォルトの名無しさん:04/11/06 00:44:42
・・・

G400なんかでゲームしようと思うな
このど素人が
769デフォルトの名無しさん:04/11/06 01:10:24
>>765
Celeron 2GHz + GeForce4MX440で問題なし。
いやぁ、2面ボスで死にました。
770デフォルトの名無しさん:04/11/06 03:12:44
>>768
うっさい東方は60fpsで動くんじゃ
771デフォルトの名無しさん:04/11/06 04:38:01
OpenGL対応が腐ってるだけだろ
772デフォルトの名無しさん:04/11/06 04:49:57
次スレは下作板逝きだな
773デフォルトの名無しさん:04/11/06 21:01:36
なんか頭の中でdelegateとfunctionの差がいまいちつかめてないのだが、

delegateはオブジェクトの関数やネストした関数にもアクセスできる。
functionは普通の(staticな)関数のみだがやや高速。

って解釈でいいのかな。
774デフォルトの名無しさん:04/11/06 21:30:16
ここで東方の名を聞くとは…
775デフォルトの名無しさん:04/11/06 21:50:40
JoJo?
776デフォルトの名無しさん:04/11/06 22:42:04
>>773
function って高速なの?ベンチとったことないけど?

function と delegate は早めに統合してほしいな・・・
777デフォルトの名無しさん:04/11/06 23:37:19
>>774
なにかと思ったよw
弾幕か
778デフォルトの名無しさん:04/11/07 11:33:15
>>776
ちょっくらクイックソートでベンチしてみた。
  quicksort関数呼び出し 17800063回。コンパイルオプション -release
 function         .- 10685 (ミリ秒)
 delegate(ネスト関数)  - 10795
 delegate(クラス関数) ..- 10966

気にするほど速度は変わらないみたい。

それよりも、staticなdelegateにstaticな関数
代入しようとしたら失敗したのが気にかかる。
779デフォルトの名無しさん:04/11/07 13:46:11
現状では、functionは単なる関数ポインタの構文糖。
780デフォルトの名無しさん:04/11/07 13:51:26
>>778
delegate に static function は無理だと思う。できれば、ソースを。
781780=776:04/11/07 13:53:12
あ、>>780 の「ソースを」は、delegate の失敗したソースね。
あと、ベンチ乙
782デフォルトの名無しさん:04/11/07 14:04:02
staticな関数をfunctionでなくあえてdelegateに保持
しようとする意図が分からんね。

ともあれ、ベンチ乙。残る差は占有メモリ量の違いくらい?
783デフォルトの名無しさん:04/11/07 14:10:17
Dってどういうプロセスで言語仕様が決まってくの?
作者の思いつき->即実装なの?
784778:04/11/07 14:12:40
>>780
//delegate失敗したソース。delegate → functionに書き換えると普通に動作。
import std.random;

void delegate(int[],int,int) sort;

void swap(int* p1, int* p2){int x = *p1;*p1 = *p2;*p2 = x;}

void quicksort(int[] data, int low, int high){//クイックソート。
  if(low < high){
    int x=data[(low + high)/2];
    int i=low;
    int j=high;
    while(i<=j){
      while(data[i]<x)i++;
      while(data[j]>x)j--;
      if(i<=j)swap(&data[i++], &data[j--]);
    }
    sort(data,low,j);
    sort(data,i,high);
  }
}

void main(){
  sort = &quicksort; //ここでエラー。
  rand_seed(100, 0);
  int[] array = new int[10000000];
  for(int i=0;i<array.length;i++){
    array[i] = cast(int)(rand()*100);
  }
  sort(array, 0, array.length-1);
}
785780:04/11/07 14:17:12
>>784
それ無理。勘違いしてると思う。
786778:04/11/07 15:04:58
>>785
何が無理で何が勘違いかわからん。
ちなみに>>778の実行結果は
 d_time before,after;
 before=getUTCtime();
 system(args[0]);
 after=getUTCtime();
 printf("%d\n",after-before);
という感じの別のプログラムから呼んで実行時間計測したものです。
787デフォルトの名無しさん:04/11/07 15:06:55
ソースまで貼らせて無理。勘違い。で済まされたら呆れるわな
788780:04/11/07 15:29:10
いや、delegate と function を勘違いしてる、と。
789778:04/11/07 15:52:06
まぁ、確かに勘違いだわな。

>>782
static、非static 関係なく処理したいこともあるかも知らんし。
790デフォルトの名無しさん:04/11/07 18:32:43
>>761
Easyモードクリアするだけで精一杯
STGってなんでこんなに廃仕様なのorz
791デフォルトの名無しさん:04/11/07 20:18:19
Webアプリケーションサーバで実行したいんでLinuxの共有オブジェクト
にしてロードさせたいんですが現状ではできないので解決方法を模索してます。
まだ原因がよくわかってないのですが、共有オブジェクト化できない具体的な原因ってご存じないですか?
792デフォルトの名無しさん:04/11/08 05:22:15
793デフォルトの名無しさん:04/11/09 19:22:59
aaacafe→livedoorへの強制変更で、wikiに不具合発生。
549氏、生きてたら修正よろ〜
794デフォルトの名無しさん:04/11/10 00:28:24
メール送って修正してもらいました。
ついでに、キャッシュ組み込みも。速くなったはずです。
795デフォルトの名無しさん:04/11/10 06:03:17
796デフォルトの名無しさん:04/11/10 16:09:13
完成は何年後?
797デフォルトの名無しさん:04/11/11 13:35:48
老後
798デフォルトの名無しさん:04/11/11 15:19:16
むしろ死後
799デフォルトの名無しさん:04/11/12 05:36:51
心配するな、その頃には64bitOSが一般的になっていて
リビジョンの桁数も実質無制限になってリビジョン増やし放題になるよ。
800デフォルトの名無しさん:04/11/12 09:23:20
こうか?

DMD 0.43158195842

決して 1.〜 にはならないと。
801デフォルトの名無しさん:04/11/12 12:24:56
どうでもいいけど、C/C++、Delphi、Dとやってみて
DはC/C++よりもDelphiっぽいという印象を受けた。
802デフォルトの名無しさん:04/11/12 12:35:36
そんな印象は受けなかった
803デフォルトの名無しさん:04/11/12 12:37:07
あ〜それあるかも。
構文こそC系だけど中身的にPascalっぽい。
804デフォルトの名無しさん:04/11/12 13:44:34
Longhornよりも完成に時間が掛かりそうだな。
805デフォルトの名無しさん:04/11/12 14:21:05
Dコンパイラ組み込んだKNOPPIXが欲しい今日この頃。
806デフォルトの名無しさん:04/11/13 00:53:39
んなもん何に使うんだ。
まったく用途が思いつかん。
807デフォルトの名無しさん:04/11/13 01:25:17
Dで並列プログラミングがしたい。
ADAみたいな機能を言語に組み込んで欲しい今日この頃。
808デフォルトの名無しさん:04/11/13 11:44:21
>>801
ふ〜ん
adaで検索してみ
809デフォルトの名無しさん:04/11/13 23:51:19
独立型戦try
810デフォルトの名無しさん:04/11/14 15:53:50
こんな本が出るそうだけど既出?
「パーフェクトガイド」なのに256ページなのが疑問だが。

ttp://www.cbook24.com/bm_detail.asp?sku=4774122084
811デフォルトの名無しさん:04/11/14 16:24:06
ゲームにうってつけってところが既に・・・
公式サイトでさえゲームだとちょっと荒業が必要って書いてあるのに
812デフォルトの名無しさん:04/11/14 17:04:13
>>810
おーマジか。
とりあえず投資する意味でも買ってみよう。
813デフォルトの名無しさん:04/11/14 17:44:34
>>810
地雷臭がきついな
814デフォルトの名無しさん:04/11/14 22:14:40
>>810
付属してるコンパイラがすぐに古くなりそうだなw

しかも構文すら変わってたりして・・・
815デフォルトの名無しさん:04/11/14 22:23:45
なんか安いね。
安いなりの内容っぽい名。
816デフォルトの名無しさん:04/11/15 02:15:10
ネット上の情報かき集めたようなノウハウ本じゃないの。
817デフォルトの名無しさん:04/11/15 02:31:25
クラスの静的デストラクタって何に使うの?
818デフォルトの名無しさん:04/11/15 05:58:27
静的デストラクタって何?
819デフォルトの名無しさん:04/11/15 11:29:02
static ~this()
820デフォルトの名無しさん:04/11/15 18:10:28
static this() {SDL_init(SDL_INIT_EVERYTHING)}
static ~this(){SDL_Quit()}
821デフォルトの名無しさん:04/11/15 18:11:40
C++にも欲しいなあ静的コンストラクタとデストラクタ
822デフォルトの名無しさん:04/11/15 18:15:06
静的メソッドを呼び出すついでに発生すんの?
823デフォルトの名無しさん:04/11/15 18:16:42
言語仕様位読めよ
824デフォルトの名無しさん:04/11/15 18:18:30
そのクラスが全く使われなくても呼ばれるのが痛い
825デフォルトの名無しさん:04/11/15 18:20:32
main関数使ってなきゃ関係なさそうな
826デフォルトの名無しさん:04/11/16 09:29:11
>>820
うはー夢が広がりんぐwwwwwwwwww


D良いなぁ…orz
827デフォルトの名無しさん:04/11/18 17:28:29
インナークラスから、親のクラスの変数とかって見るにはどうしたらよいでしょうか?
828デフォルトの名無しさん:04/11/18 20:09:14
はやくIDEつくってください
829デフォルトの名無しさん:04/11/18 20:17:00
>>828
いで
830デフォルトの名無しさん:04/11/18 21:25:40
おん
831デフォルトの名無しさん:04/11/18 23:44:41
殖栗プ酢でも使ってろよ
832デフォルトの名無しさん:04/11/19 01:14:38
つかえるの!?
833デフォルトの名無しさん:04/11/19 05:50:40
834デフォルトの名無しさん:04/11/21 13:33:33
835デフォルトの名無しさん:04/11/21 15:56:40
>>834
書き込み時間が凄いな
836デフォルトの名無しさん:04/11/21 16:16:02
33時だったら完璧だったのに
837デフォルトの名無しさん:04/11/21 16:19:01
惜しいな
838デフォルトの名無しさん:04/11/21 16:30:53
どうしてあと20時間が待てなかったのか
839デフォルトの名無しさん:04/11/21 18:28:39
うずうず…
ううう…突っ込みたいっ。
でもコレに突っ込んじゃダメだろ俺!



>>838
20時間待ったら9時になっちゃうだろ!



…あ、言っちゃった
840デフォルトの名無しさん:04/11/21 20:52:53
>>839
(゚Д゚)ハァ?
どうして 13 + 20 が 9 になるんだよ。
841デフォルトの名無しさん:04/11/21 21:14:12
釣りにもなってない
842デフォルトの名無しさん:04/11/21 22:30:06
( ・∀・)ニヤニヤ
843本7:04/11/22 01:11:21
>>834は俺だったりするんだがな
844デフォルトの名無しさん:04/11/22 21:59:22
warata
845デフォルトの名無しさん:04/11/22 23:47:05
>>600
SDL.dのコンストラクタとデストラクタをコメントアウトしてみる。
とりあえず動くかも。
でも、どんな弊害があるかわからん。
846デフォルトの名無しさん:04/11/25 10:04:30
文字コードの変換はiconvとか使ってるん?
847デフォルトの名無しさん:04/11/25 15:44:47
>>845
SDLを初期化しないことになっちゃうような気がする。
まあ動いているからいいけど、怖いなあ。
だれかうまく治してくれ。
848デフォルトの名無しさん:04/11/25 21:00:58
"D言語"という商標登録を手続きの誤りにより承認。
数日後インターネットを通じたメール等で疑惑の声がかかり、
調べてみたら既にある言葉であると解った。
事務を担当していた人は「まさかあるとは思わなかった」
会長は「今後気をつけて行きます。職員には厳重注意をします」と記者会見で発表しました。
ttp://ex7.2ch.net/test/read.cgi/entrance/1101381719/
849デフォルトの名無しさん:04/11/25 21:43:02
だまされないよ、紫だから
850デフォルトの名無しさん:04/11/25 23:25:17
ポインタがnullかどうかを判断するにはどうやればいいんですか?
if(surface != null) {
 SDL_Surface(surface);
}

としても、surfaceがnullだと実行時エラーになってしまいます。
851デフォルトの名無しさん:04/11/25 23:38:31
is。
そういや前は===ってなかったっけ?今見たら消えてるような。
852デフォルトの名無しさん:04/11/25 23:51:48
その場合に対応するのはisじゃなくて !== だった。
試してみたけど===もちゃんと使えるね。
853デフォルトの名無しさん:04/11/26 00:39:54
Dはポインタ推奨されてないしボインに弱い
854850:04/11/26 01:18:16
どうもありがとう!
855デフォルトの名無しさん:04/11/26 02:00:56
男はボインに弱い
856デフォルトの名無しさん:04/11/26 02:02:03
Dは男の言語
857デフォルトの名無しさん:04/11/26 04:24:08
貧乳派は男でない、とでも?
858デフォルトの名無しさん:04/11/26 22:45:14
自分自身に課題を出しておこう。

多倍長演算のプログラムをDで作ること。
出来たら公開すること。

Dの多倍長ライブラリとか無かったよね?
859デフォルトの名無しさん:04/11/26 23:15:12
ちゃんと使えるライブラリにしてね
860デフォルトの名無しさん:04/11/26 23:17:31
Cのライブラリインポートできるんじゃないの?
861デフォルトの名無しさん:04/11/26 23:43:32
オペレータ演算子を弄りたいんじゃないの?
862デフォルトの名無しさん:04/11/27 14:17:11
多倍長演算は割り算で挫折した
863デフォルトの名無しさん:04/11/27 14:17:37
2000桁の掛け算とか出来るのは楽しかった
864デフォルトの名無しさん:04/11/27 19:18:51
楽しいか?
865デフォルトの名無しさん:04/11/28 01:07:43
1111111111111111....*111111111111111111111
と入力して出てくるのは嬉しい
866デフォルトの名無しさん:04/11/28 01:25:05
なるほどそいつぁ楽しそうだぜ!
867デフォルトの名無しさん:04/11/28 01:49:50
割り算は難しいのか、、、。
868デフォルトの名無しさん:04/11/28 14:01:45
引き算で再現したら遅いのなんの。
869デフォルトの名無しさん:04/11/28 15:30:47
char[]型の変数をchar*型戻り値の関数で返す良い方法を教えて下さい。

char *func(char[] str){
  str = "home";
  return std.string.toCharz(str);
}
はコンパイラに非推奨だとか言われるし

char *func(char[] str){
  str = "hoge";
  return &str.[0];
}
ではちゃんと動いてくれません。
870デフォルトの名無しさん:04/11/28 15:45:29
>>869
char *func(char[] str){
  str = "hoge\0";
  return &str[0];
}
ではだめ?
871デフォルトの名無しさん:04/11/28 15:57:29
>>869
toCharz は古い。toStringz を使うべし。
872デフォルトの名無しさん:04/11/28 16:42:17
>>869
> char *func(char[] str){
>   str = "hoge";
>   return &str.[0];
> }
> ではちゃんと動いてくれません。
strが"hoge"を指すように変わるけど、意図どおり?
もしstrの内容を書き換えたいだけならば、正しいのは
 str[] = "hoge";
かな。
873デフォルトの名無しさん:04/11/29 00:54:57
C++で書いたら

#define __DECL__ myfunc(){ myClass myc; myc.Run() }

ってな事をするにはどうすればよいでしょうか?
自作モジュールの関数内で未宣言のクラスを実行しておいてあとから
そのクラス名でいろんなパターンの処理を行いたいと思ってます。
用途はJavaみたいにクラスをmain扱いにしているように見えるようにするものです。
よろしくです。
874873:04/11/29 01:02:49
ちなみに
環境はLinux+gcc 3.4です。

あと、
typedef myClass myClass
したらセグメンテーション違反がでました。
このバグは既知?
875デフォルトの名無しさん:04/11/29 04:09:59
>>873
# 何がやりたいのか良く分からないけど、、、
未宣言のクラスは使えないと思う。

> typedef myClass myClass
> したらセグメンテーション違反がでました。
出ない
876デフォルトの名無しさん:04/11/29 22:33:41
dmd -c test.d
gcc -shared -lphobos -lpthread -lm -o test.so test.o

これで問題なくコンパイルは通るんですが実際の出力にはphobosが
リンクされません。
どうしてでしょうか?
877デフォルトの名無しさん:04/11/30 17:35:02
>>873
何がしたいのかいまいちよくわからんけど、mixinでできない?
878デフォルトの名無しさん:04/11/30 18:26:19
879デフォルトの名無しさん:04/11/30 22:31:08
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
880デフォルトの名無しさん:04/11/30 22:37:51
つーか、108キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
881デフォルトの名無しさん:04/12/01 02:07:09
除夜の鐘だ
882デフォルトの名無しさん:04/12/01 02:48:04
それを言うなら煩悩の数と。
#四苦八苦併せて108。
883デフォルトの名無しさん:04/12/01 03:08:49
DUIをWindowsで使おうと思うんだがつかってる人います?
884デフォルトの名無しさん:04/12/01 03:10:11
4+9+8+9 = 32
49+89 = 138
885デフォルトの名無しさん:04/12/01 03:11:10
4+98+9 = 111
4+9+89 = 102
886デフォルトの名無しさん:04/12/01 03:12:06
4+9+8+9は30だた・・・orz
887デフォルトの名無しさん:04/12/01 03:45:54
4*9+8*9
888デフォルトの名無しさん:04/12/01 04:21:36
DUIの開発者以外使ってない予感!
889デフォルトの名無しさん:04/12/01 04:32:50
>>888
そうなのか・・・orz
890888:04/12/01 07:16:28
少なくとも、日本では ttp://yellow.ribbon.to/~mirage/ ここ以外見たことが無い。
891デフォルトの名無しさん:04/12/04 06:06:57
>828
既出かな?これのこと?↓
ttp://www.wikiroom.com/santamarta/?D%B8%C0%B8%EC%2FIDE
892デフォルトの名無しさん:04/12/04 14:04:52
どーでもいいことだが、サンプル画像の「Global」って、、、
893デフォルトの名無しさん:04/12/05 01:36:52
>>892
何か問題でも?
894デフォルトの名無しさん:04/12/05 13:20:13
D言語死滅
895デフォルトの名無しさん:04/12/05 13:24:33
Dも埋もれる言語の一つになってしまったのか?!
896デフォルトの名無しさん:04/12/05 13:59:02
埋もれるも何もまだ出来てないわけだが。
897デフォルトの名無しさん:04/12/05 14:00:37
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> D
898デフォルトの名無しさん:04/12/05 14:09:40
C++の後釜にしたいんだけどなー
つーかC++いらね

899デフォルトの名無しさん:04/12/05 14:09:56
>>897
Ruby信者必死だな
900デフォルトの名無しさん:04/12/05 14:16:14
Rubyとネタ言語のDを比べるなよ。
901デフォルトの名無しさん:04/12/05 14:21:09
Rubyの方がネタっぽいけれど…
902デフォルトの名無しさん:04/12/05 14:22:24
ハァ?死ねよD
903デフォルトの名無しさん:04/12/05 14:24:34
D<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Ruby
904Rubyスレ住人:04/12/05 14:44:49
すいません。かわりに謝っときます
905デフォルトの名無しさん:04/12/05 14:46:28
Rubyの素晴らしさを理解できない馬鹿がいるな。
906デフォルトの名無しさん:04/12/05 14:52:37
適材適所
907デフォルトの名無しさん:04/12/05 14:53:09
DIDEってダウソできんね・・・どうしたの?
908デフォルトの名無しさん:04/12/05 14:55:22
DIDE died.
909デフォルトの名無しさん:04/12/05 15:32:35
>>907
ttp://d.hatena.ne.jp/Ozy/20041023
まあ、このスレくらいは検索しておこう!
910デフォルトの名無しさん:04/12/05 16:12:50
>>898
俺も俺も。
だけど乗り換えるのには、まだ無理があるよな。
911デフォルトの名無しさん:04/12/05 16:36:02
>>909
ありがとう!
912デフォルトの名無しさん:04/12/05 21:18:10
          _Y_
            r'。∧。y.
         ゝ∨ノ       >>このスレが              ,,,ィf...,,,__
          )~~(           無意味な時を      _,,.∠/゙`'''t-nヾ ̄"'''=ー-.....,,,
         ,i   i,           過ごしていく間に   ,z'"    ̄ ̄ /n゙゙''''ー--...
         ,i>   <i        文明はどんどん     r”^ヽ      く:::::|::|:::〔〕〔〕
         i>   <i.       発達していく・・・・。 , 入_,..ノ ℃      ̄U ̄_二ニ=
`=.,,ー- ...,,,__  |,r'''"7ヽ、|  __,,,... -ー,,.='             >ーz-,,,...--,‐,‐;;:'''""~
  ~''':x.,,  ~"|{ G ゝG }|"~  ,,z:''"                     ___
      ~"'=| ゝ、.3 _ノ |=''"~      <ー<>         /  l ̄ ̄\
        .|))    ((|        / ̄ ゙̄i;:、      「 ̄ ̄ ̄ ̄| ̄| ̄ ̄ ̄\
             ))|       r'´ ̄「中] ̄`ヾv、   `-◎──────◎一'
                   ├―┤=├―┤ |li:,
                   |「 ̄ |i ̄i|「.//||「ln|:;
                   ||//__|L_」||__.||l」u|:;
                   |ニ⊃|  |⊂ニ| || ,|/
                   |_. └ー┘ ._| ||/
                   ヘ 「 ̄ ̄ ̄| /
913デフォルトの名無しさん:04/12/05 22:35:54
発達つってもプラスかマイナスか微妙なところがあるからな。
我慢できなければ自分でなんとかするしかあるめえ。
914デフォルトの名無しさん:04/12/05 23:18:23
いつも思うが車だけ投げやりだ
915デフォルトの名無しさん:04/12/07 13:02:15
ところでデバッガ使っている人います?
gdb使ってみたけどシンボル読みにくいよママン
916デフォルトの名無しさん:04/12/07 13:06:21
printk
917デフォルトの名無しさん:04/12/07 13:18:00
デバッグトレースクラスとかないの?
918デフォルトの名無しさん:04/12/07 13:54:37
ないけど、デバッグどうやってる?
debug printf("ここまで読んだ\n");
とかやってる?
919デフォルトの名無しさん:04/12/07 13:57:24
printk("<l> 俺様用しおり 今日はここまで読んだ")
920デフォルトの名無しさん:04/12/07 14:22:49
そっか、とりあえず「俺様用しおり」もつけて見ることにするわ
921デフォルトの名無しさん:04/12/07 21:27:29
来年の卒論でIDEとグラフィックライブラリ作ってやるからしばらくまってろ
922デフォルトの名無しさん:04/12/07 21:28:13
GUIライブラリの間違い
923デフォルトの名無しさん:04/12/07 21:43:48
期待してないけど頑張れ
924デフォルトの名無しさん:04/12/07 21:46:23
Rubyhasaikougenngo.
925デフォルトの名無しさん:04/12/07 22:30:03
最近までDel厨やってたものなんですけど・・・

ObjectPascalって今思うと、凄く先進的な面と、すごく保守的な面が妙に混在した言語だったんですね・・・
D見て痛感しました。
926デフォルトの名無しさん:04/12/08 10:39:09
>>925
で、今は何の言語を?
D言語なんてこの先絶対に日の目を見ることはないから、やめといた
方がいいよ。
927デフォルトの名無しさん:04/12/08 11:12:19
Ada05やっとけって
928デフォルトの名無しさん:04/12/08 17:23:20
Dより日の目を見ないような気がするのだが・・・
929925:04/12/08 19:07:31
>>926
今ですか?VHDLやってます。

どうせ日曜プログラマだから、言語なんて何でもいいんですよ。
930デフォルトの名無しさん:04/12/08 19:13:13
VHDLはハードだろ…
931デフォルトの名無しさん:04/12/09 02:11:38
そんなおまいさんにLisp(に限らすぞれ系/Haskellとか)をオススメするぜ。
932925:04/12/09 02:23:55
>>931
LISPは経験済。パラダイムは面白いけど実用性無いんでパス。emacsも使わんし。
同様の感想はPrologにも当てはまるな・・・。
>>930
そっちで食べてるんで・・・
933デフォルトの名無しさん:04/12/09 02:24:39
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> D
934デフォルトの名無しさん:04/12/09 02:56:49
`timescale
935デフォルトの名無しさん:04/12/09 03:00:07
>931はカナ打ちなのか…
936デフォルトの名無しさん:04/12/09 04:36:53
かな入力の何が悪い
937デフォルトの名無しさん:04/12/09 09:25:11
誰も悪いとは言ってないな。疚しいことでもあるのか?
938デフォルトの名無しさん:04/12/09 09:47:44
直接入力かも知らん
939デフォルトの名無しさん:04/12/09 10:44:23
T-Code等であの間違いはないでしょ
940デフォルトの名無しさん:04/12/09 12:34:28
漏れが使ってる漢直は、濁点のついた平がなを入力する時は
「シフトキーを押しながら、ついてない平がなと同じ動作」だよ。
941デフォルトの名無しさん:04/12/09 14:43:09
DならC++/CLIの代わりにもなる。
942デフォルトの名無しさん:04/12/09 15:34:32
>>940
へーそういうのもあるのか。始めて知りました。
シフトキーを押して入力できる文字は、押さないで入力できる文字から連想しやすい文字になっているとか?
943デフォルトの名無しさん:04/12/09 18:53:11
漢直使ってる奴がいるとは思わなかった
すげー
944デフォルトの名無しさん:04/12/09 20:17:05
面白い人がきた!反応遅いけど。あげ
945デフォルトの名無しさん:04/12/09 20:50:44
ローマ字入力でも稀に清音と濁音と半濁音を間違うこと無いか?
「は」って打つとき、「ha」って考えるわけじゃないから。

Object PascalってGUIコンポーネントの使い勝手に関する部分は
異様に拡張されてるけど、それ以外はシンタックスシュガーすら
無かったりするよな。
946デフォルトの名無しさん:04/12/09 23:38:12
Dの話しろ。
947デフォルトの名無しさん:04/12/10 00:57:20
Linux版のdmdってあまり注目されてないのかな。
共有オブジェクトが正式サポートされてCとの連携が強化されてきたら
D自体の評価もずいぶん変わると思うが。
打倒Javaも夢ではない
948デフォルトの名無しさん:04/12/10 01:00:13
そのまえにRubyに追いつかないとね
くすくす
949デフォルトの名無しさん:04/12/10 01:22:53
最高言語Rubyに追い付くだなんて、妄想も甚だしい。
950デフォルトの名無しさん:04/12/10 01:47:42
>>947
Linux版使っているんですけど、共有オブジェクトに問題があるんですか?
今のところ、Cのライブラリを簡単に使えて感動してたりします。

951950:04/12/10 01:54:39
その逆なんですよ。
Dで書いた共有オブジェクトがCで適切にロードできないです。
というか共有オブジェクトのリンクが適切にできていない感じ。
952デフォルトの名無しさん:04/12/10 01:55:37
・・・ひとり芝居?
953デフォルトの名無しさん:04/12/10 12:09:58
ワラタ
954デフォルトの名無しさん:04/12/10 23:24:52
D言語パーフェクトガイド
技術評論社
4-7741-2208-4
2004年12月22日発売
定価1974円(本体1880円)
ttp://www.gihyo.co.jp/books/syoseki.php/4-7741-2208-4
955デフォルトの名無しさん:04/12/10 23:49:52
勇気あるなあ
956デフォルトの名無しさん:04/12/10 23:53:43
すごい。
でも、偉い。
957デフォルトの名無しさん:04/12/10 23:59:18
>>956
日本言語をやりなおせ
958デフォルトの名無しさん:04/12/11 00:00:01
>D言語の全貌を、C/C++/Java/C#のソースコードと比較しながら、詳細に解説します。

ドラフト読めば十分じゃん・・・
959デフォルトの名無しさん:04/12/11 00:25:18
シっーーーーーーー!
そんなこといったら売れなくなるだろ!!!
960デフォルトの名無しさん:04/12/11 00:25:43
>>957
おかしくないよー にゃんにゃん
961デフォルトの名無しさん:04/12/11 00:26:21
>>958
世の中から言語解説書が全てなくなるよ^^;
962デフォルトの名無しさん:04/12/11 00:37:53
>Chapter 3 Dコンパイラのインストール
>3.6 C/C++開発環境(gcc)のインストール
これって何のためなの?
963デフォルトの名無しさん:04/12/11 00:42:37
>>962
比較の為でしょ。
964デフォルトの名無しさん:04/12/11 00:58:52
Java関係の本を出している人っぽいですね。
なんでDの本を出してきたんだろ。
965デフォルトの名無しさん:04/12/11 01:20:46
>>964
本を書きたい人が多すぎるね。
だから、下らない本や、下らない雑誌が本屋の本棚に溢れている。
966デフォルトの名無しさん:04/12/11 13:21:05
>>965
じゃあ自分でマトモなのを書けば?
下らん本が多いのはすっごく同意。コンピュータ書籍の99%が「入門書」ってはどうかと。。。
967デフォルトの名無しさん:04/12/11 13:43:37
>>966
まともな本は時間も労力も100倍くらいかかる。
968デフォルトの名無しさん:04/12/11 15:50:06
>>967
いや、それ以前にまともな本を書くのに必要な能力を持った人間が(ry
969デフォルトの名無しさん:04/12/11 18:27:37
せっかくD言語で商売しようとしてるのに可愛そう
夢も希望もなくなるような話すな
俺は買う
970デフォルトの名無しさん:04/12/11 18:46:41
夢とか希望とかかんけいねー
必要な情報があれば(なおかつもってかえって、じっくり読む価値があれば)
買う。
971デフォルトの名無しさん:04/12/11 20:20:45
でも、これをきっかけにD言語の書籍が増えれば、結構いいんじゃないか?
そうなったら、どうせ今回のライターは中級者以上の内容なんて書けないから、
本当にD言語に貢献している人がライターに起用されれば、いいことずくめだ。
972デフォルトの名無しさん:04/12/11 20:39:10
>>971
貢献してない有能な人がその機会に参入してくるのがベスト
仕様バグや機能要望とかで適切な案がそこから出てくるかもしれ
ないから。
973デフォルトの名無しさん:04/12/11 21:58:50
D関連の個人/団体は日本サイドの要望を開発者へ容易に伝えれる場所を作るべきだ
974デフォルトの名無しさん:04/12/11 22:36:36
日本サイド?w
975デフォルトの名無しさん:04/12/11 22:50:03
ニュースグループに投稿すればウォルターが見てくれるでしょ。
976デフォルトの名無しさん:04/12/11 23:35:35
英語わかんないしそれを勉強する時間があるならもっと開発に時間を割きたいっす
977デフォルトの名無しさん:04/12/11 23:41:31
>>976
アホですか。
英語を勉強する方が近道です。
英語圏の人の論文を誰かが日本語訳するのを待ちますか?
きっと貴方はどんどん遅れていくでしょう。
978sakurai:04/12/11 23:42:56
>>973
俺も同意見なのだけど、英語ができない。

英語は読めない書けない人でも、バグや要望があったら、
バグジラみたいなところがあってそこに書き込むと、
そこを読んで賛同する意見やバグをニュースグループに
英訳して投げて、それを追って報告してくれるとうれしいと、
いうことだと思う。

D言語研究で、
バグのまとめページがあるが、うまく機能していない。

英訳してニュースグループに投げて話の流れを読んで、
報告するって仕事がめんどくさいから誰もやる気が出ないのだと思う。
仕様書の翻訳はK.INABAさんがやってくれていて凄く良いと思う。

そういう人がいればいいのだが。
英語の勉強にやってみようかな。英語の勉強は実践あるのみかもしれないし。
ページ作ってみる。
979デフォルトの名無しさん:04/12/11 23:47:35
英語わかるようになるとむしろ楽
情報は100倍に増えるし調べ放題
世界が変わるよ
980デフォルトの名無しさん:04/12/11 23:48:44
ガラパゴス
981sakurai:04/12/11 23:59:39
http://f17.aaa.livedoor.jp/~labamba/?BugTrack
とりあえずページは作った。応援よろしく。
後は、根気との勝負だな。
やろうと思っても、毎日ニュースグループ見るのつらいんだよなぁ。
すぐ飽きる。
まず、挨拶のメール出してみよう。
うーん。いつもここでとまる。

Hello! I like D language!
I don't write English very well.
But I hope study English.
I want to report the situation and bug of D language of Japan.
It is very well.
Thank you Sakurai.

こんなかんじでいいかな?
982デフォルトの名無しさん:04/12/12 00:02:02
キター!!
983デフォルトの名無しさん:04/12/12 00:26:30
>>981
あんたはすげぇ・・・
984デフォルトの名無しさん:04/12/12 00:32:02
>sakurai

さすがスプーキ(ry
985デフォルトの名無しさん:04/12/12 01:04:57
Hello! I like D language!
I don't write English very well.
(and also, my grade of English was D :-p )
I want to report the situation and bug of D language of Japan. (←???)
It is very well.
Thank you.

Sakurai
986デフォルトの名無しさん:04/12/12 01:08:57
don't か? can't じゃない?
987デフォルトの名無しさん:04/12/12 01:13:49
>>986
まあ、ふつうに考えたらcanntだわな。
でも、微妙なニュアンスとして、「I can't = 全然出来ない」
「I do't = あんましできない(日常的にはしない)」
みたいな感じで使わないでもないことない?w
988デフォルトの名無しさん:04/12/12 01:15:38
ないんじゃないかな・・・・
989987:04/12/12 01:15:56
いやー、やっぱ読み返してみると「わざとヘタなふりしてます」ってふうに読めて来たw
やっぱcan'tだなw
なるべく原文を流用したんだが。
990デフォルトの名無しさん:04/12/12 01:18:22
英語なんてぜってーかかねーYO!って英語で言ってるんだなw
991デフォルトの名無しさん:04/12/12 01:32:59
そろそろ Part.5 ですかね。
992デフォルトの名無しさん:04/12/12 01:34:41
うぇいよろしく ↓
>>981テンプレ追加
993sakrai:04/12/12 01:37:17
パソコンの電源がまえからせっしょく悪かったんだけど、変な臭い
出していってしまった
修理に出すと5万かかる言われてたので
たまに分解しながらだましだまし使ってたのだが

ガラパゴスの陸ガメ大陸に向けて泳ぎ出そうと歩いてたら足くじいたかんじ
994デフォルトの名無しさん:04/12/12 01:53:28
1 の修正案。
DbCって駄目なんだっけ?

C, C++, Java, C# などのいいところを取って、さらにいろいろ付け足したような新しい言語。

・Cライクな文法
・実行形式はネイティブコード
・言語仕様のコンパクトさよりも利便性を追求
・さまざまなOSで使える(Windows, Linux, MacOSX, FreeBSD)
・ガーベッジコレクション
・便利な動的配列や連想配列
・契約による設計
・標準ライブラリPhobos

・今のところv1.0未満につき、未実装・バグはまだだいぶある。
・Win32APIを利用できるので、Win32アプリは作成可能。

DigitalMars D言語公式
http://www.digitalmars.com/d/
日本語訳
http://www.kmonos.net/alang/d/
D Front End for GCC
http://home.earthlink.net/~dvdfrdmn/d/

前スレ
D言語 Part.4
http://pc5.2ch.net/test/read.cgi/tech/1091185216/

過去スレと関連サイトは>>2-10のあたり
995デフォルトの名無しさん:04/12/12 01:56:31
ホントにこの会社で完成させられるのか?
Sun並みの力を持っているのか?
996994:04/12/12 02:06:36
2-10 案。なんか追加したいのが無かったら立てていい?

過去スレ

【良いとこ取り】D言語スレ【実用重視】(Part 2)
http://f3.aaa.livedoor.jp/~null/cache/1079280501.html
D言語ドラフト一応読んだよ (Part 1)
http://pc5.2ch.net/tech/kako/1003/10036/1003674814.html

D言語
http://f3.aaa.livedoor.jp/~null/cache/1073913528.html


関連サイト

D言語研究 - Wiki
http://f17.aaa.livedoor.jp/~labamba/

Wikiのリンク集
http://f17.aaa.livedoor.jp/~labamba/?%A5%EA%A5%F3%A5%AF%BD%B8

バグトラック
http://f17.aaa.livedoor.jp/~labamba/?BugTrack
(コンパイラのバグ見つけたんだけど、英語なんかできねって人はこちらへ)

D言語研究質
http://www.sun-inet.or.jp/~yaneurao/dlang/

D Memo - それぞれの言語仕様の説明とサンプルがある(内容がかなり古いので注意。サンプルは動きません)
http://www.kmonos.net/alang/etc/d.php
997994:04/12/12 02:15:43
すまん、host がスレ建て制限されてる on_
誰がほかの人よろしく
998デフォルトの名無しさん:04/12/12 02:26:52
初めて2chでスレ建てた。

D言語 Part.5
http://pc5.2ch.net/test/read.cgi/tech/1102785854/

変なところあったらすまん。
999デフォルトの名無しさん:04/12/12 02:35:32
今調べた。
1000デフォルトの名無しさん:04/12/12 02:37:42
             ノニ,ニ,ニi
          ,ゝ-〔ヅ,ニニニi
         (.(~/´ ̄`ヽ
          | || __.|
          | || |ia||
          | || |`d||
          | || |( ゚Д゚) < 深夜に浮上します
         匚;|_(ノ_____|つ◎、
         .!-!|_i_i_i_i_i_|
         .|;|  しiノ
シュゴゴゴ・・・  | i|
       ,;:"⌒ ⌒゙;,.
      .,(,,,,''''   ;;;;,,),.
     .,;(''' ,;:,,,  ;;;;;;  ,,),..





10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。