AREA2048を紹介してみた。
Japanワロタ
このスレとD言語の発展を祈って、
>>1さん乙であります。
バトルフィーバーかよ!
返信
Title: Re: AREA2048
Author: David L. Davis <
[email protected]>
Date: Sun, 12 Dec 2004 00:22:08 +0000 (UTC)
Hiroshi Sakurai: Welcome to the D forum! :))
I'm downloading your Area2048 game now, and will try it out...thanks for
pointing to it.
David L.
-------------------------------------------------------------------
"Dare to reach for the Stars...Dare to Dream, Build, and Achieve!"
…さんの投稿
いちお、2chなので名前は伏せておきます。
Title: Shared Object
Date: Sat, 11 Dec 2004 15:41:58 +0000 (UTC)
Please support the share object of Linux by dmd. Although cooperation with
Apache is tried, the dynamic link of phobos will go wrong. I want you to
also introduce libphobosnm.a of gdc.
初めての投稿
Title: nice to meet you
Author: Japan <
[email protected]>
Date: Sat, 11 Dec 2004 21:49:16 +0000 (UTC)
Hello! I like D language!
I can'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.
下手な英語でも恥ずかしがらず使って
"わけわからん英語書くけど日本の状況を教えてくれるから読んでやろう。"
と思われるように投稿し続けようと思います。
ガラパゴス云々の問題を解決する実験と考えて、物言わぬ日本人をやめようと。
英語圏の人の視点から見ると、、、
D言語の日本サイトは英語に訳されているところ
が見やすい。あたりまえだけど。
D言語の仕様書からリンクされている、
K.INABAさん、shinichiro.hさん、ABAさん、YTさんは英語を意識して
ホームページを作っているのでわかりやすい。
shinichiro.hさんは英語版のリンク集を頑張っていたようだけど、
止めてしまった模様。
今はD言語研究のリンク集からたどってねとなっている。
でも、日本語でかかれていてよくわからないのではないかと思う。
YTさんがwindows.hのdポーティングのやる気を失っているから、
励ましの言葉をくださいとか、
ABAさんのTTが面白いとか、sakuraiが改造してみたとか、
shinichiro.hさんのPSY-NOがネットワーク対応ゲームを作っているとか、
phobosはわかりやすいが、ソケットライブラリはいまいちわかりにくいから、
SDLのライブラリを使っているとか。
日本で初のD言語の本が出るとか、書き込んでいこうと思う。
自分の書き込みがあると、少しは読む気力があがるかなぁ。
問題あれば、指摘してください。
(・∀・)イイイイヨー!
>>14 偉いね。
中国人なんかは下手な英語や日本語でも平気で書くけど、日本人は
プライドが邪魔するのか、そういうことをしないからね。
俺もだけどw
「いたぬもめ」とかなw>中国人やカンコック
>>14 偉いと思う。
でも、「わけわからん英語書くけど日本の状況を教えてくれるから読んでやろう」と
思ってもらうには、勢いだけじゃなくて誠意も大切だよ。
単語チェックは最低限のマナーだから、気を付けつつ頑張ろうぜ。
My English is very bat.
(私の英語はまさにコウモリなんです。)
Sorry my poor Englishとか付けると良いのかな
for
a for
poor Englishなのは見りゃ一発でわかるんだから謝る必要はない。
卑屈になってもうっとおしいだけ。
言葉がメタメタでも内容で勝負。要点だけ書くのがいい。
Hi,
You must release 1.0 as soon as possible.
Thank you.
Yes, of course, we will release it as soon AS POSSIBLE.
問題はDの作品がないことだ。
…少しだけあったっけ?
>>28 フリーのゲームソフトならかなり出ている。
なぜかシューティングゲームばかりだ。
ゲームが多いのはやねうらおがDを勧めたからじゃない?
Dでhttpサーバあったんだ、知らなかった
>>29 おっとすまん。言いたかったのは
>>24のスレのことだった。
Dの作品が殆どないのに紹介するのは如何なものかと思っただけっす。
ん? D言語の七行が少ないってことだよな?
俺、日本語能力ヤバイんでしょうか…orz
>>34 そういう意味っす。
Dでゲームが目立つのは、
ABAさんとshinichiro.hさんがシューティングゲームマニアで、
高品質なゲームを沢山作っているからだと思います。
SDLを使ったマルチプラットフォームプログラミングは素晴らしいです。
yaneuraoさんはゲーム用のライブラリは作ったけど、
本気で作ったゲームは発表していません。
yaneoraoさんのゲーム用SDKを使ってゲームは発表されていないと思います。
std.stream.MemoryStream.writeBlockで、データのbyte[].lengthを超えたサイズ指定するとバイト配列以外の領域のデータまで書き出してしまいます。
If the length of arrangement was exceeded and size specification is carried out by std.stream.MemoryStream.writeBlock, even the data of domains other than arrangement will write out.
import std.stream;
void main() {
MemoryStream ms = new MemoryStream();
byte[] b;
b.length = 10;
for (int i = 0; i < b.length; i++) {
b[i] = i;
}
ms.writeBlock(b, 11);
printf("length = %d\n",ms.data.length);
}
output
11
機械翻訳しただけじゃ、だめですよね。
いや、やねうらおは商業ゲームプログラマ(だった?)だろ・・・
すまん。Dの話だったよな。
std.stream.MemoryStream.writeBlockにおいてbyte[].lengthを超える値をセットすると、バイト配列以外の領域を破壊してしまう。
std.stream.MemoryStream.writeBlockでbyte[].lengthより大きい値を指定すると、正しい領域以外にまで書き出してしまう。
こんな感じ?
バグ報告は、バグったコードを貼り付ければ通じるようなきもする。
This code has bug.
if over the maxlength of byte.
overflow, overflow, yes yes
std.stream.MemoryStream.writeBlock can write over array of byte.
とか?
>>43 このコードはバグを持っています。
バイトのmaxlengthの上に場合。
オーバーフロー、オーバーフロー(はいはい)
>>12 おまいは何年前話してんだ?
とりあえず伊東範子に萌え〜。
バリアント変数型があったら、ホントにスクリプトみたいでよさげじゃない?
Javascriptみたいな。
返信きました。通じたようです。
I don't think that is a bug. The "writeBlock" function takes a void* buffer
pointer and a length, so the fact that the buffer originally came from an
array is forgotten inside writeBlock. To write out exactly a buffer try
"write(ubyte[] buf)". I suppose you'll have to cast the buffer since byte[]
isn't implicitly convertable to ubyte[]. In other words instead of
ms.writeBlock(b,11)
try
ms.write(b);
-Ben
ほんとだ。
私は勘違いしていました。
と書きたくて、こう返信しました。
Thank you for a reply. Ben.
Well.
I mistook about Phobos spec.
-Hiroshi Sakurai
何気に気になってたのだけど、言われてみればバグじゃなかった。
すっきり。
>>50 ところで、英文に「,(コンマ)」を使わないのには意味があるのか?
単に、英語がわかってないから、ぶつぶつ切ってるだけです。
ニュースグループで頑張ってる、tetsuyaって人は日本人なのかな?
俺はへろへろ英語だけど、他のDやってる方々はみな、ちゃんとした英語で、
newsgroupで話しているので、偉いのは、d言語コミニュティの皆様方です。
最初の本だったのか。
Rubyも最初は日本語って書いてあるけど、それは当たり前っちゃ
当たり前だよなぁ。
>>55 の内容
Congratulations, the first book on D.
If only someone can now translate it to English.
It's like Deja-vue, the first book on Ruby was also in Japanese.
Zz
sakurai はDeja-vueを覚えた!!
Because Ruby was made in Japan. :)
-tetsuya
Title: Re: First D language books in Japan.
Author: David Medlock <
[email protected]>
Date: Tue, 14 Dec 2004 07:31:11 -0500
What I would *love* to see ( or write myself ) is one of those pocket
ref books for D and phobos. Possibly pitch it to O'Reilley.
オライリー本書けたらいいなぁ。無理だけど。
ポケットリファレンスならサンプルコードは大量に書けるから、書けそうだな。
D言語研究のサンプルコードは大体自分が書いたから実績がある。
著作権的に使っちゃ駄目っていうなら、一からサンプルコード書けばいいだけだし。
K.INABAさんのboost本みたくまとめればいいんだよな。
俺の場合、日本語が問題だけど、、、。
>>55 目次を見る限り、今さら翻訳までするものでもないような。
でも最初ってのはやっぱりすごい。
これでDを知る人が増えれば後に続くかもしれないしね。
Title: Re: First D language books in Japan.
Author: "Matthew" <
[email protected]>
Date: Wed, 15 Dec 2004 01:50:04 +1100
Walter and I are just starting work on "D Programming Distilled" for
Addison-Wesley. (We signed the contract today!)
Expect to see it out later next year.
ちょうど今日、契約してきたってことだよね。
期待!
WalterがD言語作ってる人でしょ。
DTLかなんか作ってる人?Matthewって誰?
Title: Re: First D language books in Japan.
Author: "Matthew" <
[email protected]>
Date: Wed, 15 Dec 2004 01:50:04 +1100
Walter and I are just starting work on "D Programming Distilled" for
Addison-Wesley. (We signed the contract today!)
Expect to see it out later next year.
ちょうど今日、契約してきたってことだよね。
期待!
WalterがD言語作ってる人でしょ。
DTLかなんか作ってる人?Matthewって誰?
D言語の仕様書にD言語パーフェクトガイドのリンクが乗りました。
ビックリ!
google翻訳で、デストラクタがデス・トラクターになって笑えるって話が
出てて笑ってしまった。
Title: Re: First D language books in Japan.
Author: "Walter" <
[email protected]>
Date: Tue, 14 Dec 2004 16:33:57 -0800
"Dave" <
[email protected]> wrote in message
news:
[email protected]...
> Destructor is translated as 'Death Tractor', haa!
I love that. I'm going to use it <g>.
冗談が通じそうな、ウォルターたんが好きになった。(w
これでやる気があがって、機能追加が早くなったらいいなぁ。
Dは今のJava市場に食い込める可能性があると思うよ
no identifier for declarator
ってどういう意味ですか?
宣言に識別子がないよん
宣言に識別子がないにゃ
宣言に識別子がないんだよもん
こんなところでだよもん星人をみるとは……
>>66 C++市場だろう。
まずはゲーム市場がいいな。
C互換性が向上してもっと利便性の高い機能が増えたらいいのにな
>>72 GDCが新しいガーベジコレクションの実装を入れるらしいから、
凄く期待してます。
ゲームの場合、GC時間が短ければ、多少処理速度遅くてもいいんだよな。
Sofud が面白そう。
C言語ライクな構造表現言語。XMLの代わりに、C言語っぽい言語で
データを定義しようって言語みたい。
Grovyをみて俺もおなじ様なことを考えた。
どこでも似たような考えをもつ人はいるもんだと思った。
あんまり、ちゃんと訳できてない気がするけど、作るオプションじゃないみたい。
リンクする共有ライブラリを静的にするか動的にするかってことのよう。残念。
その話のついでにDの動的ロードの強化が出てきたらいいのになぁ。
一回つながったんだけど、またつながらなくなった。
digital marsのサーバが落ちてるのかな。
OpenGL + SDLで作品(非ゲーム)をつくってるんだけど、今Socket周りでちょっと苦戦中。
DのライブラリにSocketがあったからつかってみてるけど、SDLのほうがわかりやすいのか。
情報アリガトン
翻訳ガンガッテ。
TCPSocket使ってサーバを作ろうとしてもうまくいかなかった。
Socketで対処した。
shinichiro_hさんはSDLのほうが楽だと言っています。
ぱっと見、めんどくさそうなので、私は使ってみていません。
今度出るDの本にサンプル載るらしいけど。
http://www.digitalmars.com/ が見れないのだけど、どうしてなのかな。
嫌われて見れないなら、それはそれでいいし、
華々しくD言語界から消え去るけど、別な要因だったら嫌だな。
誰か、真意を伺ってきて欲しいです。
助けて。
MSが恐れをなして妨害してるんだったら、悔しいので。
と妄想してみたり。
んなこたねぇと思うがな。
sakurai はディジタルマーツに嫌われて、アクセス制限食らってるだけだよね。
別に嫌われてるわけじゃないでしょ。
tracertしてみたら?
そういやyaneuraoはキチガイ扱いされたって書いてたが。
>83
サンプルにあるlistener.dとhtmlget.dを無理やり組み合わせたら、
送ったパケットを送り返すものつくれたよ。けっこう資料なくて苦労したけど。
ただ、Socketプログラミングは初めてだから多分効率悪いやりかたしてるだろうけど。
今忙しくてソースは晒せないけど、もう少ししたら晒せるからちょっと待って。
Tracing route to www.digitalmarts.com [208.254.3.164]
over a maximum of 30 hops:
:
:
15 124 ms 123 ms 124 ms 0.so-3-0-0.TL1.SAC1.ALTER.NET [152.63.53.250]
16 192 ms 178 ms 193 ms 0.so-5-2-0.TL1.DCA6.ALTER.NET [152.63.3.197]
17 178 ms 192 ms 193 ms 0.so-6-0-0.XL1.DCA6.ALTER.NET [152.63.38.70]
18 192 ms 193 ms 178 ms 0.so-6-0-0.WR1.IAD6.ALTER.NET [152.63.39.113]
19 192 ms 178 ms 206 ms so-0-0-0.ur1.iad6.web.wcom.net [157.130.59.70]
20 178 ms 192 ms 193 ms 206.112.64.5
21 192 ms 178 ms 193 ms uu-3-164.buydomains.com [208.254.3.164]
Trace complete.
と出ました。ネットワーク弱いんだよなぁ。
やっぱ、陰謀だ。FBIに狙われてるんだ。殺される。(w
ping も通らなかったのが通った。と思ったら、
は!digitalmartsってオンラインショップじゃん!!
やりなおし。
Tracing route to digitalmars.com [63.105.9.61]
over a maximum of 30 hops:
:
11 124 ms 123 ms 124 ms 0.so-7-3-0.XL2.SEA1.ALTER.NET [152.63.105.22]
12 * 124 ms 123 ms 0.so-7-0-0.TL2.SEA1.ALTER.NET [152.63.2.134]
13 193 ms 178 ms 192 ms 0.so-2-1-0.TL2.NYC8.ALTER.NET [152.63.1.133]
14 192 ms 192 ms 192 ms 0.so-3-0-0.XL2.NYC1.ALTER.NET [152.63.29.113]
15 193 ms 192 ms 206 ms 0.so-0-0-0.XR2.NYC1.ALTER.NET [152.63.19.97]
16 192 ms 206 ms 206 ms 508.ATM6-0.GW2.BUF1.ALTER.NET [152.63.25.45]
17 220 ms 220 ms 219 ms t1.digitaldaemon.com [63.105.9.33]
18 * * * Request timed out.
:
30 * * * Request timed out.
Trace complete.
こんなんでました。
D言語アンテナがこんなことに、、、。
2004/12/19 14:56:52 FrontPage - D言語研究
2004-12-19
FrontPage
彩信书库网络电视代理服务器桌面壁纸生活百科交友游戏电影btflash笑话软件qq外挂自助链接................ ............
敵は中国人か!(w
なんだ代理服って?
カラーメッセージの書庫のネットワークテレビは
サーバーのデスクトップの壁紙の生活の百科の友人と付き合って遊ぶ映画btflashを
代行してソフトウェアqqプラグインのセルフサービスのリンクを笑いものにする
?
>>84 どうでもいいけどディジタル「マルス」じゃね?
サーバのモジュール機構を考えてるんだが、
ApacheのDSO場合、グローバルに宣言したmodule構造体のインスタンスに
各動作ヘーズのの関数ポインタをセットして本体はそれを呼び出す仕組み
になってるがこれをDの機能を活かしてより効率的に実装するにはどうすればよいだろう。
よりあえずグローバルなオブジェクトとしてモジュールを生成してそのメソッドを
デリゲートの集まりになっているModule構造体にセットして本体で呼び出す仕組みを
考えた。
もっといい方法がないかなぁ。
DSPみた?
DSPはモジュールはCなんだな。
Pure Dにしたいっす。
TomcatみたいにApache、MySQLと連携する3層モデルを想定してます。
irvineってDL支援ソフトのオプションに[GCを使う]って項目があった。
もしかしてDで出来てんのかなぁ・・・なんて考えてしまった。
Delphiだろが。なにをいまさら・・・
D(elphi)で作られています。
つまんねえねんまつ
うついけんしはしんけいつう
しにたくなるよとよるなくたにし
なんてしつけいいこいいけつしてんな
ところでD言語パーフェクトガイド買って見た人いますか?
トリビアに送ってみようと思う
プログラミング言語にはB言語があり、C言語があり、C++(シープラスプラス)言語があり、更にD言語がある。
補足
B言語とはBCPL言語が元になってる。
B言語を進化させたのがC言語である。
C言語は汎用性が高かったので広く使われはじめた。
しだいにC言語プログラマの値段が下がってきた事を腹立たしく思ったBjarne氏はC++を開発。
凡人が扱うには煮が重いC++のおかげでプログラマの値段があがる。
そしてC++を不幸に思った人がDを作り始める。
フローチャート
B─C┬C++
└─D
名前[PN:Dの食卓 本名:ひろゆき]
住所[東京都のどっか、2ちゃんねるの管理人]
>>107 立ち読みしてWebでわかることだけだなと思って買った。
まぁ自分が読むというより大学の友人にすすめてみたいから
買ってみた。
CDにCygwinとかEclipseとかも入ってた。
>>107 投資のつもりで買ってみた。
結論から言うと、すでにD言語やってる人が読む所はほとんどない。
でもCとかJavaのプログラムとの比較が多いので、他の言語から
Dやってみようって人にはいいかも。多分狙いはそっちでしょ。
>>109みたいに、Dを人に勧めるにはいいと思った。
>>108 > しだいにC言語プログラマの値段が下がってきた事を腹立たしく思ったBjarne氏はC++を開発。
> 凡人が扱うには煮が重いC++のおかげでプログラマの値段があがる。
まだそんな迷信信じてる奴いたのか…
それともネタ?
>>112 >プログラミング言語にはB言語があり、C言語があり、C++(シープラスプラス)言語があり、更にD言語がある。
>
> 補足
> B言語とはBCPL言語が元になってる。
> B言語を進化させたのがC言語である。
> C言語は汎用性が高かったので広く使われはじめた。
ここは普通に事実なんだが……
ネタに事実が含まれていてはいけないのか
>114はなんでそんなに必死なんだ。
ぶっちゃけ113=115=116のが必死だけどな。
そしてC++を不幸に思った人がC++等他の言語を参考にCをベースとしてDを作り始める。
かな?
>>118 そうではなく、C++に挫折した人がDを作り始めたんでしょ(ワラ
>>115-116 「それ以前にトリビアがプログラミング言語のネタなんか採用するわけ無いだろ」ってネタなんだから事実かどうかは関係無いだろw
「トリビアに『○○と××は不倫関係だ』って言うトリビアを送ろうと思う」って言うネタにまで
「ここは普通に事実なんだが…」ってレスを返すのか?
・・・そういうネタなのか???
あ、
>それ以前にトリビアがプログラミング言語のネタなんか採用するわけ無いだろ
のことね
よしまとめよう。
>>108がすべての発端だ。
>>111は、引用部分が事実ではないことを指摘している。
事実ではない(ということを承知で)、という意味で「ネタ」
と使っていると思われる。
>>112はそれに対して、「ネタ」を一般的な意味でのネタ、
つまりちょっとしたジョークだという意味で、
>>108全体が
ネタだということを指摘している。
>>113は、
>>111通りの意味での「ネタ」で
>>112を解釈し、
これに対してネタではなく、事実だという旨を主張している。
あとはこの「ネタ」に関する齟齬が引き起こした誤解レスの応酬だ。
>>111から
>>112への間に誤解があったわけだな。オーライ?
>>116は勘違いしてたんだ。正直すまんかった。
トリビアネタは他所でやれよ
>>123 おまえ明日は終業式だろ? 早く寝ろよ。
>>126 当たり前の事を書いただけでリア厨扱いですか…
あるいは「おもしろくない人」かな
>>119 そんなD言語はC++で書かれてるけどな(ワラエ
急に変なのが沸いてきたな…
最初に沸いたのは俺だけど、ほんとに悪かった。
数レス前まではニュースグループから文を抜き出したり
本が発売されるぜ、とか本当にDに関する話題だけだったのに。
C++の話題を出したりしてマジごめん。
もう俺が切腹するから落ち着いてください。
↓以下何も無かったかのようにDの話↓
大手コンパイラ企業がDに参戦してくる可能性ってあるかなぁ?
なんか2chっぽい文章だな
ここ見てそうw
>>133 痛いな。メンヘラーかよ。ム板が汚染される・・・・
日記読んでて思ったのだが、こういう香具師に限って、突然シェアウェア化したりするんだよな。
スパイウェアが仕掛けられているかもしれないし、使わないでおこう。
最近ム板っぽくない流ればっかりだな
マ板にDスレ立ててやりゃいいのに
17歳か。
確かにイタタだけど、口だけの奴よりは行動してるだけマシだな。
>>133 国立専門学校ってなんだ…
独立行政法人工業高等専門学校の間違いじゃねえのか…
↓以下何も無かったかのようにDの話↓
17歳でこれは凄いな。
国立専門学校ってのは高専よりもレベル高いのか?
そんなことよりパーフェクトガイドはどうなったんだ。
買う価値あるの?
半年後ぐらいに俺の会社でDでのWeb開発を提案しようと思う。
そんときにパーフェクトガイドは役に立つ
146 :
デフォルトの名無しさん:04/12/25 18:54:08
D言語のコンパイラってバージョンが低いけど
なんか問題でもあるの?
147 :
デフォルトの名無しさん:04/12/25 19:01:38
動的配列とか、連想配列を組み込んでるのは
foreachとの兼ね合いなのかな?
動的配列とか連想配列の実装はJavaみたいに書き換えられるといいんだけどな。
148 :
デフォルトの名無しさん:04/12/25 19:30:35
ポインタがまだあるのか・・・
C言語の関数がダイレクトに使えますって意味では
言語仕様に入ってるとおいしいのかも。
ただ、そのせいでC言語にひっぱられていってもな・・・
コードの美しさとかライブラリ構造のセンスはJavaが一番。
デバッグにかかる時間がほとんどないという素晴らしさ。
バカが書いてもそれなりに読めるというシンプルさ。
そのためオープンなソースコードが世の中に氾濫してる。
ただ、GUIとかやっぱり微妙。Eclipseはけっこういいけど。
メモリバカ食いなのもやや問題。
C#はWindowsアプリをすさまじく効率良く作れるんだが、
ライブラリのセンスのなさと、コードがどんどん汚れていく仕様は圧巻。
コードの可読性が落ちるからといって開発効率が下がるかというとそうでもない。
(スパゲッティだと途中で空中分解する)
VM=WindowsOSというVMのメリットまったくないじゃん的な痛さとは裏腹に
それでセキュリティーを確保しようというローテクさ
保守最強のJava
Windowsネイティブアプリ開発最強のC#
D言語はどうなるんだろう?
C#とかJavaに移れない、保守的なC、C++プログラマーのための言語か?
そういう観点では、標準化のために修正できなかったC++のクソな部分を
直したようにも見える。
どっかにC++の後継って書いてあったような気もする。
>>149 商用アプリに使われるケースが極端に少ないだろw
ネイティブコードをそこまでないがしろにして
持論を展開すな。
152 :
デフォルトの名無しさん:04/12/25 19:46:26
>>149 実は括弧が多すぎてだめw
Lisp系はデバッグが楽チンでいいんだけど
括弧がなぁ
データベースとか扱うプログラムを作ると
見にくくなっていく
153 :
デフォルトの名無しさん:04/12/25 19:47:11
>ネイティブコードをそこまでないがしろにして
ネイティブコードかどうかなんて関係ないって。
VMとリンクして配布すりゃいいだけ。
154 :
デフォルトの名無しさん:04/12/25 19:50:26
開発環境にまともなのができて
ライブラリがうんこじゃなければ
D言語に乗り換えたいけど
あと3年はかかるよな。
あげるなと言ってみるテスト
>>152 まぁ、括弧が見やすいかどうかっていうのは慣れの問題だけど、
式の「読み難さ」という点を言うなら、確かに他人が見た場合はそうだと思う。
でも、オブジェクト指向にしたら?
個々のメソッドは小規模だから、動作を把握するのに大きなエネルギを必要とせず、
Schemeの単純さ・スマートさ、さらに関数型ということは逆に強みになるのでは?
Schemeでオブジェクト指向はキツイ
というかLISP系でオブジェクト指向やるという発想がまず無謀
今のパラダイムと一致しないし、もの凄く遠回りをすることになる
OOを念頭に何か作ってみればわかると思うが、LISPでオブジェクト指向なんて
LISP系をまともに触った事がない人間の妄想だとわかる
LISPでOOが成功するとすれば、それはもはやLISPではなく、
変形した別の言語になってる筈
>>157 Schemeのポリシーから考えると、オブジェクト指向は言語機能として持っている
必要はないということ。
必要なら、単純なSchemeの言語機能でそういう構造を自分で作れば良いということ。
オブジェクト指向を表現した一例としてCLOSというものがある。
>>156 確かに、複数概念に分割できる処理を記述する場合いいかもね。
データベースなんかではそうはいかない。
分割ではなく、再利用の方が重要だからね。
さて、激しくスレ違いごめんね。
>>157 C++のSTLなんかが関数型の影響を受けている事は周知でしょう?
グレアムさーん。
>>157がこんなこと言ってますよー。
>LISP系をまともに触った事がない人間の妄想だとわかる
>>158 そんなもん百も承知で話してるんだよ。
たしかにOO機能がなくても別の機能を組み合わせて実現だけはできるな。
実現だけは。
実験レベルならいくらでもそういうもんは作れるし存在してるんだよ。
では実際に、Schemeの上にOOシステムを構築してそれを運用したり、
プロジェクトに組み込んで成功させて利益を得られる見込みはあるか、
とすればだいぶ怪しくなってくるな。
まず成功なんてしない。
>そういう構造を自分で作れば良い
破綻するよ。
そもそもこの発言は無責任にもほどがある。
具体的なもの言ってみろ。
CLOSが例に挙がるようじゃどうしようもないが。
>オブジェクト指向を表現した一例としてCLOSというものがある。
CLOSを使いたいと言う奇特なやつが今の世の中どこにいるんだろうね。
つーかおまえCLOSの仕様把握して言ってるんだろうな?
使った事ないんだろうな。
ひょっとしてC++と同じ様に組めると思ってるのか?
んなわけねーだろ。
あんまCLOSのクソ加減なめんな。
SchemeでOOなんて実現しても満足できるものなんて無理ってことだ
MITの学生もSchemeで商売しようなんて考えない
>>162 グラハムの変態っぷりはこの話と関係ない
Lisp厨と嫌煙厨はところ構わず突然議論し始めるのな
>>153 うお、なんで関係ねーんだwwwww意味わかんねwwwwww
>>166 世の中のプログラマが全員OSありきで仕事してるって思ってるんだろ・・・
そこは放置してやれよ。
インラインアセンブラが必要。
>ポインタがまだあるのか・・・
と言っている時点でDのなにを評価しようというのか、不明
>うお、なんで関係ねーんだwwwww意味わかんねwwwwww
関係あるなら関係を指摘してくれー
無ければスルーしてくれー
JavaVMは携帯でも動く。
OSなくても動くVMがあるかどうかは知らんけど、作ることは可能。
>>168 ポインタ無くてもD言語は成り立つ。
Cからのインポートを別の形にすればポインタは不要(なはず)。
言語仕様がCの呼び出しに引きずられてる。
インラインアセンブラが組み込まれてることとは別問題。
確かに、C言語とインラインアセンブラ(俺はつかわないけど)が
D言語の中にそのまま放り込めるのは便利だけど、
俺はそういうのは別ファイルにするか
asm{
}
c{
}
の中だけで使うべきだと思う。
>>163 なんか、クリスマスだから、殺気だっている人がいますが。
(define (make-object super)
(lambda (m . args) (case m ((hi) 'hi) (else (apply super m args)))))
(define obj (make-object ()))
(obj 'hi)
=> hi
>>169はC#にポインタがあることは知らないんだろうな…
>>170 そういう香具師とはろくな議論にならないから放置の方向で。
>>169 >OSなくても動くVMがあるかどうかは知らんけど、作ることは可能。
まぁとりあえず、VMをつくるっていう仕事もある以上、
ネィティブコードを出力する言語がいるってこと。
これでは答えにならないでしょうか。
>インラインアセンブラ(俺はつかわないけど)
最近のコンパイラでの、インラインアセンブラは、インラインであるがゆえの
最適化をすることがあるので、別ファイルだけってのはちょっと困る。
(D言語がいまのバージョンでやっているとは、まだ思えないけど)
まぁ、別のファイルにするのめんどくさいし、
VMをつくるんじゃなくても、せっかくあるSSE命令を直でつかいたいんだよ。インラインでw
言語ヲタ達が、D言語に注目しているのはよくわかった。
なんか謎な事で伸びすぎ
>>170=
>>173=
>>175 何か反論しないの?
敗北宣言ですか?
>>175 >速いコードがかきたいです・・安西先生・・・
Schemeで速いコ−ドなんて無理
>>171 その調子でobjectと他のアトムや関数を区別するobject?を定義してみろ
(object? (make-object ())) => #t
(object? (lambda() 'no)) => #f
まあ、最強はActive Basicなわけだが。
あふぉか!人違いしたうえ、問題とかだしてるしw
おれはD言語で速いコードがかきてーっていってんだ。D言語のスレよ?
>>178 反論しないと敗北なの?
何言っても無駄っぽいよ?
自分で敗北みとめてるよ。
>178で反論してないレスにはまけたってことでしょ(プ
175が冷静にレス読めてないのはわかった
>>181 >_>156の敗北だな
ここにSchemeでオブジェクト指向は無理ってことが
反論のしようがないほど実証されたわけ
>>179 もう、
>>179でいいよ・・・意味不明なヤシのことで、スレが伸びるのここまで。
↓以下なにもなかったかのように
つーかLISPなんか括弧嫌とか言ってる時点でダメじゃん
まあ、最強はマシン語なわけだが。
馬鹿が沸いてますね
最強は怪獣語で良いよ。
「おいアンギラス!」
「なんだい?」
「ボールになれ!」
「ラジャー!」
こんなふうに○○厨がしゃしゃり出てご高説をとなえていくというのは
だんだんDもマイナー言語から脱皮しつつあると言うことですね・・・・2ch内では。
GC必要ない希ガスr
たしかにGC入れると無駄にメモリ周りが複雑になるんだよね。
ガードキャンセルは確かに必要ないな。
>>194 えっ、扱いが簡単になるんじゃなくて?
それは、GCを自分でつくるときの話かな
(以下、ゲームキューブ禁止)
LISPみたいに構文を簡単にD言語についかできたらいいと思うのですが、
どうやったら実現できると思いますか?
クリスマスにこんなに伸びてるこのスレの住人は負け犬wwww
…オレモナー_| ̄|○
200 :
デフォルトの名無しさん:04/12/26 00:08:26
>>まぁとりあえず、VMをつくるっていう仕事もある以上、
>>ネィティブコードを出力する言語がいるってこと。
>これでは答えにならないでしょうか。
まあ、ちなみにJavaにもネイティブコンパイラあるし
逆にDもガベージコレクタが毎回ついてくるわけで・・・
中間コードにして実行前にJITでネイティブ生成するのと
ソースから構造化データに変えてネイティブ生成するのとでは大差ない。
キャッシュしとけばネイティブと変わらない。
実行時最適化ができる分、JITの方が有利らしい。
あとは動的にクラスを読み込めたり、セキュリティー的にお得だから
中間コード+VMをベースにやってるだけ。
言いたいことは、言語仕様とネイティブコード云々は関係ないってことね。
>>最近のコンパイラでの、インラインアセンブラは、インラインであるがゆえの
>>最適化をすることがあるので、別ファイルだけってのはちょっと困る。
D言語ならそれは関係ないな。JITでできるかは微妙だけど。
>まぁ、別のファイルにするのめんどくさいし、
ここがポイントで、C言語をそのまま取り込むのが楽という理由で
ポインタまで言語仕様に取り込むとすれば、それはセンスが悪いのでやめたほうがいい
って俺は思う。確かに楽なのは予想できるけど、美しくないんだな。
楽を追求した言語にPerlってのがあるけど、あれは確かに楽だけど・・・
>>199 他人が楽しんでいる時に苦労する人が勝ち組。
202 :
デフォルトの名無しさん:04/12/26 00:10:06
>LISPみたいに構文を簡単にD言語についかできたらいいと思うのですが、
どういう構文を追加したいんだい?
実務で使ってる奴とかいるのか?
>>203 たぶんいないとおもう。
ってDのことだよね?
まだ実務にはちょっと早いだろうなぁ。
Webならアプリケーションサーバあえできたらすぐに人気出るだろうけど。
D言語もバイトコードなんなりでVMでも動かせるようにすればいいんだよ
それで一応どこでも動くってことになるし
パフォーマンス上げたいならネイティブにすればいいし
SMLのmltonはCとバイトコードとネイティブて3つ対応してるよ
コンパイル速いからスクリプト言語的につかおうぜー
って話は前からあるね。その環境でのコンパイラがあれば
中間コードは持たなくてもよいのかも。
どうせスクリプト言語的に使うならサーバサイドCGIとかじゃなくて、
コード走り書きして、コンパイルとリンクを勝手にやって実行まで
してくれる常駐ツールがあれば、ちょっとした作業をするときにいいなぁ、
とか思った。
>>202 きっと、他の人に言わせると、
「そんなもの構文として追加しなくても、こうかけるからいらない」
って言われる程度のことだよ。
構文に望むものは人によって違うのだから、構文追加できたらいいと思うわけ。
D言語に望むものは人によって違うけど、新しいなにかだろう。
C++のテンプレートや、アスペクト指向以上のものだろう。
なので、構文追加する機能について考えてみて欲しいと。
D言語に構文追加機能が備われば、人によって思いついたいろいろな構文を
追加してみて、それを使ったコードが出回り、よりよい構文を模索する
プラットフォームとして機能できるだろ。
C++のテンプレートやアスペクト指向と同じレベルのことを考えてみようよ。
なんでVMってあるんだろーな。不思議だね。
なんでOSってあるんだろーな。不思議だね。
不思議だね、不思議だね〜
private import std.string;
void main(){int i=10;printf("moji%d\n",i);}
a:[] p:() b:{} s:";" c:"," w:" " d:"." k:keyword
";"," "."
b(0,0,0,0).k="private";
b(0,0,1,0).k="import";
b(0,0,2,0).k="std";
b(0,0,2,1).k="string";
b(1,0,0,0).k="void";
b(1,0,1,0).k="main";
b(1,0,2,0).k="(){int i=10;printf(\"moji%d\\n\",i);}";
b(1,0,2,0).a=null;
b(1,0,2,0).p.length=0;
b(1,0,2,0).b(0,0,0,0).k="int";
b(1,0,2,0).b(0,0,1,0).k="i";
b(1,0,2,0).b(0,0,2,0).k="\=";
b(1,0,2,0).b(0,0,3,0).k="10";
b(1,0,2,0).b(1,0,0,0).k="printf";
b(1,0,2,0).b(1,0,1,0).k="(\"moji%d\\n\",i)";
b(1,0,2,0).b(1,0,1,0).a=null;
b(1,0,2,0).b(1,0,1,0).b=null;
b(1,0,2,0).b(1,0,1,0).p(0,0,0,0).k="\"moji%d\\n\"";
b(1,0,2,0).b(1,0,1,0).p(0,1,0,0).k="i";
b(1,0,2,0).b(1,0,2,0).k="";
a=null;
p=null;
こういうことを日本語で説明したいのだけど、、、。
>>207 毎回コンパイルするならコンパイルすればいいじゃん、と思う俺は貧乏人ですか?
>>208 学際発の言語でないと「新しい」は信用できない。
214 :
デフォルトの名無しさん:04/12/26 13:46:15
>「そんなもの構文として追加しなくても、こうかけるからいらない」
>って言われる程度のことだよ。
じゃあ、いらねーな。
>構文に望むものは人によって違うのだから、構文追加できたらいいと思うわけ。
違わないってw
>D言語に望むものは人によって違うけど、新しいなにかだろう。
まともなC++だろ。
>C++のテンプレートや、アスペクト指向以上のものだろう。
アスペクト指向はプリプロセッサに置き換えられましたと。
>なので、構文追加する機能について考えてみて欲しいと。
不要だし、やりたかったらプリプロセッサくらい1日で作れるし。
>D言語に構文追加機能が備われば、人によって思いついたいろいろな構文を
>追加してみて、それを使ったコードが出回り、よりよい構文を模索する
誰も追加しないから。
>C++のテンプレートやアスペクト指向と同じレベルのことを考えてみようよ。
無駄だからやめとけ。
>>214 何この人
っていうか、最近変な人がスレにこびり付いているのですが、ファブリーズで
落ちますか?
軽く読んでみただけだが、
>>214の方が100倍まともなことを書いてる。
実際
>>208みたいな奴がC++やPerlをグダグダにしたんだろうな。
>>217 かもなあ。
LISPとかSchemeはある意味、幸せだよな。
括弧に保護されてるというか・・・なんつうか。
括弧に保護されている、か。納得するよ。
>>214 それが普通のプログラマの考えかただと思うよ。
変に構文が増やされても仕事で使う場合困るだけだ。
まともなC++は俺も欲しい。
D言語にプリプロセッサの定義はなく、プリプロセッサで行われてきたことを大体網羅されている。
構造そのものを変更することなんてめったにないし、
プリプロセッサで十分な場合が多いし、簡単に理解できて実用的だ。
EPPを使っている人なんて皆無に等しいし、
C言語のようなプログラム言語に構文追加する機能なんて存在しないわけで、
ちょいちょいとプログラム直せば構文追加できるんだから、
構文追加したければ言語作っている人に言えばよい。
言って駄目ならあきらめるのが普通。不満なら自作すればいいんだものね。
だいたい、アセンブラさえあれば、なんだってできるんだ。
他の高級言語なんて捨ててしまえばいいんだ。
だいたい、俺がやってることが無駄なら、C++やPerlをグダグダなんかにできっこねーよ。
と言ってみる。
>>211 テストや雑用でプログラム書くのに、いちいちコマンドプロンプト立ち上げたり
WinMainコピペしたりする手間を減らしたい。
書き散らしたプログラムのtest???.dとかtest???.objが散乱してたりするせいで
あらたに使い捨てコードを書くことを躊躇うので、その要因を排除したい。
とかかなぁ。
よく出来たIDEとかで楽しようとしても、起動から手順から何もかも大げさすぎるし。
もっと突っ込んで、ある種の用途のテンプレがある程度整備されてたり
すれば、いよいよスクリプト言語の様相を呈してくるんだろうなぁ。
しかし結局Dコンパイラが別途必要なので、導入は簡単じゃないかもしれんけど。
どっかの話で「プログラム書けば何でも解決だと思うな。今ある道具で
こなすことを考えろ」みたいなこと言ってたけど、プログラム書いて解決
できるなら、楽に特定用途のツールを書けるならば、それで済むならば
プログラム技能を生かして楽できるなぁ、と思う。
現状は、よく「一日あればできる」とかいう台詞があるけれど、結局なにか
小さいユーティリティソフトを作ろうとすると、一仕事になってしまう。ちょっと
めんどいわけだ。
>>221 おまいさんは、もちょっと文章を推敲してから書いた方がいいぞ。
字句解析やったあとの構文解析を途中までやりたい。
で、この言語でXMLSchemeとかRelaxerとかRelaxNGみたいなのを定義して、
最終的な構文木ができるようなかんじのものを作れないかなと。
XML<->XHTML<->XMLScheme,Relaxer,RelaxNG
今考えてる奴<->D言語<->今考えている奴でD言語を定義する奴
非常に漠然としてる。
D言語<->XMLってのもありかなとか。LISPよりXML一般的だし。
てかDコンパイラにコード解析データを返す機能が欲しい。
それがあればIDEに自動補完が付けやすくなる。
いま必要なのは言語仕様よりも開発環境なんではないかな?
EclipseDがJDT程度には使い物になるようにして欲しい。
202=210=224
説明がぐちゃぐちゃに成ってしまったようなので、、、。
D言語で構文追加する機能がほしいというときに、
ベースとなる技術がほしいなということで、
XHTMLの元になるXML言語があるような言語があったらいいな
ということで、210のような言語を考えてみています。
ご意見お聞かせください。
C++は、あれはあれで十分まともなんだがな。
知ってればまともに動くからな。知らなきゃ地獄。
でも美しくなさすぎ
構文ネタの人うざいよ。
C++の話も他所でお願いします。
phobosってXMLまわりとかDBまわりが弱いしそこらへんを強化して欲しいなぁ。
>>226 dmdのfrontendはソース公開されてるからそれが使えるんでは?
字句、構文解析の部分だけDに移植した物もnewsgroupに投稿されてた気がする。
>>233 確かにコードは公開されてて非常にありがたい事ではあるんだが、
実際それを使いこなせるほどのスキルがまだ漏れとかにはないんだな。
なのでクラス名や変数名をコマンドに渡すと一定のフォーマットで標準出力に
返してくれるような機能があるとすぐにでも自動補完やリファクタが実装できるってわけ。
可能であれば自力でソースを解読したいけど現実問題として出来そうにないし。
でもDの利用範囲を大きくするにはこの辺の機能はいますぐにでも必要だと感じてる。
なのでコンパイラの付加価値としてそういうコアな部分はハイスキルな人にやってもらえたらと思う。
ちょうど今そうやって使える物作ってるのがdlexerやdparser書いてる人だと思う。
IDE作っててそれに使うみたいだし。
>>232 >phobosってXMLまわりとかDBまわりが弱いしそこらへんを強化して欲しいなぁ。
ぶっちゃけCのライブラリそのまま使えるからなあ。
なんで弱いと思うの?
>>235 あれ、James Dunne って IDE 作ってたっけ?IDE 作ってるのは Ant なような。
>>236 phobos(つまり標準ライブラリ)としては弱い、ということなんじゃ。
外部ライブラリならいくらでもそろえられるんだし。
>>237 たしかdsource.orgでOrionってIDEを作ってたはず。
>>238 本当にただ単純にphobosに入れろって事?
外部ライブラリはそんなに嫌なもんかあ
標準ライブラリが弱い言語ってきらーい
評価選定してライセンス確認するのがめんどい
PHP5がlibxml2を使ってSimpleXMLっていう強烈なインタフェースを
用意してくてるが使ってみるとわかると思う。
XML文書をブチ込むとオブジェクトのデータ構造が返ってくる。
そういう単純明快で効果の大きい物が標準化されるととてもいいと思う。
libxmlはDからでも使えるだろうけどそれではCの限界を超える事はできないし。
あとJavaのSwingみたいなGUIコンポーネントも欲しいなぁ。
なるほど、誤字を放置するような頓馬なプログラマには他人任せに出来ていいのかも知らん。
外部ライブラリでイイ!
というなら、ヘッダファイルを自動で変換できるようにして欲しい。
>>242 俺はそれを使ったことがないし、どんなに便利かもしらない。
だから作ろうとも思わないし、作ったとしても君の使いやすいと思う物にはならないともう。
だから、そろそろ自分で作ろうとは思わない?
オブジェクトって参照渡し
ですか?
>>246 すまん、訳がわからない
どこになにが抜けてrunだ?
class A
{
char[] data;
}
void main()
{
A a = new A;
A a2;
a.data = "aaaaa";
setA(a, a2);
printf("%.*s\n", a2.data);
}
void setA(A a, A a2)
{
a2=a;
}
なぜかSegmentation faultになるのでこの場合はオブジェクトの引数は参照でしか
渡らないのかな?と思って
250 :
デフォルトの名無しさん:04/12/27 00:36:46
C++の素人でもわかるクソ仕様は
ちゃんとD言語のページにのってる。
C++がクソだとわからんやつはコンパイラが何やってんのかわかってない人だろう。
>構文解析がどうたらこうたら言ってる人
オートマトンくらいは知っておこうな。で、パース可能な構文のクラスってもんが
あるからそれも知っとけ。
で、構文を変更したい機会ってのはC言語でオブジェクト指向を簡単に記述したい
時くらいの大幅変更が必要なわけだ。
アスペクト指向くらいだったら、ちょこちょこってやりゃできる。
言語ってのは抽象的であればあるほど、使いにくいんだがその分、汎用性が高い。
それはライブラリにも言えて、汎用性の高いライブラリほど、使いにくい。
どこまでを言語でサポートして、どこからIDEでサポートするかということを
考える必要があるわけだ。
IDEでやるべきことはIDEでやったほうがいい。
オブジェクト指向の便利さがわかってれば、
わざわざC言語なんて使わない。
オブジェクト指向で作られたライブラリを使えば生産性が10倍(当社比)あがる。
だから、うんこライブラリなんて使う気しないね。
>>249 そもそもA a = new A;のところでaがnewなAの参照だ。
参照を値渡しすりゃそら参照が渡るだろうなぁ。
…やっぱりここはスルーすべきだったのか。反省する。
ネタニマジレスカコワルイ
D言語用に環境変数を通したいのですが
変数名はpathでなくてはいけないのですか?
すでにBCCの環境変数がpathで入っているのでこのままでは使えないんです。
make等がぶつかって駄目というのであれば、
D言語を使うとき用のbatファイル作って呼ぶようにしてあげればよいのでは?
Borlandのmakeはマジヤバイ
削除してもいいくらい。
環境変数の変数名はpathじゃないといけないかどうかだけ教えてください
いけなくない。
いけない
>>259 dmd.exeをコマンドライン上から
dmd
と入力して実行できるようにしたいというのであれば、
環境変数名はpathでないといけません。
そうか・・・
BCCからDMCに乗り変える。
D言語に関する話題なら何でも話して欲しい。
IDE作るのはとても難しいと思うけど、頑張ってよいものを作って欲しい。
作っているときに思ったことはどんどん議論して欲しい。
もしかしてPATHの部分に一つしか入らないと思ってないよな?
どうやって2つ以上入れるんですか?
ミ田+Rでcmdって打ってpathって打ってその内容を確認して見れ
セミコロン; で区切る。
>>268 C:\bcc32\bin;C:\dmd\bin;〜
うはwwww
連想配列ってnullを代入することによって初期化されるのかよwwww
今までkeys取得してループにかけて全部deleteしてたぜwwww
D言語Part3の
>>110へ、 答えが出ましたよ、 とな。
wwww←ばかみたい
というか
ばかですから
はやる予感!!
273 名前:デフォルトの名無しさん[sage] 投稿日:04/12/27(月) 14:45:52
wwww←ばかみたい
274 名前:デフォルトの名無しさん[sage] 投稿日:04/12/27(月) 15:07:16
というか
ばかですから
何の為にGCがあるのかわかってなかったのか、、、
>>277 いやいや、 連想配列を初期化するのに、
全てのキーを連想配列から取り除いたってこと。
なんだか、このスレ住人頭悪そう
同意
一部バカな人が混ざったからと言って
全体がバカにされるのもしゃくだな
109 名前:デフォルトの名無しさん[sage] 投稿日:04/04/05 05:56
static int[char[]] h=["aa":1,"cc":2];
で
Error: cannot use array to initialize int[char[]]
とエラーになるのは仕様ですか?調子わる
110 名前:デフォルトの名無しさん[sage] 投稿日:04/04/05 10:20
>>109 連想配列についての初期化の記述無いっぽいけど。出来ないんじゃ
低俗な糞野郎が紛れ込んだようだな。胸糞悪いから消えろ
「アンチ〇〇」を看板に掲げれば、
〇〇に不満を抱えた(その実は自分にスキルがないだけの)
いろいろ有象無象な輩を惹き寄せてしまうのは仕方がない。
勉強中で間違いがあるのは誰でもあることだからいい。
誰だってミスするし、いい。
馬鹿にする奴がむかつく。おめーは消えろ。二度とくんな。
>>286 本当の事を言われたんだから謙虚に納得したら?
お前だなむかつく野郎は。消えな。変体。
ちょうど、ストレスたまってたんだ。
いい喧嘩相手が来た。
おい、人を馬鹿にして楽しんでる奴。
速く書き込めよ。お前の素晴らしい技術を見せてくれよ。
290 :
デフォルトの名無しさん:04/12/27 21:23:12
レベルを自覚させるため泣く泣く晒し上げ(;_;
仲間償還なわけ?
ドキドキすんな。
タイマンすらできんのか。情けない奴だな。
他の方々、上がってしまいすいません。
気にしないでください。
プログラムってどれもみないいですよねぇ。
ファイバについてどう思うよ?
google検索中?
おれわかんないんだよ。ファイバって。何?
フィーバー?パチンコ?
ううーん。光ファイバーのことかな?
???
ファイブミニ?
ぼくちんにはむじゅかちかったでちゅか?
あげあしとることしかできないでちゅね。
なにげに300ゲットでちゅよ。
だれがだれを叩いてるのかがわからん
なにこのスレ
人をバカにして楽しでた奴をバカにしている。
Delphi>>>>>>>>>>>>>>D
Delphiユーザーのみなさん。
変なやからに償還されないようにしてください。
DelphiもDもどちらも素晴らしい言語です。
ここはD言語について話すスレです。
みんな!うんこトークしようぜ!!!!
それも償還呪文のひとつなのか?
311 :
デフォルトの名無しさん:04/12/27 22:38:14
うんこー
こういう人に先導されて盛り上がってしまうことがあるのか、、、。
いい勉強になるな。
他のスレの人はけんか中なのでこないでくださいね。
HSPも面白いよね。ゲームコンテストとかあってさ。
>>314 まぁ、複雑な事をしようと思うとCの助けがいるけどね。
簡易的な言語。
Dを盛り上げるようなイベントがあったらいいのに。
…いまだバージョンは低いですが。
そうだね。
ゲームを作る大会があったんだろうねぇ。
セバスチャンのゲームはその大会内で作ったようだよ。
やってみたけどレミングス風なゲームだってことが分かった。
ウォルターが今後についてニュースグループで語ってたきがするけど、
ちゃんと訳してないからわからないや。
いいよなぁ。
HSPは出版社と仲良くて。
どうも、セバスチャンは日本について興味をもってるらしくて、
ねこちゃんボイスとかなんとか、ドキュメントに書いてあった面白かった。
デンマーク人らしいたぶん。
メールアドレスがうんちゃら.de
だから。まちがってたらすまん。
しばらく見ないうちにずいぶんとレベルが下がりましたね
とりあえず、もうちょっとさげないと。
すいませんねぇ。
ごめいわくおかけしました。
ことしもいろいろありましたが。
うんこー
らいねんもいいとしでありますように。
おたがいがんばりましょう
うんうんこ。
>>325 ほかいってやったほうが、いいとおもうよ。
はずかしいからさ。
やめようよ
きゅうにひらがなばっかりになったな(わら
お前らまとめて通報されたいの?
通報すればいいのか。なるほど
1)なんか(プログラム的に)おかしな(こという)人1現る。
2)マジレス→ネタ→マジレスのコンボで盛り下がる。
3)おかしな人2現る。
4)馬鹿が増えたね。
5)おかしな人が逆上
6)sageって書いても下がるわけじゃないよ。
この先を作るのはおまいらだ!
すでにそういうガイドラインがなかったか?
伸びてると思ったら変な盛り上がりかたしてたのね。
つーか初期の段階で煽ってた、いまは反省している。すまんかった。
どのスレを削除すべきでしょう?
当事者なので、判断に困る。
けんか始まってしまったあたりからごっそり消したいのですが。
ほんとに、もうしわけございません。反省してます。
いっそのことスレッド削除したらどうだ?
>>340 そうだな。このスレ自体上の方にあるので目障りだし、丁度いいんじゃない?
342 :
デフォルトの名無しさん:04/12/28 00:45:28
バージョンが低いのはなぜ?
仕様変更がありうるから?
>>342 低脳でも理解できるように、とても簡単な言語仕様になっているからです。
D言語の速度ってどれくらいなん?
↑プログラマ次第
津波の速さぐらい
DIDEってもうおとせないの?
>>335を元にして
「変な盛り上がりのガイドライン」ってスレを立てようとしたけどしっぱおした
早く冬休みおわんねぇかな・・・
>>348 なんかそこってmissingなのがどんどん増えてる気がするんだけど
クリスマス終わったとたん静かになったねえ
ナンナンディスカコリワ
キリスト誕生の日にこのスレにも神が降臨したってことで。
( ゚ ∀ ゚ )だるふぃ?
さて、削除願い出してこよっと
ラヴィ!!
>>358 応援ありがとうございます。
とにもかくにもDに本格的なWeb実装が欲しかったのでいろんなアプローチを試みてみました。
mod_xsiでLinux版dmdを使用するとphobosがリンクできていない現象がでて
Undefined Referenceが連発してしまいます。
これは自分のスキル不足ですぐには解決できそうにないのでDコンパイラとgcc(ldリンカ?)
への理解を深めてリンク失敗の原因をつきとめれるように修行したいです。
でもすぐにでもWeb実装が欲しいのでPure Dなアプリケーションサーバを作り始めています。
いまメインの作業はそちらに移行していて
http://www.dsource.org/projects/d_server_platform/ のスペースを頂いてリポジトリを公開しています。
D言語版のTomcatのようなもので、Apacheのモジュール機構を
真似て作っているので自由に機能が追加できます。
がんばりますんで応援よろしくお願いいたします。
あぁ、C style castね。
多分YaneSDKの中の
( 型名 ) 変数
の形でキャストしてるところを、
cast ( 型名 ) 変数
って直せばよし。
古い仕様では上の方法が使えたんだけど、突如それが禁止されたんで、
そのせいでコンパイル通らないコードがいまだにいくつか残ってる現状。
おお〜、
>>363よ〜。
すばやいレス、親切にサンクス\(T▽T)/
我にエロゲを作るチャンスを与えてくれてありがd
たとえば、yaneSDKのなかのy4d_draw.transbltterの中に
int sm;// max size
sm = (int)(std.math.sqrt(cast(float)sx*sx/4+sy*sy)*2);
てあったら
int sm;// max size
sm = cast(int)(std.math.sqrt(cast(float)sx*sx/4+sy*sy)*2);
にすればいいってことですね?だよね?w
全部こんな風に直していかないとだめなのか・・・・;w
がんばってエロゲ作るぜ〜w
dsp(ASPのDバージョン)って名前は、dsource.orgのプロジェクト名とかぶるので、
変更したほうがよいのではないかなぁ?
と思いました。
そういえば昔、(Perl Server Pages)PSP、(C Server Pages)CSPなんてのを作ったなぁ。
// $HeadURL$
// $Date$
// $Author$
// @author@ Hiroshi Sakurai <
[email protected]>
// @date@ 2004-12-29
// @uri@ news:
[email protected] // @url@ nntp://digitalmars.com/digitalmars.D.bugs/2618
// @url@
http://f17.aaa.livedoor.jp/~labamba/?BugTrack%2F10 module dstress.run.cast_06;
int main(){
uint u;
int a = 1;
int b = 31;
u = a << b;
assert( u == 0b1000_0000__0000_0000__0000_0000__0000_0000u);
return 0;
}
BugTrack登録してもらったバグを自分の名前でnewsgroupに投げたら、
DStressってのに登録されました。多分、DigitalMarsが管理してるテスト
プログラムなのでしょう。
相談として、@author@ Hiroshi Sakurai
とはいってしまう点が、どうかなと。
BugTrackへ登録してくださった方の名前で登録すべきかなと。
思ったり、思わなかったりしたわけです。
ニュースグループのコメントに、それっぽいこと書くべきでしょうか?
これは何々さんが日本のD言語WikiのBugTrackに登録した内容です。
を英語表記で書いたものをつけるとか。。。
ふぅ〜、残るエラーはmodule *** is n multiply defined
ってエラー・・・
インポートしたDファイルのなかに他のファイルのインポートを記述してるとでるみたいだけど
それって駄目なのかねぇ?w
D言語いじり始めて早くも1日経ちそうだ。
いまだにクリックしたら次の画像表示するってだけの簡単なプログラムに四苦八苦かw
でもyaneSDKのおかげであとあと助かりそうな気がするし・・・w
あれだな〜、画像の上に真っ黒な画像張って、ハサミを動かしてチョキチョキ切っていって
囲んだらソコが見えるようになるってやつ作るかなw
あれって邪魔者がいて、切ってるラインに触れられるとアボンとかだったかな〜
D言語とyaneSDK、まだまだ勉強しないとな〜
floatとcastの追従まではやってある。
やねうらおさんのところの掲示板にリンクがあったはず。
最近のDMDには対応してないから、問題があるかもしれず。
Windows.hのDポーティングで、
YTさんが何か問題があるけど、やる気出ないと言ってた。
>>370 よくはわからないですが、エラー出てた部分を
エラーでなくしてみたのがありますが。(windows.d)
やねさんといえば、パーフェクトガイドに対して
もっともな評価をしてたな・・・
予想してたよりはまともな本だったと思うが…
なんにせよ買うつもりはないけど。
内容とかっていうより記念碑として十分価値のある本だよ。
ところでJava2Dとか欲しいね。
Socket.acceptで受け取ったクライアントのソケットが非同期ブロッキングに
なってしまうんですがこれをブロックに切り替えるにはどうしたらよいでしょうか?
親ソケットではSocket.blocking = trueしてます。
>>370,371
たぶん、スクリプトの修正によってきちんと対応しようとすると
面倒くさいって話なんだと思う。
俺も>371みたいに(かどうか分からんが)手でテキトーに修正して使ってる。
0.110キタ-
年越しプログラミング万歳、DじゃなくてC#2.0だったりするけど
質問なんだが、NullableみたいなのはDじゃ作れない?
int? x = 10,y = null;
みたいなのがやりたいんだが
キャストだったか、変換メソッドだか作ればできるのはわかってるんだが、
使わない方法があるかどうかだけでも教えてけれ
>>377 null の代りに int.init を使うことにするというのではどう?
おまいらあけおめDeとー
UTF-8 !?!?!?!?!
使うのやーメタ
>>384 いやソースコードをどの文字コードで書きたいとかじゃなくて、
C++でいう
L"UTF-16"
みたいなのが使えないのか、と言いたかった。
cast(wchar[])"UTF-16"
すみません、
>>380です。
>>381さん
>>384さん
>>386さん
私のくだらない書き込みに付き合ってくださってありがとうございます。
>cast(wchar[])"UTF-16"
こ、こ、、
確かにそうなんですけど…
いや私の言い方が悪かったのもあるんですけど、
問題はランタイムライブラリなんです。
ランタイムライブラリ(Phobos?)の引数・戻り値は殆どchar[]だから、
使おうとするたびに変換(キャスト)を伴うでしょ?
要は何が欲しいかと言うと、
・wchar[]版のランタイムライブラリ
・wchar[]リテラル。
んでその理由は、UTF-16ならWindowsAPIを使うときに
xxxW系の関数を使えばキャストもいらないから。
(ただちょっと自信ない、私の勘違いかも??)
この辺が満足できていれば間違いなくDを習得する気になってたのに。
//いやそもそもUTF-8なんて採用するなら
//SJISでも良かったよ…
>>387 その部分はphobosの悪いところですね。まあ、作ってる人はアルファベットしか
使わない人たちなのでしょうがないとは思いますが、、、
>・wchar[]リテラル。
wchar[] str = "ほげ";
UTF-16 のコードなら文字列リテラルは自動で wchar[] になるような。
レスサンクスです。
>作ってる人はアルファベットしか
>使わない人たちなのでしょうがないとは思いますが
これが一番問題ですね、、、
>UTF-16 のコードなら文字列リテラルは自動で wchar[] になるような。
覚えておきます。
//やっぱDは使うのやめたっと
ラッパかきゃいいだけじゃん。
キャストだけなのに。
そこでプリプロセッサの出番ですよ。
キャストぐらい手間を惜しむなと、、
Cの時なんか毎回
char *buf = (char *)malloc(BUFFER_SIZE+1);
とかしてたじゃん
>>392 そのキャストはCでは不要、と無用なツッコミをいれておく
>>392 ANSI C 以前は char * が返ってくるからキャスト不要。
ANSI C は void * が返ってくるからキャスト不要。
ああ(AA略
char C 以前は ANSI * が返ってくるからキャスト不要。
void * C は ANSI が返ってくるからキャスト不要。
無粋なレスだけど、393が蛇足承知で"C++では必要"と一言
そえてくれていたら、或いは394がC++版も書いてくれていたら、
正月ボケな人も釣られなくてすんだのかも、と思われる。
(もちろん蛇足なんでわざわざ書く必要もないんだが)
今時Cしか使えん奴にいちいちかまってられんね
じゃあキミは他に何が使えるの? ニヤニヤ
>>401 おそらくC++とこたえるんだろうな。
んでもソースはCと変わらないようなw
つーかCしか使えなくてもすぐれたプログラム作れりゃ凄いと思うが。
402が図星のようだな
newsgroup に投稿されてる dtags.d が意外と使えないので誰か
新しいのを作ってください。
慇懃さの中でしなやかにコケにしてるところがワラタ
慇懃無礼
411 :
デフォルトの名無しさん :05/01/06 15:34:56
age
wxDはどうなったんだ
C++の次はDじゃないのか。
BCPL→B→C だから、Pっていう噂もあったらしいね。
wxD俺も気になる。
PはLISPのPですぅ
LISP: Lisp Is Simple P
再帰的な定義ですな。
LISP: Lisp Is Simple P Is Simple P
LISP: Lisp Is Simple P Is Simple P Is Simple P
:
:
↓どーでもいいけど、一番下のFOX★ってなに?
今の2chの掲示板プログラムの責任者がFOX★ちゅうトリップの人、ってところかね。
419 :
デフォルトの名無しさん :05/01/07 13:03:42
>>416 向こうの人はそういうの好きだよな。
WINE: Wine Is Not Emurator(WINdows Emurator説もある)
GNU: Gnu Is not Unix
>>418 FOX ★ って人が
read.cgiをmod_cgidsoていうapacheモジュールを使って
forkやexecのオーバーヘッドをなくしたということかな?
あとread.cgiの再開発もか。
今までただのCGIだったのが驚き。
D言語で書いたらどの程度の性能が出せるのだろう。
>>420 プレゼン資料は訳されていなかったんじゃ。
424 :
デフォルトの名無しさん :05/01/07 16:56:00
>・言語仕様のコンパクトさよりも利便性を追求
こんなん掲げてるようじゃ先は見えたな
D言語なんて忘れろ
おれがD言語以上のシンプルかつ柔軟性のある言語作ってやるよ
C言語上位互換(当然だね)
末尾再帰(これがあるとないとではコーティングの質が変わってくる)
文=式(例えばブロックの最後が値。return文とかも書けるが脱出用)
レキシカルクロージャ(もうコールバック関数はいらない)
パラメタ型(流行だね)
GCなし(やっぱ使うメモリは自分できちっと管理する)
・GCなしでどうやってレキシカルクロージャを実現するか。
実はスタックをやりくりすればうまくいく方法がある。
あとなんか欲しいもんある?
整備されたドキュメント
企業のコミットメント
標準化団体による仕様の標準化
複数の実装
じゃあイイャ
利便性
>>422 ただのCGIって何でしょうか?
dで作ってもcgiになっちゃえばただのcgiですよね。
解説おね
434 :
デフォルトの名無しさん:05/01/07 18:33:40
GCもないんじゃC++と変わらん。
>>433 未だにCGI=perlだと思っている人の方が世の中には多いんですよね。
ちなみに、少し前までのread.cgiはCで書かれたCGIです。
read.cgiを作っていた当時は、apacheにmoduleを組み込むことすらままならず
CGIのままで出来る限りの最適化をするしかなかったんですね。
あ、Dで書くのは、非常に楽になって良いとは思いますが
少なくとも、ひろゆき、root、夜勤の3人が読み書きできること
及び、FreeBSDとFreeBSD/AMD64で動くこと
が最低条件なので、難しいでしょう。
apacheのmoduleにするのは可能だとは思いますが。
やねうらおは、D捨てたのか。
うぜえなあいつは。
439 :
デフォルトの名無しさん:05/01/07 19:23:42
>>425 こういう奴はやたら出てくるが、出来た試しがない。
441 :
デフォルトの名無しさん :05/01/07 21:07:12
>>440 なんの?
やねうらおを妬むヤツなんかいるの?
ちっともうらやましくもない
1回のリクエストに応じて1プロセスを起動して処理して
データ返すのが私のいう、ただのCGIです。
ASP,JavaServlet,Apacheモジュールのmod_perl,mod_php,fastcgi,などは
プロセス起動するときのボトルネックをなくす仕組みがあります。
2chクラスのサイトだと、
そのボトルネックを取り払った仕組みが何らかの形で組み込んであるのかと、
思っていたのだけどログをちょっと見た感じだと、
ごく最近までプロセス起動していたんだなと。
それだけ、apacheモジュール化が、難しいってことなのだと思うのですが。
何か1箇所でもミスってると、メモリリークが起きちゃうんですな。
きっといろいろ試してだめだった経緯があるんだろうなぁ。
mod_cgidsoというものが実に素晴らしいものなのではないかなぁ。
ということです。
ちょっとしか読んでないから間違えているかもしれないけど、、、。
436は422さんではないんですね?
>>442 なるほど
私も「ただのcgi」というそれこそただのバカなレスを付けてしまい失礼しました。
mod_cgidsoをroot氏などに勧めてみてはいかがでしょうか?
ここから2chのCGIをDで作る人が出たら面白いなぁ
と思いつつCGI作れない漏れは傍観してる。
面白いですか?
縦椅子寛和韮背
やねうらお氏は待ち状態に入るといったようなことは言っていたと思います。
でも、捨てたとは言ってないと思います。
ただ悔しいのは、いろいろ調べるところを一人でやっちゃった感があって、
そんなに調べられたら俺らやることなくなっちゃうじゃん。待ってくれよ。
っていう感じはしてました。
何人もがゆっくり調べれば別の発展があったのかもしれないけど、
やねうらお氏の調べたことを読んで納得して、
待ちに入ってしまった人が多いだろうと。
せっかくライブラリまで作ったんだから、サンプルレベルを超える
ゲームをやねうらお氏についてきた人たちに作って欲しいです。
どちらにせよ、GCの性能が鍵を握っていることは間違いないです。
GCを研究している人がDに興味を示して、フリーか、
DigitalMarsからいくらかのお金を貰って開発しようとするか、
しないかの違いではないかと思います。
>そんなに調べられたら俺らやることなくなっちゃうじゃん。待ってくれよ。
>っていう感じはしてました。
すごいね。世の中にこんなケチのつけ方する人間がいるとは。恐れ入ったよ。
やるひとはやる
やらない人はやらない
なるほど。
スレ違いなのにもかかわらず、詳しい解説ありがとうございます。
やっぱ違うかな。今になってみると、そう思うだけか。
問題点なく素晴らしいと分かれば展開は違かったろうし。
でも、もうちょっと夢を見ていたかった気もする。
いつかは醒める。
D言語の完成よりJavaの仕様拡張によるDと同等の機能の実現のほうが現実味がある
あっちはLISPの権威GUY.L.STEELEがいるしね
456 :
デフォルトの名無しさん :05/01/08 05:24:47
>>447 の意見、オレはすごく分かる。
やねうらお氏がすごいのは誰もが認めてると思う。
でも新参者が、なにか情報発信しようと思っても、あの人の影を感じて
発表できなくなる。
なんて言ったら分かってもらえるか・・・。
いや、そのくらい影響力のある人だと思うから。
>456
影響力ってなんだろね
あるのか?
新言語の作成やコンテンツの作成等に限らず過去の遺産から学ぶ事は多いが、実際に作成する時にはそれらを無視する能力も必要
無視能力がないのは実践してないからだよ
頭だけで考えているうちは何もできない
>456の場合
影響力 = 自分の見栄の投影
とも見える事がある
あんなアホな名前のやつよりオレの方が優秀な調査ができる
でもきっとバカは「皆」がやねうらお見てるはず「優秀な」オレがやる必要ないね
でもその癖本当はやねうらおが調査した事におよばないのがはずかしい
って読める事がある
ここは自分の無能さを他人に責任転嫁してなけなしのプライドを維持するインターネットですね
それが2chクオリティ
やねうらお氏は凄いです。尊敬しています。
やねうらおは積極的に活動してるのが偉いよね。
でも、やねうらお本を買ったらとんだ糞本だった。
>>462 冷静に考えていればクオリティーは予測できたはずだ。
唯一裏本2はまあそれなりじゃないか。人によると思うが。
魔法少女ナンタラはまーどうでもいい感じだし
裏本1はかなりけったいだしな…
他に本書いてたっけ?
465 :
デフォルトの名無しさん :05/01/13 17:59:39
age
sage
saga
sega
これから、プログラムを勉強しようかと思うのですが、
C言語を学ぶのと、
これから普及するかもしれないD言語を学ぶのはどっちがいいとおもいますか?
>> 40: すれ立てるまでもない質問はここで 第63刷 (706)
ここで聞けって?
こっちのスレで聞いたほうがD言語に詳しい人が多いと思ったから、こっちで聞きます。
>>469 どっちか一つだけでいいと思っている馬鹿?
今時Cの案件なんてあるの?
Cとアセンブラはインフラだから、需要はなくならない。
頭悪い奴がいると気が狂いそうだ。
普及しなくてもD
なんとなくオブジェクト嗜好な俺
・・・俺馬鹿だ・・・
よくよく考えればC言語を先に勉強して、
D言語が普及(?)してからDを学べばいいんじゃん・・・
みんな、くだらないことを聞いて悪かったです。
両方覚えるという選択肢は無いのか、というかD覚えたらCも分かるだろう
C罠だらけ
初学者は言語仕様がシンプルなCの方がいいと思うけどね。
まあ結局はプログラミングの根底にある概念と設計理論を学ぶことになるので
(じゃないとまともなコードは書けない)
言語はなんでもいいっちゅーはなしもある。
てゆーかね、Cと英語は、書けなくともせめて読めるようにならないと。
ポインタとかうざいのがないJavaが初学者にはお勧め
俺はLispおすすめ
理由は、自分が初めて覚えた言語がLispだったら、
今の自分とは違ったプログラムを書いている気がするから。
うざいのはお前ら。布教は他所でやれ。
D言語なんて忘れろ
おれがD言語以上のシンプルかつ柔軟性のある言語作ってやるよ
後もう少しだけ時間を
つーかCはどの世界でも基本だから覚えとけ。
というかできないとダメ。
趣味でもいろんなリソースでCが使われるのが基本だから
知っといて損はない。
そもそもD言語の良さなんてC/C++で苦労しないとわからん
D言語に良いところなんてないけどな
>>469 っつーか、これから普及するかもしれないという淡い期待を寄せてD言語を学ぶくらいなら、
Dにくらべりゃはるかに普及しそうなJavaかC#を勉強しとけ。
やっぱプリプロセッサないとだめだわ
すげーやりにくい
そんなもんかねぇ。
string型の基本型が欲しい。
char*もchar[]も対応できるやつでかつ内部でchar*まわりに依存
してないの。
>>491 JavaのStringみたいなのってこと?それとも違う物?
D言語とC#どちらがポシャる可能性大?
どちらもその言語なりに育っていくので、別にポシャらない。
Dなんて完成すらしない
C#はJavaに太刀打ちできずにフェードアウト
496 :
デフォルトの名無しさん:05/01/15 13:12:43
DはC++の代替物にはなりうるけど
C#tとはちょっと違う。
>>493 明らかにDの方がぽしゃる。
C#は少なくとも、開発元であるMicrosoftも見放すほどは失敗してないから、
Microsoftが潰れない限り安泰。
499 :
デフォルトの名無しさん:05/01/15 15:14:32
Dではプリプロセッサの代わりにif(0),template,const,versionが使える。Dのtemplateは、C++のより拡張されているが、引数に:を当てる辺りで文法が乱れているようだ。
.NETはVB.NET以外ほとんど案件ないなぁ。
俺としてはC系言語を強く押したいが、C#はVB厨の荒波の前に
押しつぶされるのか。
そもそも無駄な構文や予約語を増やすのは良い戦略とは思えないが、
Dのversion文は条件が複雑化するにつれ貧弱さが浮き彫りになる。
切り分けのIdentifierもコンパイラの -version スイッチからしかできないし。
以下の様な分岐をversion文に書き直すことを考えるとぞっとする。
save_lib(out) {
int datasize
= 4 // code size
+ 4 // entry point offset
#ifdef USE_VTL
+ 4 // VTL entry point offset
+ 4 // FVTL entry point offset
#endif
+ 4 // reloc size
#ifdef USE_TIN_RELOC
+ (reloc - reloc_base) / 4 // relocation table
#else
+ (reloc - reloc_base) // relocation table
#endif
#ifdef USE_LIB
+ 4 + lib_size() // external lib
+ 4 + libimport_size() // external lib import table
#endif
#ifdef USE_DEBUG_SYMBOL
+ 4 // sym size
+ (extsym - extsym_base) // sym table
#endif
+ (pc - code) // code
// 続く
:
そんなのは定数分岐なif文で普通に書きゃいい
>>502 関数外はどうすんの?
つーか定数分岐あるならversion文て何時使うのかね。
>>500 .NET って言語間の相互運用楽だし、
VB.NET と C# は大差ない気が。
VB.NET はM$がもうあんまり開発進める気がないみたいだし、
そのうち廃れていって、大量のVB厨がC#に流れてくると思われ。
>>501 > 切り分けのIdentifierもコンパイラの -version スイッチからしかできないし。
version = Identifier;
って出来るじゃん。
>>502 そもそも version ってそんな使い方は想定してないでしょ
つーか任意の切り出しが出来ない時点でプリプロセッサの
代わりにはならないと思う。
プリプロも残しといてくれりゃよかったのに。
ぷぽぷぽぺっぺ
>>506 漏れはコンパイルオプションでプリプロ使うか選択できりゃ
いいと思うな。デフォルトはプリプロ無しってことで。
プリプロセッサを言語仕様から排除するメリットがわからんのか?
必要ならm4でも何でも勝手に通せ。
むしろCプリプロセッサ通せばいいじゃん
どうせこんな言語使うような香具師は今までC++使ってたんだろ
俺も使う必要があるなら使えばいいと思うな
問題でるわけでないし
つーかD言語なんて使う必要なんてないからな
今まで通り
C++とJavaが使われていくような希ガス
>>509-10 そこまでして使う物好きは今の段階でいるわけないだろ
バージョン1にもなってないし
さようなら
C++使ってたが、JavaやC#に付いていけなかった
ネイティブコード原理主義の皆様のスレはここですか?
あるクラスHogeに対して
Hoge hoge = null;
if(hoge == null){
printf("hoge is null");
}
とやると「Error: Access Violation」と出ます。
hogeがnullじゃなければ通るんですが、何か間違っているんでしょうか。
もしくは
if(!hoge){
とすれば動くんですが、==は無理ですか?
_
不思議な言語仕様ですね
>>516 俺、Dはあんまり詳しくないんだけど、
== は中身の比較で、
参照先の比較は === とか is なんじゃなかったっけ?
null と中身比較できるってすっげ気持ち悪いんですが。
何が気持ち悪いかは人によるが、==がビットパターン比較なのは微妙な仕様だな。
nullじゃなくてnilにして欲しい
nullの方がいい。にるぽじゃなくてぬるぽだし
なんか間違ってnillって書いちゃった。nil
undefというワザもあるが
AV になるのは当たり前。hoge == null は hoge.opEquals(null) と解釈されて、
null.opEquals(null) となるから。
JavaもC#も、== は reference-equals なのに、
なんでわざわざ混乱するような言語仕様にしたんだろ?
同等性を自分で定義したいことくらいあると思うんですが。
むろんその場合は equals(...) みたいなメソッドを使う、とかいう規約でも
良いですが、演算子をオーバーロードできるので、 == もオーバーロードでき
る方が言語としては綺麗だと思います。
どっちかというと、初期化時にクラスに null をセットするのがよろしくない
のではないかと。
>初期化時にクラスに null をセットするのがよろしくない
>のではないかと。
ンナコターナイ
>>525 hogeがnullじゃないときに、null==hogeは通る。
>>522 (,, ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >_∧∩
_/し' //. V`Д´)/
(_フ彡 /
>>523 「小文字のエル」と「に」が繋がってるだけで、ちゃんとnilって書けてるよw
nillこ
>>527 > == もオーバーロードできる方が言語としては綺麗だと思います。
オーバーロードすりゃええんちゃうんかと。
> どっちかというと、初期化時にクラスに null をセットするのがよろしくない
> のではないかと。
Dの思想では、整数型にも初期値としてNaNがセットされるべき、らしいよ。
ほっ、ほぁーっ! ほぁーっ!! ぬるぽ
あちょー、ちょー!ちょぁっ!!がっ
nulぽ
nilこ
nulに
nullま゚
540 :
デフォルトの名無しさん:05/01/19 20:09:42
Java Press40に、JavaプログラマのためのD言語入門っていう記事があったよ
どうせ完成しないのに。
Javaを発展させてDと同等以上の使いやすさにするほうが現実的。
つか、そんなに未完成なのか?
普通に使えるよ。
だよな、なのに未完成未完成ってなにをもっていってるのか、わからん。
いまだにversion1未満なんだから、未完成といわれるのは仕方ない。
version1以下が未完成ってのは世間の常識ってやつ?
すまん、1未満
Version1未満のツールなんていくらでもあるだろうに…
もし固まっていない仕様に基づいて何かソースを書いたとしたら、最悪の場合、
全て修正しなければいけなくなる可能性がある。
それは別にいいんじゃねーの?
てゆーか、通るバージョンのコンパイラでコンパイルすればいいだけでしょ。
世の中には「特定のバージョンのコンパイラでしかコンパイルできないソース」から
作られたプログラムは山ほどある。
さすがにDみたいに構文や予約語を構成している段階のもので作られたものは少ないだろうが。
どうせ業務には使わないんだから仕様が変わろうが不安定だろうが1.0未満だろうが無問題。
お前ら趣味でやってるだけなんだから好きにしろ。
好きにしてるのに、定期的に煽られてるだけなんだがなあ。
>>554 業務用途として検討されるレベルになってきたのだと好意的に解釈しましょう。
コンピュータスレに居るといつも思う。
要らないと思うなら別に口に出す必要は無い。
わざわざ口に出すから自分の身を錆びで固めなくちゃいけなくなる。
イヤミはそっと心に留めておけばいい。
もしやらなくてもいいのにって自分は思うけど相手に伝えたい時は紳士な言葉遣いで
「それ要らないのでは?」と質問形式で訊けば相手もなんらかのアクションするだろうに。
ただ荒らしたいだけのバカだからそんな長文は読まないよ
D言語のページ見れば
C/C++/Javaに「おまえらはだめだめだ」ってケンカ売ってる状態だから
ケンカ買われてしまうのは仕方がない。
機能比較が喧嘩売ってる?
それに、今更Cがだめだめだって言うまでもないだろ。
C++もそうだと言いたくなるし。
Cは高級アセンブラとして残って欲しい。
C++はオブジェクト指向言語として残って欲しくないな。
D言語自体が何で書かれていると思っているのか
>>558 多くの機能を持ってりゃいいってもんでもないことは C++ が証明してるじゃないか。
結局他言語叩きに走るんだな・・・
だから粘着厨房に報復されるんだよ。
いつの間にかVer0.111出てたのね・・・
0.999ぐらいまで行きそうな気もする。
だれかDIDEもってたらうpして
DIDEって使いものになるか?
使い慣れてるならEclipse上でAntが一番いいよ。
テンプレートのパワーがC++並にあればすぐさま乗り換えるんだけどなあ。
趣味グラマのオレは。
何か作ってみようと思うが何を作ればいいかわからんので、題材くれ。
恵炉毛 武等宇座
C++/CLIなんかよりDを標準化してくれんかな
EclipseのD言語プラグインって今手に入る?
>>581 え?なにこれ?
Dixeだかなんだか?
D言語のマルチバイト対応状況はかなりよろしくないという話ですが、
誰か、日本人で、何か、行動を起こしている人っていらっしゃるのでしょうか?
たとえば、std.stdio.d やら std/stream.d を直してパッチを作ろうとしているとか
互換ライブラリを作ろうとしているとか。。。
時代はunicodeなんで
std.stdio を見る限り、unicode を直接 ASCII コード系の
API に流し込んでいるそうです(伝聞で申しわけない)。
これが本当だとすると、まずいのでは。。。
UTF16系(W系)のAPIを使うようにするよう直すべきだと
思うのですが、そういうことに着目して、直そうと
誰かしているのかなーということです。
言葉たらずですみません。
すみません。
上で API と言っているのは Windows 系のOSの API の呼び方に関してです。
>>588 だったら君がやりたまえっ
って言われるぞ。
Dなぞ使わないのが(ry
Unicodeをマルチバイトとか行ってる時点で質問者の程度が知れてるけどな
どっかで恥かくまで掘っとけ。
ただ俺はこんなのに巻き込まれたくないな…
>>591 > Unicodeをマルチバイトとか行ってる時点で質問者の程度が知れてるけどな
いや、unicode != マルチバイト ってことは分かっています。
SJIS と書いてもよかったんですが、ASCIIコード拡張系一般のコード全般を
差したかったので、マルチバイトと書いてしまいましたが、
誤解を招いたようで申しわけありません。
なお、誰かにやってくれとお願いしていたわけではなく、
純粋に誰かがやっているか否かを確認したかっただけですので。
(未着手か、着手かを知りたかった…)
>>590 いや、実は知人が着手し始めてまして…
どうも、おさわがせしました。みなさん、ありがとうございました。
2chの法則
知人==本人
#include <iostream>
#include <human>
#include <ch2>
int main(){
human& honnin = ch2::get_poster( L"
http://pc5.2ch.net/test/read.cgi/tech/1102785854/", 593 );
human& chijin = honnin.get_chijin();
if ( chijin==honnin ){
std::wcout L"知人(" << << chijin << L") is 本人(" << honnin << ")" << std::endl;
}
return 0;
}
Dスレなのに…
まあ煽ってる香具師はDも知らないくせに煽ってるだけなので
気にしなくてよし
>>597 俺はDを知っているぜ!!!!!!!!!!!
知人に伝えてくれ。
若い才能と時間はもっと有意義に使うべきだと・・・・
テンプレート使えるなら、WTL for Dなんて出来ないかな
601 :
デフォルトの名無しさん:05/01/23 21:29:12
日本語がちゃんと使えないとD言語の価値も下がるよね。
そういえば
rubyって日本語ちゃんとつかえるんだっけ?
>>594 > 知人==本人
だったらよかったんですけどね。
わたくしが、D言語に興味を持ち、WindowsのAPI的に
分からんところなどいろいろ相談しているうちに、興味をもってくれたらしく。
>>596 std.stdio , std.stream 限定で、しかもバイナリ入出力は除いて、
文字列を出力するメソッドだけに限ってやってるみたいなので、
徒労に終わっても、まぁ、しれたもののようです。
まぁ、そもそも、そう若い奴でもないですしw(私もそうですが)
もし使えるものができたら、ラッキーということで。
(私は最初コードを全てコンバートする Stream系のフィルターの
クラスを作ろうとしましたが、それはバイナリもコンバートしてしまうので
まずかったらしく、あきらめて、彼に期待することにしました)
>>601 > 日本語がちゃんと使えないとD言語の価値も下がるよね。
> そういえば
> rubyって日本語ちゃんとつかえるんだっけ?
ruby は仕事で限定的に使っていますが、
日本語については最も対応が充実した言語のようですよ。
EUC,SJIS,UTF8 全て Ok のようです。
(やはり、なんだかんだ言って、作者日本人は大きいですね)
Dixe Beta1 を公開しました。あくまでベータです。
VSに採用されるんならMSの資金力背景に一気に仕上がりそうだがプラグインか
ruby の Project Apollo みたいな感じで、VCLをDに移植できないのかな?
できれば、TntUnicodeControls を移植希望。
ANSIなコントロールは今更要らないから・・・。
D.NET作ればWindows.Formsアクセスし放題だぞ
>>607 α版はったけど、このごろ進んでないようだ。
.NET上で動くものなら、C#で開発するよ。
現在まで, Apollo の開発は効率よく進んできました。
その要因は, Delphi と Ruby 双方にあります。
まず, Delphi は「驚異的な生産性」という殺し文句の通り,
開発サイクルがとてつもなく速いです。
これは特にコンパイルの速さが効いていると思います。
対する Ruby は,拡張性が抜群です。
これは特に Ruby/C API の使いやすさが大きいです。
Ruby スクリプトでの記述と C での記述が 1 対 1 に対応していて,
メモリ管理にそれほど悩む必要がなく,
Ruby 側で例外が飛べば C 側も止まります。
611 :
デフォルトの名無しさん:05/01/25 19:37:14
>>610 >これは特にコンパイルの速さが効いていると思います。
そういえば、Dも含めてPascalの爆速コンパイルを見習おうとする言語が無いのはなんでだろ?
templateとか使うと、やはりあのコンパイル速度は難しいのかなぁ?
それとも、PascalはLL(1)文法だから速いのかな?おせーて、エロいシト。
612 :
デフォルトの名無しさん:05/01/25 20:38:23
>これは特にコンパイルの速さが効いていると思います。
面白いなぁ。
>これは特に Ruby/C API の使いやすさが大きいです。
何と比較して?
613 :
デフォルトの名無しさん:05/01/25 20:45:10
>面白いなぁ。
一度使ってみれば分かるよ。
ただ、Delphiに関してはコンパイルの高速さと
機能がトレードオフになってるからマンセーする気にはなれないが。
自分で定義した MyObject クラスから、沢山継承したクラスを作った。
で、多少設計変更したら、 MyObject にコンストラクタが要らなくなった。
で、MyObject.this() を削除したら、継承したオブジェクトのコンストラクタの super() で、ことごとくエラー。
しかもコンパイラ自体が例外吐くオマケ付き。
仕方なく空のMyObject.this()を残しているけど…気持ち悪すぎ。
空のObject.this()を定義しといてくれよ…。
>>615 > 空のObject.this()を定義しといてくれよ…。
親がコンストラクタをもつときはthis()が暗黙に定義され、
他のコンストラクタ呼び出しのないものは先頭にsuper()が挿入される、
ってことになってるよね。
Objectにはthis()ないから、空super()したかったら自分の作る
基底クラスには空this()しとけば?
ルールは再帰的に適用されるから、そこから子孫派生した
すべてのクラスでsuper()の空振りはなくなる。
というか、そもそもなんで明示的にsuper()呼び出ししてたの?
>>616 継承クラスのコンストラクタの処理のうち、基底クラスのコンストラクタよりも先に何か処理を行いたかったら、
明示的にsuper()呼び出すしかないでしょう。
そもそも、明示的にsuper()を呼ぶ手段がある以上、需要はありますよ…
そんなわけで、何も処理をしない Object.this() を定義しておいてくれればいいのになぁ・・・。
618 :
デフォルトの名無しさん:05/01/26 18:04:19
>>615 言語仕様的には普通な気がするんだけど。
んなこたない。そんなタコ仕様はC++とTurbo Pascalくらいだろ。
D言語ってポインタある?
なんでポインタなどという実装上の概念を言語仕様に組み込んでるの?
もっとわかりやすい概念でラップするべきだろう?
イテレータとか?
>>617 > そもそも、明示的にsuper()を呼ぶ手段がある以上、需要はありますよ…
一般的な話じゃなくて、消えちゃうようなsuper()呼び出しをするような設計
の具体例を拝聴するいい機会だからついでに対処(予防)法を検討する
話にでもなればいいなぁ、ということだったんだけどもうどうでもいいね。
手抜きしないでsuper()呼び出し消してください。書かれてないコンストラクタを
super()で呼べるのが気持ち悪くないのはあなたの勝手ですから。
>>622 そりゃ、なんだかんだいっても必要性があるからだ。
Win32を直接叩くには必須だし。
でも、低レベルな処理以外ではポインタを使う必要はないようには出来てる。
で、結局Cと比べて速度はどのくらい?
(゚Д゚)ハァ?スクリプトじゃないんだぞこれ。
628 :
デフォルトの名無しさん:05/01/26 21:57:13
JavaもC#もだと思うが。
逆に、super()がなくても呼べる言語って何?
Cと等価でしょ
615の設計がクソだっただけじゃん
ポインタいるぞー。概念とかそんなんじゃないだろ。
ポインタつかいこなせなかったの?
Javaっぽく書けば、ポインタを使わないプログラムもかけるし、
Cっぽく書きたければ、ポインタバリバリのプログラムも書ける。
ってことでおk?
>>631 概念じゃないっていう言葉の意味がまったくわかりません。
関数型つかいなよー
ファンクションポインタとデリゲートの違いについてもうちょっと具体的に説明していただけませんか?
>>628 Delphiでは、TObjectから継承したクラスのコンストラクタに、inherited Create って書いてもOKだったな。
ただ、Delは引数の無い関数が括弧無しで呼べるのがキモイ。
inhetired Create() って書きたいよぉ…
>>636 > ファンクションポインタとデリゲートの違いについてもうちょっと具体的に説明していただけませんか?
staticな関数ならfunction
非staticな関数ならdelegate
でいいと思う
a[10..] って書いたら、 a[10..a.length]
b[..20] って書いたら、 a[0..20]
として解釈してくれたら便利だな・・・と思ってみた。
>>634 あるべくしてあるってことだろ。
つかいこなせなかったの?
>>638 スレ違いだが、Pascalは引数無しのルーチンは括弧つけてもつけなくてもどっちでもいいから、
>inhetired Create() って書きたいよぉ…
書けばいいじゃん
>>625 Dの方針「現実的な言語」に繋がるわけだね。
>>631 ポインタに使いこなせるも何もないと思うぞ。
「プログラミングできないの?」に等しいような。
↑Dの仕様に不満のある人は、自分で言語つくってください。がんばってね。
優秀な方でしょうから、さぞすばらしいものができるでしょう。
↓建設的な意見そろそろクルー
今必要なのは政権交代なのではないか
ワロタ。確かに建設的ではあるなw
スレ違いどころか板違いもはなはだしいがw
>>645は、walterたんのポストを他の香具師に変えれ。と言う話かと思ったorz
>>631=641
日本語の将来のために今すぐ死んだ方がいいよ
(Dの)日本語(対応)の将来のために(walterたんは)今すぐ死んだ方がいいよ
という流れかとオモタ orz
>>648 「概念」についてしらべたよ。
すまん、俺がまちがってたわ。
久しぶりにブラウザで見たら。
CGI高速化
2ちゃんねる read.cgi
準備中。。。
mod_cgidsoモジュール
参考 Perl CGI高速化 (SpeedyCGI)
D言語正式採用ですか?
2chのモジュールってだれが触ってんの?
スレ住人の有志?
653 :
デフォルトの名無しさん:05/01/28 10:43:46
今Dを使うとしたらやっぱスクリプトだよな。使ってるヤツいる?
Dってスクリプトなの?
どっか他所のスクリプトのエンジンとインタフェースを実装してるだけでしょ
ECMAScriptでそれやってくれたら俺も飛びついたのだが
>>653 むー、あれ、ライセンスがよくわからんのですが有償なの?
GPLとも書いてあるけど、サポ費かと思ったらasisみたいだし
mod_cgidso モジュール_CGIデーモン静的オブジェクト
Dは関係なさそうな・・・
659 :
デフォルトの名無しさん:05/01/28 11:43:59
ああそれって単なる置き換え用のエンジンかと思ってたけどリンクできるんだね
たった999$じゃん
>999$
……
アラブの石油王きた?
10万なら商用としては手ごろだろ?
でも商用でスクリプトってIDEくらいしか思いつかない
まさかサーバーに使わないだろうし
素直な650に激萌え
DMDScriptよさそうだけどDではGUIアプリでのRAD開発が出来ないな
よく分からんのですが、動的なクラスのロードが不可ってことは、
子モジュールはできるけど、それを使うものはできない…ってことでいいんですか?
668 :
デフォルトの名無しさん:05/01/29 22:46:41
comp.lang.dってまだ無いの?
669 :
デフォルトの名無しさん:05/01/29 22:55:54
Cでプリプロセッサでやってたことを
コンパイラがやるようになったのが一番すばらしいところだと思う。
Cもそうすべきだ。
いまさらそんな所変わられても困るから、Dの応援しとけ
そして時は止まった
DMDScriptなんかよりD言語スクリプトが欲しい。
でApacheにリンクしてJavaを越すWebプログラミング実装がしたい。
バイトコードJITコンパイラにスクリプトが勝てるわけ無いじゃん
いまさらJavaのシェアをひっくり返せるわけないじゃん
そこでまたパロなんとかとかいう絵空事ですか?
D.NETつくればいいと思うよ?
D.NETにしたらC#とポジションかぶっちゃった!
D.NETだと、Dの存在価値がない。
やっぱりマルチプラットフォームのネイティブバイナリを吐けなきゃ。
GUIがアスキーなのはいかがなものか
やっぱうにコードでしょ
UTF-8や16ってうにコードのエンコード種でそ。
一応以前のCマガのC++とWinAPIでGUIライブラリを
自作する記事を参考に(ほとんど写しに近いけど)てきと〜な
GUIライブラリ作ってみた。
YT氏のwindows.d使って。
もうちょっといじってから公開してみたい気がするけど、どうだろう。
>>685 じゃあとりあえずきいておくけど、
どのくらいのものだったら欲しい?
しばらく暇なんでがんばってみようかと思う。
685じゃないが
GUIエディタと連動してコード吐いてくれれば十分でしょ
1ダイアログ1ファイルな感じでシンプルにシンプルに
GTK+みたいなのが使いやすい。って慣れているだけか。
やはりGUIにしたいんだね。最近の民生用アプリはほとんどGUI付いているものね。
Dに興味がある人は、そういうアプリ書く人ばかりなのかな?
だったら、ちょっと退くな…
Dはデーモンプロセス用に開発されてるとも思える
使い方はひとそれぞれだが
Dはゲーム用
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libphobos.a(dmain2.o)(.text+0x12a):dmain2.d: undefined reference to `__Dmain'
collect2: ld returned 1 exit status
>>681-683 >UTF-8や16ってうにコードのエンコード種でそ。
そうだけど、UTF-8はASCIIの上位互換だから、
>>681 は勘違いしてんじゃないかと。
ん?phobosのWinAPIのエンコードってUTF-8だっけ?日本語使えなかったような・・・
import std.stream;
void main(){
File f = new File("日本語ファイル名.txt",FileMode.In);
stdout.copyFrom(f,f.size());
}
>>693 少なくとも、このコードをUTF-8で書いてコンパイルしたら、ちゃんとファイルの中身が表示されたけど。
ハングルファイル名でももちろんOKだったし。
695 :
デフォルトの名無しさん:05/02/03 07:02:34
>>686 JavaのAWTとSwingを参考にするといいよ。
import std.thread;
int thread(void* p)
{
処理時間は一定でない。
return 0;
}
void main()
{
Thread tA = new Thread(&thread,cast(void*)0);
Thread tB = new Thread(&thread,cast(void*)0);
Thread tC = new Thread(&thread,cast(void*)0);
tA.start();
tB.start();
tC.start();
tA.wait();// スレッド終了待ち
tB.wait();// スレッド終了待ち
tC.wait();// スレッド終了待ち
}
複数のスレッドの終了を待ちたいのだけど、たとえば上のコードだと、
Aのスレッドが終了したときに、すでにBのスレッドが終了していたら、
例外が発生して、Cのスレッドの終了を待てませんよね?
こういうときはどう書けばよいのですか?
スレッドはあんまり使わないけど、例外をちゃんと処理すればいいんでないの?
そもそも、終了しているスレッドにwait()すると例外、っていう仕様自体に無理があるような気が・・・
メインスレッドがwait()する直前にサブスレッドが動作中であることを確認したって、wait()をする
瞬間にはもう終了している可能性だってあるわけだし・・・
例外(=想定外のエラーが発生して、プログラムの正常な続行が困難な場合)で対処すべき問題では
ないのでは?
あと、クリティカルセクションとか、セマフォとかが簡単につかえるライブラリはDには無いのね・・・。
>>696 if(tA.getState() == tA.TS.RUNNING)
tA.wait();// スレッド終了待ち
if(tB.getState() == tB.TS.RUNNING)
tB.wait();// スレッド終了待ち
if(tC.getState() == tC.TS.RUNNING)
tC.wait();// スレッド終了待ち
とか。
>698の
> メインスレッドがwait()する直前にサブスレッドが動作中であることを確認したって、wait()をする
> 瞬間にはもう終了している可能性だってあるわけだし・・・
を忘れてました。すいません。
他には、wait()をオーバーライドして終了してたら普通に戻ってきてくれるようにするとか、
synchronized(tA)
if(tA.getState() == tA.TS.RUNNING)
tA.wait();// スレッド終了待ち
ってのは効果があるかな、分からん。
> クリティカルセクション
synchronized文は?
701 :
Aransk:05/02/03 15:34:49
以前何かで読んだが、高専のプログラミングコンテストで
D言語で組んでたチームが優勝したらしい。
D言語もメジャーになりつつあるのは間違いない。
でも、決勝前日にD言語では負けそうなんで
全面C++で書き直して優勝戦には勝ったらしいが…。
>>699 チェックと待ちをatomicに行わないと解決にならない。
「たいていは大丈夫だけど、たまに失敗する」という
いちばん厄介なタイプの潜在バグになる。
>694
std.fileとか見ると
ちゃんと変換かけてからAPIに渡すようになってるな。
昔はそうじゃなかった気がするんだが。いつから?
std.c以下は変わらず。
Cからポーティングしたライブラリって
etc.c.hogeって感じのmodule名つけるべき?
引数にchar[]渡すときに変換が必要って意味で。
>>702 そういやsynchronized文でatomicにはならないっけ、よく考えると。
…なんか、
int main(){
thread tA = new thread;
Thread tthis = Thread.getThis();
tA.start();
while(tA.getState() == Thread.TS.RUNNING){
tthis.yield();
}
assert(tA.getState() == Thread.TS.TERMINATED);
tA.wait();
でエラーがでなかったり、phobosのThread.wait()が
void wait()
{
if (this is getThis())
error("wait on self");
if (state == TS.RUNNING)
{ DWORD dw;
dw = WaitForSingleObject(hdl, 0xFFFFFFFF);
}
}
だったり、どうやらRUNNINGでないThreadにwait()かけても
問題ないみたい。
プログラミングコンテストって何をもって優劣を決めるの
課題部門 インターフェース
自由部門 インターフェース
競技部門 速度
274 名前:デフォルトの名無しさん 投稿日:05/02/03 20:32:56
ま、全角スペースを解釈しないコンパイラが悪いんだな。
うんうん。
275 名前:デフォルトの名無しさん 投稿日:05/02/03 20:33:39
それは言えてる。
某スレでこんなやり取りがあったのですが
D言語はもちろん全角スペースに対応してますよね。
>>709 Dは、うにこーど時代の言語なのだから、全角半角という概念自体がナンセンス。
711 名前:デフォルトの名無しさん 投稿日:05/02/03 21:10:00
ま、U3000を解釈しないコンパイラが悪いんだな。
うんうん。
711 名前:デフォルトの名無しさん 投稿日:05/02/03 21:10:01
それは言えてる。
脳内でこんなやり取りがあったのですが
D言語はもちろんU3000に対応してますよね。
>>711 おい、おまえの脳!
レス番が同じ奴が二人いる上
前の奴が書き込んでからわずか1秒後に、後の奴が同意してるぞ!
>>713 単にその脳が2ch完全互換ではない、ってだけだから、そこはつっこみ無用で。
>>706 オレ競技部門に2回参加したことあるけど、
上位陣はほとんどプログラムの性能に差がないから
人間の入力速度/ミスが勝敗を分ける。
ぶっちゃけ面白くない
手動入力ならアルゴリズム力なんてほとんど関係ねーな
717 :
Aransk:05/02/05 20:53:44
今日NHKの教育TVでやってた。
バラバラの写真を元通りにする速度で
勝負を決めるようです。
半年間で最善のプログラムを組んで
勝負するとのことです。
大阪高専が久留米高専を0.9秒差で
抑えたそうです。
確か久留米高専の速度を1,2回戦で見た
大阪高専のキャプテンがD言語のプログラムを
一晩でC++に書き換えてさらにアルゴリズムも
抜本的に変えたそうな…。
スンゴイよねぇ。
大学でやってる連中は理論倒れが
多いからとてもそんな真似は出来ない。
そのキャプテンTVに出てたが、完全に眼が
「しばついて」いるもんねぇ。
高専、工高、頑張れ、未来は君達のものだ。
なんでDでは試さなかったんだろう?
同じアルゴリズムでもC++なら枯れてると判断したのかな?
>>717 大学の強みも理解してほしい。
高専卒は基本ができていないこともあるからね。
Aranskの相手するなよ。
ピースの端っこのピクセルの色を比べて似ていたらくっつけるとか?
高専出てまで電脳土木作業員か・・・・乙
>>721 そうなるだろうね物理的にやったってそれしかないだろうし
ピース全体の色の傾向は使えないかね。
>>724 処理速度的にNGでしょ
ピースの平均値を比べたところでそれは端のピクセル比べるのと変わらない
上下左右どこにくっつくのかわからなくなるし、効果的とは思えない
>>721 大学で画像認識などで、そのような研究をかじったことがありますが、そのような方法では実際問題
全然だめです。
元の画像から拡縮なし、回転なし、劣化なしで矩形切り取りした二枚の画像なら、ピクセル単位で
全く同じ画素の並びが見つかるかもしれないけど、回転とか劣化とか入ったらその方法だとお手上げです。
手法は色々ありますが、一例として全画素を適当なブロックに分割して、個々のブロックのヒストグラムを計算して、
ヒストグラム同士の類似性からおおよその位置を絞り込んでいく・・・などのアルゴリズムが絶対に必要です。
あるいは、エッジ抽出して、エッジの急峻な点を何点か特徴点として絞込み、特徴点の配置関係から
重なり合いの位置を絞り込むなど・・・
実際は、コーディングの能力より、適切なアルゴリズムの考案と確実な実装が勝敗を分けます。
Dだと負けてC++だと勝てる、とか、そういうレベルの問題ではないような気がしますが・・・。
>>726 いや、勝敗を分けるのはルールによる手動入力部分。
テレビで放送してるのとかみると、(上位は)殆どがそれで決まってる。だから見てる方は萎える。
>>726 > 回転とか劣化とか入ったら
こういう条件提示があればそうだが
>>721が間違ってるわけじゃない
つまり726はちゃんと嫁!って事だなw
>>727-730 いや、失礼、番組自体を見ていなかったんで。
むかし、大学で共同研究してた人がやってたテーマに、普通のカメラでアングルだけ
変えて連続して撮影した複数の写真を結合して、似非パノラマ写真を作る、ってのが
あったんで。
それだと、被写体が同じだけで完全に違う写真を結合するから、画素の比較なんてのは
全く無意味だったんですよ。
>>729 課題観ました。
特に画像認識処理アルゴリズムを競う、って訳じゃなさそうですね・・・
これだったらなぁ・・・画素から何らかのハッシュ値を計算して、特定のハッシュ値の画素の位置を
比較する、とかだとそこそこ早いアルゴリズムが組めるかな?
単純な画素比較だと、画像の一変の長さをnとすると、ヘタするとO(n^4)の計算量にならない?
ハッシュ値求めるだけなら、画像のスキャンは一回だけだからO(n^2)+αくらいでいけるかと。
しかし、入力のスピードで勝敗が決まるって・・・なかなか萎えるなぁ・・・。
> 原画像によっては、偶然、同じ断片画像を複数含む場合もありえますが、
>その場合でもサーバには唯一の正解しか用意されません。
> サーバに用意された正解を当てる必要があります
問題自体が欠陥品じゃん…
なんかレベル低い問題だな。
回転劣化どころ拡大縮小も無いなんて…
一意になるまでツリー作った後走査するだけじゃん…
だから指力コンテストだというとろうが
プログラムはその場で作るの?
そうじゃないんだったら入力も自動化すればいいんだから
指力コンテストにもならないんじゃないの?
それともよーいどんからエンターキー1回押すまでの速さを競う早押し競争みたいな感じ?
今回うちはエッジの相関係数求めて比較するって方法取った。
入力も自動化したしまさに
>>736の言う感じ。
回答出るまで10秒くらいだったかな。
加えると、使うノートパソコンが自前で持ち込みだから、
マシンスペックの差ももろに影響してくる。
前々回も参加したけどそのときはまさに人間力勝負だった。
(次々に送られてくるボールの色を人間が入力し続けなくてはならなかった)
何か激しくスレ違いな話してる気がしてきた。すまそ
つまり問題を考える側の能力に重大な欠陥が
741 :
Aransk:05/02/06 17:40:10
>>718 >なんでDでは試さなかったんだろう?
>同じアルゴリズムでもC++なら枯れてると判断したのかな?
そう、ポイントはそこにあると思う。
新しい言語Dでやってみたいってトライするところは
大いに評価出来る。つまり学習コストをかけても
選択肢を広げたい。
しかしここ一発勝負となると使い慣れたC++に
戻らざるを得ない。Dの苦しさって多分これ。
プロも同じじゃないかなぁ?
若干不便かもしれんが手に馴染んでいる
って大きい。また経験による安心感がある。
バグった時にひょっとしたら言語本来の…
なんて考えている時間がもったいない。
VC++6.0(.netじゃ無い)だとまず
安心できるレベルにIDE自体が達している
から、MFCもさすがに安定してるし。
でも個人的にはDにも頑張って欲しい。
速度勝負でC++捨ててD使う奴はいないだろ。
ちなみに最終ステージは畳の画像だった。
Dはまだ最適化とか無いに等しそうだしな。GCも遅そうだし。
おお、最終ステージは結構熱いね。
さすがにそこまで行ったら誤答もないだろうけど。
とりあえず揃いも揃ってメガネなのは何とか汁
なんだと
と、とりあえずオレは眼鏡じゃない
うちもD使うことも考えたんだけど(このスレに住んでるくらいだし)、
やっぱDはまだまだライブラリ面でC++に遥かに劣る。
C++にゃSTLはもちろんBoostやLokiなんかの魅力が・・・。
まあ今後の発展に期待ってことで。
所で、ahiruたんのODEのポーティングってもう無いの?
751 :
あひ:05/02/07 05:49:55
まだあったんですね。某所のリンク集からだとリンクが切れてたので無くなってたのかと思いました。
とりあえず頂いときます。
753 :
Aransk:05/02/07 17:48:40
>>740 >つまり問題を考える側の能力に重大な欠陥が
悪い。どんな問題であれば、大会半年前に
公表して「D言語」に有利に働くのか?
教えて下さい。
速度でCやC++に勝つには、開発速度自体も
含まないと苦しいと思われるが…。
>>753 そもそも、言語で勝敗がきまるようなプログラミングコンテストなんてレベルが低い。
ヲタがアセンブラで書いた自慰プログラムよりも、スマートなアルゴリズムで書かれたperlか何かの
方が10倍くらい速かったりするからこそコンテストの存在意義があるような気がするが。
↑モノホンの池沼出現・・
恐れ多い
DよりもC++の方が使い慣れていたというだけの事じゃないの。
現実的なアプリの実行速度で比べたらDはC++の30%は遅いからな
>>755 >ヲタがアセンブラで書いた自慰プログラムよりも、スマートなアルゴリズムで書かれたperlか何かの
>方が10倍くらい速かったりするからこそコンテストの存在意義があるような気がするが。
それなら新言語開発コンテストでいいじゃん
↑文意が読めない文盲出現・・
perlは無理だろ四則演算で既に差が出てまう
指数オーダーで差が出るアルゴリズムに比べれば、
そんな差はわずかなもの。
>>762 んだ。
プログラミングコンテストなら独自のアルゴリズムのオーダーの差で競うべし。
で、実際に行われたオーダーの差で決着のついたコンテストとその題材って何?
このすれ下げた方が良いの?
>>749 D初心者と言うか、今日始めて知ってこのスレに飛んできたんですが、
Dにはテンプレート無いんでしょうか?それともSTLライブラリが無いと
言う意味でしょうか?
ライブラリの問題って深刻ですよね。
この辺の見通しなんてものはどうなんでしょう?
まだまだ分からない事ばかりですが、なんか久しぶりにワクワクする
新言語登場って感じで期待してるんです。
後皆様にお聞きしたいのですが、ソースコードはUTF形式で記述出来ると有りますが
関数名や変数名に漢字や平仮名を使えるんでしょうか?
こんな質問すると激怒する人も多くいらっしゃると思いますが、
日本人ならやはり日本語で書けると嬉しいんですね。。。
藻前の書いたコードは日本人しか読まないのか
>>766 廃。年商20億ほどの日本の流通業のシステムなんかを作ることが
多いので、おいらが書いたコードを外国人が見る可能性より、
日本語で説明されたって何言ってるのか分からんって言う奴が
見る可能性の方が極めて高い。というか、現実そうなもんで。
そりゃあ何時の日か、お客様がグローバル企業に成長して下さって、
毛唐から、文字化けしてるぞゴルァなんて叱られる日を夢見ますが、
今そこにある現実は、鼻たらした馬鹿プログラマさんに、取りあえず
理解してもらうことなんです。
もちろんこんな理由なので、今すぐDを全面採用なんて出来やしないんですがね。
274 名前:デフォルトの名無しさん 投稿日:05/02/03 20:32:56
ま、全角スペースを解釈しないコンパイラが悪いんだな。
うんうん。
275 名前:デフォルトの名無しさん 投稿日:05/02/03 20:33:39
それは言えてる。
某スレでこんなやり取りがあったのですが
D言語はもちろん全角スペースに対応してますよね。
ひまわりでもやっとけ。
>>769 ひまわりは、Winだけじゃないですか。
弊社のお客様は貧乏なお客様も多いので、FreeなOSが使えるとありがたいなと。
>>765 テンプレート機能はあるが、それを生かしたライブラリは(STLのようなものは)まだない。
ライブラリ環境の整備以前に、コンパイラの整備がまだまだまだまだなので、
今の段階では、本格的なアプリケーションの開発は難しいだろう。
シンボルにはUTF文字が使える(先頭文字に数字が使えないなどの制限は同じ)。
が、実際には簡単なサンプルしか動かしてないので、破綻しないかどうかとか、
未知のバグがないかどうかなどはわからない。
int main()
{
int 変数;
変数 = 10*10;
printf("%d\n",変数);
return 0;
}
とか動くはず。
房警報が発令されました。
速やかに非難してください。
>>771 ご丁寧に有難う御座います。
ほぉほぉ出来るんですか。これはありがたい。
将来が物凄く楽しみです。早速インストールして遊んで見ます。
774 :
Aransk:05/02/08 16:29:41
D言語パーフェクトマニュアルをパラパラっと。
対C,C++,C#,Javaコード比較があるのは分かり易い。
学習コストが低くて済む、一方、移動させるための
差異化が難しい。
現在Prologスレにも発言しています。
C系言語族には学習コストが高い。
実はPrologとJは言語仕様を良く
理解出来てない。知らず知らずに
母国語JavaやC++に訳して判断している
からかもしれない。例えばSchemeの
Continuationはbreakやcontinueと
同じだぁとか。
皆さんそんなことは無いでしょうか?
リコ!どうするかわかってるだろうな!
とりあえずSTLもどきがあるだけでもかなり違うと思うんだがな・・・
別に煽るわけじゃないが、言語自体への興味より
日本語変数が使えるかどうかが優先する(ようにみえる)のってどうよ
>>765 はDのどの辺に興味があるわけ?
強い型付け
ガベージコレクション
たまにこのスレ覗いてたけど、日本語変数使えるのは知らんかった。
おさーん層を取り込めるかも知れんね。SQLとセットで進めれば。
日本語変数使えるん?
俺も知らなかったってかマジ?
日本語構文が書けなきゃ意味ない
もしも(ピアノが弾けたなら){
思いの全てを歌にして君に伝えることだろう。
}
ひまわりスレいけ
もしも(私が家を建てたなら) {
小さな家を建てたでしょう。
}
>>758 dmd も dmc も同じ様な最適化ルーチン持ってるんじゃないのけ?
まだ使ったことないんだけど、D の方が遅い?
787 :
Aransk:05/02/09 15:13:47
純技術的で極めてプリミティブな質問を一つ:
mainの「char[][] args」
ってchar の二次元配列でも
渡すことを考えているのでしょうか?
>>787 charの二次元配列だけど
char[](文字列)の配列を渡すって考えればよくね?
>>779 ただしソースをUTF-8で保存するように。
S-JISじゃエラー出る。
DBがSJISで結局ションボリするわけですな
ところでWindowsのコンソールは
S-JISしか受け付けてないわけだけど、
Dで作ったアプリで標準出力に日本語出すときどうしてる?
漏れUTF-16とS-JISの変換テーブル作るとか面倒なことやってしまったんだけど、
もっとうまい方法ってあったりするの?
ck使っとけ
>>793 日本語の文字列を、 r"日本語" みたく書いといて、
ソースコード自体をS-JISで保存。
printf(r"初期化時例外""\n");
>>793 import std.file; printf("%d",toMBSz(str));
ってのは?
%dじゃなくて%sの間違い。
std.fileじゃない所にこの関数置いて欲しいな。
>>796>>797 へぇ〜、いろいろあるんですね。
でももうS-JIS変換テーブル作っちまったから・・・orz
WinのコンソールがUTF-8とか表示できれば何の問題もないんですけどねぇ。
まぁCygwin使ってればck使えますけどね。
変換テーブルなんて作らなくても
WinだったらAPIのWideCharToMultiByte
呼ぶだけでいいんでは?
上のtoMBSzだってそれをラップしてるだけだし。
よう知らんけどIOの下の方いじれよ
自作より標準ライブラリの方が強力だと思ってるから
自作関数と等価の処理の関数が見つかれば俺は平気で破棄するな
>>802 それは君の頭が悪くて良い関数が作れないからじゃないか。
そんなことよりも、標準ライブラリを使った方が関数の説明とか不要だから便利。
805 名前:デフォルトの名無しさん sage New! 投稿日:05/02/10 14:03:54
>>803 カスだな
806 名前:デフォルトの名無しさん sage New! 投稿日:05/02/10 14:04:55
>>802=804=805
必死だなw(藁
( ´,_ゝ`)プッ
おまいら、まずもちつけ。
話はそれからだ。
やべぇ
ゲップしたらノリの香りがむゎんとした
810 :
Aransk:05/02/10 17:23:28
>>789 >charの二次元配列だけど
>char[](文字列)の配列を渡すって考えればよくね?
成る程。具体的にはどうすれば
「char[](文字列)の配列を渡すこと」が
出来るのでしょうか?
本くらい読めば?
著者乙
コマンドライン引数だろ? 確か
>>810 というか、わかってて聞いてるのか
純粋にわからんのか、どっち?
Perlがバイナリ吐けるようになればDなど不要
Perlそんなにいいか?
Dそんなにいいか?
おもちゃだよ。D
おもちゃだよPerl
パールは$や@がうざいのでヤダ
解析を容易にするためのカラクリなんだろうけどね
> 解析を容易にするためのカラクリなんだろうけどね
ゲラゲラ
Ruby>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>D>>>>>>>BreinFack>>>>>Perl
824 :
Aransk:05/02/11 15:54:37
>>814 立ち読みだからはっきり覚えてないが、少なくとも
パーフェクトマニュアルには記載がなかったような?
Dって名前空間あるの?
>>825 名前空間が無ければクラス名も変数名も付けられないわけだが。
>>825 ない。醜い代用品であるimportを使う。
ソースファイル空間=名前空間
name space
>>827 importの方が分かり易いと思うけど。
でだ、皆さんにお聞きしたいんですが、契約プログラミングに付いてなんですね。
今のバージョンのDだと、事前assert事後assert、後、継承可能って言うんで、
これで既にもう大変嬉しいんですが、デバックスイッチがonじゃないと利かない
ってのはどうなんでしょう?
事前例外、事後例外、という風に例外処理として扱って貰えるとなんか嬉しいような
気もするんです。
そりゃあ関数の中で引数チェックとかして、そこで例外として投げるってのも
有りだとは思うんですが、関数に入る前に投げられた例外、出たとこで起きた例外、
中で起きた例外と分けてもらえると、なんかよくね?
と思うんですよね。思うだけですので、おいらが如何に馬鹿か教えてもらえると
勉強になります。
想定してるのは例えばセキュリティプログラミングですな。
引数で文字列を受け取る時に、文字列長が長すぎると駄目っていうやつを
事前にチェックできると、このクラスを継承して、ファイル名を受け取る関数
をオーバーライドしても、セキュリティプログラミングが引き継がれて都合が
良いと。
もっとも、CじゃないんだからDでそんな問題起こるような組み方は幾らでも
避けられるだろ。って言われたら、そりゃそうだけどさー。色々有るじゃん
としか言えないんですけどね…
誤爆?
>>830 Dにはまともなユーザーもライブラリもないから
そこらへんはJavaやC#のクラスライブラリを参考にするといいよ。
思想はいいんだけどなあ・・・
契約プログラミングとかJavaに導入してほしい。
835 :
Aransk:05/02/12 15:37:45
JUnitって使ったことないけどテストドリブン開発とかいうやつでしょ。
Dはソースに条件をそのまま書き込めるのがいい。
「契約プログラミング」でぐぐるとDが最初にくるね
いつのまにやら0.113きてた
java房とAranskの波状攻撃にこのスレは耐えられるのか!!
Ruby >>>>>>>>>>>>>>>>>>>>D
おーっとRuby房も乱入だーーーー
三つ巴の戦いになりました。これは目が離せません。
rubyは相手にしてないし
843 :
Aransk:05/02/13 16:24:04
assertだけならJDK1.5でカバーしたはずだが?
AspectJとか死滅した?
もとの位置に戻っただけ
質問をば。
Dで環境変数を取得する方法ってあるんですか?
Cのgetenv関数を持ってくるしかないんでしょうか?
エロイ人、どなたか回答よろしくお願いします。
環境変数なんか本当は存在しないのですよ
>>846 まだDをそんなに触ってないから、もっと便利な方法があるのかも知れませんが、
Dの仕様を見る限り、Cの関数を持ってくるしかない。というか、C言語用に提供
されているライブラリを使うのが一番簡単だと思います。
で、少し書いておくと、
>>847さんも書いてるように、環境変数とか、ファイルI-O等、
○○言語で扱えますか?と言う質問が有りますが、これって本質的には間違った
質問なのかも?です。
正確には○○言語向き(もしくは○○言語で書かれた)××を
するライブラリは有りませんか?と聞くのが正解なんだろう。そんな風にも思います。
とわ言え、Java等VM上で動く言語なら間違いとも言えないし、ややこしいところですな。
しかしDの文字列は使いづらいな・・・
1-originという狂った仕様以外は、Delphiの文字列が一番使いやすかったからアレを真似て欲しかった。
(文字列だけ、動的配列の末尾の後ろに自動的にヌル文字が挿入されるやつ・・・)
Winなら、GetEnvironmentVariable
ECMAScript最強ってことでよろしい?
>>850 どうでもいいけど、それ何処に定義されている?
std.c.windows.windows を import しても、ねーよ!って怒られるんですけど。
もちろん、A とか W 付けても駄目。
(Dだと8bit文字列はutf-8を想定しているから、W使った方が良いですかね?)
phobosのc.windowsパッケージってざる移植じゃなかった?
別の人が丁寧にimportしなおしたのがあったはず
>>853 激しく欲しいんですが・・・
つーか、ライセンスの支障が無ければ、phobosにマージしてほすい。
>>855 なぜAだけ・・・なんて中途半端な海栗コード化なんだ・・・
むしろ、APIのAシリーズはライブラリにすら含まれない、くらいの気概を見せて欲しかった。
現実的じゃん。.NETに乗るならともかくWindowsでWだけなんてありえない。
>>857 過去の遺産を引きずらずに、完全海栗化を前提にすればWだけでも案外逝けますよ。
> オープンソースでありなあがらC#と同等以上の言語であるD言語について、
>基本から実習形式で習得しD言語によるアルゴリズム構築能力の向上を図ります。
ワロス...
ついにgo.jpからも認められたか。
同等以上って所は疑問符だけど、アルゴリズム学習用としては悪くないかな。
でも、なんかアルゴリズムと聞くとPascal風の擬似言語を書きたくなるなぁ…。
オープンソースだったっけ
デジタルマーズはオープンソースで開発してもらえばいいのにね
資金が足りないからライブラリがしょぼいんだ
言語自体が魅力的じゃないから自分がやろうという人間が出てこないだけ。
Rubyとは大違い。
コードって公開されてたっけ?
>>863 そんなにがんばって宣伝しなくても、Rubyも使ってるから。
手続き型言語使っている香具師は低知能
Macユーザーは高所得者みたいな話だな
でも、俺DMDのソースあったら、Dの改良じゃなくて、改造して別の言語作りたくなるだろうな・・・
DMDが橘さんのAAに見える件について
DMDのソース付いてるけど?
GNUライセンスで
ああ、でもフロントエンド部分しか無いみたいだ。
コンパイルも無理。
セコいのう。
コード生成部分は、DMC++と同じといってたからそれで公開したくないんだろう。
MySQLみたいにデュアル・ライセンス化すりゃいいのに。
シングルCPUのコンパイラはGPL、HTとかSMPなマシンは5マソくらいで。
zip書庫を伸張したいのだがzlibを使うのであってるのか?
あってるなら使いかた教えてくれ
合ってない
>>875 オープンソース系の企業の中ではダントツでしょう。
レッドハットといい勝負なんじゃないかな。
組み込み系とかクラスタリングとかでいろいろツール出してるし。
普通のシステム屋と違って市場規模が世界レベルだしなぁ。
DMDもグローバルビジネスとして成立できる素質はあると思う。
インターフェース共通化とかがんばってマジで使えるものになれば
Javaも置き換えられるでしょ。
まずはSegmentasion Faultした時にプロセスが落ちるんじゃなくて
throwできてデバッグ用にプロファイリングできてプロセスも維持できるような
仕組みを作ればWebでいけるでしょ。
夢があっていいですね
>>880 > Segmentasion Faultした時にプロセスが落ちるんじゃなくて
> throwできてデバッグ用にプロファイリングできてプロセスも維持できるような
> 仕組み
ええっと、
catch(Object o)
if(o.toString() == "Access Violation")
?
1.0はいつになったら出るんだろ…
今後の予定をwalter氏が語ってたことって最近あった?
おまえらいい奴だなあ
ボクもいい奴だよ!!ほめてほめて〜〜〜
HDDが壊れて開発中止に全部。
パソコンが壊れて開発中止
>>882 MYSQL mysql; /* struct MYSQL */
char *a = null;
mysql_query(&mysql, a);
みたいに既存のC用インタフェースでバッファオーバフローした時など
間違えた、、
典型的には
char *a;
char *b = "www";
memcpy(a, b);
クラスをkeyとした連想配列を使いたいのですが、
同じkeyを違うkeyとして扱われてしまいます。
ちゃんとopCmpも実装しているのですが。
なぜですか?
std.zipの関数の使い方が解らん
なにか易しいサイトないの?
>>892 試してみたけど普通に使えた。同じ key を使ってないだけだな
zipを伸張しているとちゅうでError: 4invalid UTF-8 sequenceというエラーが出るのだが
ファイル名が2バイト文字だからでしょうか
ファイルはJane Doe Style liteの最新バージョンの書庫です
どうやらそのようで・・・
2バイトに対応させるほうほう誰か知りませんか?
ファイルストリーム処理の部分で、ファイル名を入出力する部分を書き換えるしかないのでは?
UTF-8だと、トップビットから連続する1の数を数えて、一文字のバイト数とする、とかやっているので、
SJISで保存されたファイル読み込んだら滅茶苦茶に処理されますな。
>>898 ども
もうファイル書き込みでバイナリデータが壊れます
サイズが増えてるので多分\r\nとかいうオチだろうけど
どうすりゃいい?
>>895 次のようなコードだったんですが、
int main(char[][] args)
{
ClassA a=new ClassA(1,2);
ClassA b=new ClassA(1,2);
int[ClassA] x;
x[a]=1;
x[b]=2;
foreach(ClassA p,int i){
printf("%d %d %d\n",p.a,p.b,i);
}
return 0;
}
実行結果
1 2 1
1 2 2
ClassAにはtoHashもopCmpも実装してありますが違うキーとして扱われてしまいました。
この結果になるのは僕だけ?
D言語はよく知らないのですが、
a,bのポインタのアドレスが異なるからではないでしょうか?
つーかメンバの値が同じなだけの違うインスタンス。
スレ違いなので以後放置推奨。
同じアドレスじゃないと同一のキーとしてみなされないんじゃ
連想配列の意味がないと思うんですが。そういう仕様なんでしょうか。
そもそもクラスをキーとして使おうとしてる時点で、、、まあいいや
\r\nじゃなかったなどうしよう・・・
クオリティ低いスレだな
2chに質を求めますか
俺は愛を求めたい
Love は 愛〜
Dでのバイナリ読み書きはどうすればいいのですか?
Win32アプリで
リストビューを使いたいのですが
windows.h for D とか入れても使えないっぽいんですが
使えるライブラリがあるところ教えてくだされ
>>903 ごめん、俺>902だけどなんか違う気がしてきた。
素直な912にLOVE
>>900 せめてクラスのデータメンバとコンストラクタを書いてもらえるといいんだけど
>912の続き。
連想配列ではTypeInfo.getHash(void*)のgetHashを呼び出してて、
TypeInfo_ClassのgetHashでは引数をObjectキャストして、
そのインスタンスのtoHash()を呼び出しているっぽい。
オーバーロードされた目的のクラスのtoHashが呼び出されているなら、
ちゃんと機能するはず。
目的のクラスのtoHashにassert(0)仕込むと、連想配列のキーとして使うときに
catchできる。
なんだろなぁ。
とりあえず、ObjectのtoHashはアドレスをハッシュ値にしていると言うのは
GCがアドレスを変更しないということに依存しているという点で
既知のバグという名の仕様だということは書いておく。
>>911 使えないっぽい?
使えるの、使えないの、どっち?
>915の続き
単にtoHashとopCmpを実装したら動作しました。
>900の言を信じた俺がバカでした。
>>918 まじですか。
ClassAのソースはこんなんですがなにがまずいのでしょうか。
class ClassA
{
int a,b;
this(int x,int y)
{
a=x;
b=y;
}
int opCmp(ClassA* x)
{
if(this.a<x.a)return -1;
if(this.a>x.a)return 1;
if(this.b<x.b)return -1;
if(this.b>x.b)return 1;
return 0;
}
int opEquals(ClassA a)
{
return (this.a==a.a)&&(this.b==a.b);
}
uint toHash()
{
return cast(uint)(this.a*1000+this.b);
}
}
あぁ、
>>892 じゃないけど今わかった。
opCmp(ClassA) でも opCmp(ClassA*) でもなくて、
opCmp(Object) で実装すればちゃんと動くっぽい。
>>920 動きました!
皆様ありがとうございました。
>>917 >使えるライブラリがあるところ
っていってるから
「使えない」だと思われる
Cのncurses.hに相当するものはありませんか?
すいません質問です
今、練習でネットからファイルを落としてきてそれを保存するというプログラムを作っているのですが
ファイルがどうしても壊れます、手順は
std.socketstreamのreadLine()をstd.fileのappendで書き込むのですがどうしても壊れますどうしてですか?
この前に同名のファイルがあれば消す処理をしてます
>>926 どう壊れているかを書かないと、わからないかと。
readLine() の時点でデータが正当かどうかはチェックしたの?
>>926 readLine() は行末文字を返さないので。そのまんま append したら
元とは同じにはならんと思う。readBlock() で読んだら?
文字コードの問題かにゃ
とりあえずbyteつかえ
とりあえずバイナリエディタで元ファイルとダウンしたファイルを比べたら0x0aやら0x0dが抜けてました
>>928さんの思ったとおりみたいです
それでreadBlock()の使い方が分からぬのですが・・・
Streemのuint read(ubyte[] buffer)じゃ駄目なの?
1バイトずつ読み込んでたら効率悪くない?
Stream.ReadBlock とか、 Stream.ReadExact の方がよさげ。
readは与える配列を埋めるだけ読み込むやつだから1バイト毎にはならないと思うが
ubyte[] でもreadってオーバーロードされてたんだ。知らんかった。
でも読み込めなかったときは例外ではなくて、読み込めたバイト数を返すのね。
便利なのか不便なのか微妙だなぁ・・・
読み込めなかったとき読み込めたバイト数?
(全部)読み込めなかったとき(、それまでに)読み込めたバイト数?
だろ。
だとするなら、例外出された方が使いにくいと思うんだが。
用意したバッファにきっちり合わせて読み込めるとは限らないからファイルIO的には「例外」ではないな。
現実にはファイルフォーマットが正しければnバイト読み込めるはずだというのはよくあるけど
それは上位メソッドが投げるべき例外だな。
>>939 メモリに直で書き込むメソッドなら、バイト数返すReadBlockと、例外投げるReadExactと2種類あるわけで。
Readにも例外投げるバージョンがあってもいいかな、と思ってみたりもする。
投げればいいじゃん。
それともDって自作関数作れない言語なの?
943 :
デフォルトの名無しさん:05/02/27 14:57:10
>>942 とりあえずこれ以外にも言いたいところはあるが本筋じゃないので省略。
とりあえず最後のwhile文のループ。bufは自分で確保した配列を使う。それと1byte単位で読み込むのも冗長。
最後のwhile文を書き換えるなら大体こんな感じ。
ubyte[256]buf
while(!ss.eof())
{
uint test = ss.readBlock(buf, buf.length);
append(filename, buf[0..test]);
stdout.printf("%d ", test);
}
一応bufは256byte確保したけどこの数字は適当なサイズで良い。
あ、訂正。
誤) ubyte[256]buf
正) ubyte[256]buf;
>>943 ありがとうございます、落ちてくるようにはなりましたがファイルが壊れてしまいますどうしてでしょうか
すみません先頭に1バイトゴミが入ってました
947 :
デフォルトの名無しさん:05/02/28 04:49:48
>>946 そろそろいい加減にした方が良いよ。
君の質問はちょっとアレだ。
プログラムの作り方教えてください系だ。
なんで付け上がるのかといえば、本心では「すいません」とか
無知を恥だとか微塵も思ってないからなわけで。
無知なのは恥じゃないよ。
なんでもかんでも人に聞いて解決しようとするのは恥だけど。
まず自分でがんばる心意気が大切。
それですごくなったら恥ではないな。
>>950 酷い奴って一生言われるよ。
まぁ、そんな奴が凄くなることはなかなか無いんだが。
それですごいのは教えた奴ら。
そいつらがいるなら本人要らない。
お前が一番要らないがな
なんでもかんでも人に聞く香具師ですごい奴って
見たことあるか?存在するのそんな奴
>>954 なんでも人に聞く奴は、鬱陶しさの面ではとにかくすごい。
0.114リリースされてるな
0.115 がでちゃってるね
>>954 すごいやつは聞かなくてもすぐわかるからな。
凡人ははなんでも聞いたほうが効率がいい。
すごい聞くやつで普通以上のやつを見たこと無い希ガス。
漏れが見た範囲内では全員無能そのものだった。
>>958 凡人はプログラマ止めた方がいい。
凡人の職業は営業。
大概のことは自分で調べたほうがはやいっしょ
人に教えるために知識を再構成してる奴は稀
漏れはぬるぽです。
漏れはガッです。
そろそろ次スレかな?
このペースだとまだ早い
ほよほよ
これから先、意義のある発言をしたやつ氏ね
埋めようZEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!
意義
Dixe開発再開しましたYO!
DIDE欲しいがどこいったら手に入る?
>972
なんかwww.atari-soldiers.com自体が落ちてるっぽい
>>972 DIDEゴミだDADADADADADADADADADA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
atari-soldiers.comは2月半ば辺りから落ちたまま…
もう完全にやる気なくなっちゃったのかな?
DIDE、古い奴ならnternet Archiveから落とせる
978 :
デフォルトの名無しさん:05/03/03 22:18:26
C語で書かれている、文字コード変換で有名なNKFをD言語から使えたら、
きっと、便利だろうなぁ。
それと、正規表現も日本語使えたら、きっと、便利だろうなぁ。
お星様にお願いして、寝るとするか。
>>978 Cのソースならそのまま転用できるじゃん
CとDだとバイナリはどっちが小さくて、どっちが早いのだろう?
試した方がはやいぞ
Cに決まってんだろ
Rubyに決まってんだろ
>>972 漏れもDIDE探し回ってたけど結局見つからんかった。
んで今は別のD用のIDEを見つけてそっちを使ってる。
っても公開されてるやつそのまんまじゃ
>>984並に使えないから
ソース弄って自分流にカスタマイズしてるけど。
結局D言語はC++にとって代わるだけの力はありますか?
それともC++ほどメジャーにはならない?
>>986 メジャーなのがいいのならC#でいいんじゃない?
Dなんて作るよりboostみたいに、次のC++標準化に向けて
C++いろいろ改良したほうがいいんじゃないか?
まともなC++を求める声も高いようだし。
C#はプリプロセッサも使える。
まともだ。
>>989 プリプロいらんだろって思想がDなんだし、わざわざここに書きこまんでも・・・
プリプロ必要ならDなど使わずにプリプロ使える言語選べばいいだけ。
それができない人は、なんだかんだでDを認めてる人か、
どんなことにでも噛み付くガキ。
で、実際プリプロ必要に感じてる人はこのスレ見てる人でどのくらいいる?
漏れは現在のDで十分だと感じてるけど。
なくてもなんとかなるけど、別にあっても悪くはないと思う。
ところで、IfFailRet(hr);みたいな処理ってDだとどうやって書くの?