- 1 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:09:54 ]
- プログラミング言語 D について語るスレッドです。
過去スレは >>2 ■本家 ttp://www.digitalmars.com/d/ ttp://www.kmonos.net/alang/d/ (和訳) ■コンパイラ ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家) ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド) ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://dsource.org/ (dsource)
- 541 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 03:17:40 ]
- >>535
そりゃそうだ、だから、しょうがなしに標準ライブラリで対応(サービス)するのは 構わないと思う。 んがぁ、「正しくは」と言い切るかどうかに、引っかかるわけ。 理念を曲げる、余計な装飾を施すことを否定しないけど、そっちを正しいとするのには 違和感が有るんですよ。
- 542 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 04:13:23 ]
- でも仮に「Windowsが対応してないのが悪いんだよ!」ってウォルターたんに言われたらやっぱり開き直りに感じない?
一応Dは現実的に実用的っていうポリシーがあるわけだし。 標準の入出力が化けるって実用上冗談にもならないじゃん。
- 543 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 04:14:43 ]
- D言語で作られた有名なアプリって何がある?
- 544 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 05:07:24 ]
- 開き直りとは思わないなかな。
まだ、やりたくない事をやってもらえる段階じゃ無いと思うし。 あと、そんな所に時間を使って欲しくないのもあるな。 ほっときゃWindowsが対応して時間が解決してくれるかもしれないし。
- 545 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 08:36:04 ]
- おうぷんそおすなのでそうすをおくりつけることでたいおうしてもらいたいおとしごろ
- 546 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 08:48:32 ]
- いつDはおうぷんそおすになったんだよw
ソース公開してねぇじゃんよw
- 547 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 09:04:48 ]
- xml関係に関して。いろいろほじってみました。
ttp://www.prowiki.org/wiki4d/wiki.cgi?AllLibraries/XmlLibraries ttp://www.dsource.org/projects/mango/browser/branches/v2.1/mango/xml Boost::Randomみたく、 DOM, SAXともにinterfaceが定義してあって、 実装を任意に結合できるようにすると賢い気もするがどうなんだろ。 個人的にはECMAScript系(JavaScriptとかActionScriptとか)のDOM結合が 使いやすかったりしなくもないので、そういう拡張が無理なくできるとうれしいのだが。
- 548 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 10:26:15 ]
- >>546
例えば、dmd/src/dmd/*とか、厳密な意味でのオープンソースでも仕様が公開されてるし、日本人が書いたpatchをオフシャルに取り入れたりとか。
- 549 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 11:45:31 ]
- >>542
そう言う問題じゃないし、標準ライブラリの話だし。
- 550 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 13:02:27 ]
- >>530
1週間以内になおしまっす >>534,>>541 言語の都合に環境の方を合わせるっちゅーのは変だと思うのですが。 特定の(かなり限定された)条件の環境でしか動きませんというのは汎用言語としてはダメじゃないかなあ。 環境はOSごとマシンごとユーザー毎に違うのが当然で、それを全部吸収して 言語から統一的に扱えるようにすることこそが標準ライブラリの役目では。
- 551 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 13:14:19 ]
- コンソール側でUTF-8対応するのは大いに結構なのだけど。
POSIXで定められた標準入出力はバイナリストリームなので、 アプリ側の出力するテキストに何のエンコーディングが使われてるかは コンソール側ではどれか1つと仮定するしかないべ。 SJISとUTF-8なプロセスを2つ立ち上げたらどっちかが文字化け。 ckなんかはSJISもUTF-8も表示できるけど、アレも内容から推論してるだけだろうし。 1つに仮定するならどれかと言われれば、環境デフォルトので、ってのが妥当だと思う。 Walterも文字列の国際化に関してはそれほど詳しいわけじゃ無いって気がする。 「時代はUnicodeです・言語は文字列を簡単に扱えるべきです」なんて言ってた割には まだ「英語環境でしか動作しねぇじゃん」て箇所多いし。 あっちも「マルチバイト環境のノウハウあんだろーくれよー」とか思ってんじゃ? うちら日本人も本家にがんがんフィードバックを提供すべきなんだろうけど、 英語/日本語の壁はASCII/Shift_JISよりも厚いなぁ……。
- 552 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 14:51:57 ]
- ま、言語実装にしか興味が無いっつか、要は趣味なんじゃないの。
I18N化の泥仕事なんて、実用上は必要だけれども、退屈なだけだろうし。 しっかし、OS内部を早々とUTF-16化していたWindows NTファミリが、 UTF-8には対応しない(出来ない)ってのも、何か笑えるものがあるな。
- 553 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:46:56 ]
- >>550
お世話になってます
- 554 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 20:32:44 ]
- >>550-551
君達は要不要で議論してると思う。要不要で言えば有れば便利。 ここには争いが無いんですよ。
- 555 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:08:20 ]
- あらゆる状況を考えると、言語側で変な細工をするよりも、
ユーザープログラムが吐く文字コードに環境があわせるか、 ユーザープログラムが吐く文字コードを環境にあわせるか、 で考えるべきだろう、という理屈は納得できる。 (吐く出力だけじゃなくて、入力についても同じことね) 利便性を考えると、各々の(言語)ユーザーがその時々で対処するよりも、 ライブラリで既存の環境に応じて処理されるのが自然で、それを実現する ライブラリが標準でついてくるのが当然だ、というのも分かる。 入出力を標準ライブラリ側でD言語の文字型に変換してくれるのをデフォとして、 それぞれの入出力関数について無変換(つまりubyte列)で入出力できるものを別途用意、 というのが自然だと思う。
- 556 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:29:45 ]
- >>555
それはかなり言語一般に対する議論が混ざってると思う。 D言語はその言語仕様で高らかに、Unicodeが言語仕様です。 と唱えてるんだから、「本当は」とか「当然」が使えないはず。 本当はUnicodeが前提なので、当然環境に合わせる処理が必要。 と考えるのが自然。 まず、一番良いのは環境側が受け入れてくれること、(コンソールのUTF-8対応) 次にプログラムで明示すること、(作り込み) そして最後が標準ライブラリでの対応(サービス、サービすぅう)
- 557 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:41:37 ]
- まあ、自然だろうが何だろうが、
肝心の Walter タンにやる気がなきゃどうにもならんなあ。
- 558 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:43:11 ]
- >>557
だから、ライブラリの話だって。 Walterタンのやる気はあんまり関係ないと思う。
- 559 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:54:55 ]
- >>556
> D言語はその言語仕様で高らかに、Unicodeが言語仕様です。 > と唱えてるんだから、「本当は」とか「当然」が使えないはず。 > 本当はUnicodeが前提なので、当然環境に合わせる処理が必要。 ここらへんどういう意味なのかよく分からんけど、 D言語では文字型とソースコードはUTFである、ってだけで、 D言語が想定する文字コードはそれだけだ、とは仕様は 言ってないと思うんだけど、どっかでそんなこと言ってたっけ?
- 560 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:55:17 ]
- つまりおいらが言いたいのは、標準ライブラリで当然(本当は)コード変換に対応すべき。
と言う考え方に立つと、日本限ってみても、標準ライブラリに当然EBCDIC対応もJEFコード対応も、 EUC対応も、TRON対応も、DEC漢字対応、ISOも必要という話になるわけで、こんな行為が、「本当は」 と言える事なのか疑問という事。 ここの交通整理をするために、D言語はその言語仕様で「Unicodeです」と宣言してるんだから、 「本当は」というのは、もの凄く間違った考え方だと思う。
- 561 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:56:26 ]
- >>559
議論を混ぜ返してるだけだと思う。 他文字コード対応を標準ライブラリで行うことが、「本当は」に当たるか否かを議論してる。
- 562 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:02:23 ]
- もちろんD言語に限らず、言語一般の議論に拡張すれば、実行環境に対応した文字コード変換ライブラリの
存在を言語標準に規定する方法や、実行環境の文字コードで言語を記述することを仕様とする(C言語)など、 色々有ると思う。 でも、D言語は、言語仕様でUnicodeとする道を選んでるんだから、「本当は」は使えないと思う。
- 563 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:03:21 ]
- >>560
> も必要という話になるわけで ならんでしょ。 あらゆる状況に対応することまでは要求されてないだろうし。 >>561 >560の > ここの交通整理をするために、D言語はその言語仕様で「Unicodeです」と宣言してるんだから、 とかいうのがどこから出てきた話なのか訊いてるわけで、 混ぜ返すとかよく分からん意図じゃないよ。
- 564 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:04:54 ]
- # レガシーエンコーディングももう少しマトモに扱えるようにならんもんかなあ
# 現状、Unicodeもだめだめだけど
- 565 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:07:26 ]
- >>563
ここまでかみ砕いて説明してるのに、まだそんなこと言ってるのなら、 君は文字コードを理解してるとは思えない。
- 566 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:09:11 ]
- >>564
そこで必要なのは、ICUをDに移植することだと思う。
- 567 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:10:32 ]
- コンソールの標準エンコードがutf-8じゃないレガシーなOSなんて窓から(ry
- 568 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:18:03 ]
- >>556
望み通り「コンソールがUTF-8対応」したとして、 SJISを吐くプログラムとUTF-8を吐くプログラムを コンソール側はどうやって見分けるんだ?
- 569 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:19:17 ]
- >>568
どうも議論がかみ合わないんだけど、Win厨なのか?
- 570 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:24:17 ]
- >>567
乱暴な話だけど、その通りだと思う。 Winはかなり特殊な環境だと言う自覚が無いから、「本当は」とか言っちゃうんだと思う。
- 571 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:28:40 ]
- >>566
あいや待たれよ、移植しただけではDのchar[]と入り乱れて混乱する。 いっそICUのUnicodeStringをDに丸ごと組み込んでStringという名を与え、 文字列リテラルもStringのインスタンスとしてしまう方が……。
- 572 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:33:18 ]
- たしかに文字列が文字配列ってのは潮流に乗り損ねてる気がしないでもないよなあ。
- 573 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:33:57 ]
- >>571
なんだよねー。 で、そうなってくると、Walterタンのやる気が問題になってくるか… というか今更出来ないになってしまうか・・・
- 574 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:47:27 ]
- 結局、
> D言語はUTF-8(UNICODE)で動く というのを、 > D言語はその言語仕様で高らかに、Unicodeが言語仕様です。と唱えてる > ここの交通整理をするために、D言語はその言語仕様で「Unicodeです」と宣言してる > D言語は、言語仕様でUnicodeとする道を選んでる と拡大解釈したために、文字コード関係の標準ライブラリ対応を > 理念を曲げる、余計な装飾を施す と捉えて、 > 正しくはコンソールがUTF-8を表示出来るべきです。 と考えた、 ということかな。一連の引用部が同一人物かどうかは知らんけど。 www.kmonos.net/alang/d/overview.html > 宗教やおおげさな哲学とも縁がありません。 > 現実的なプログラマのための、 現実的な言語です。 という(そのうえ後発言語である)D言語としては、 やっぱり標準ライブラリ対応が自然だと思った。
- 575 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:51:51 ]
- Win厨とか言い出すやつの相手はしないほうがいいぽ
- 576 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 23:33:42 ]
- DにC99の複合リテラルっぽいものないの?
- 577 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:08:23 ]
- >>574
>やっぱり標準ライブラリ対応が自然だと思った。 >>560
- 578 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:10:15 ]
- >>575
というか、Win厨は相手に出来ないレベルの話をしてるんで、 お願いだからWin厨は出てこないで。
- 579 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:12:36 ]
- >>574
同一人物でしょ。>>550でK.Inaba氏に突っ込まれてるのと同じ人じゃないの。 Javaや.NETのようにcharがUnicode文字であるような言語は UTF-8環境でしか使えなくて当然、とでもいいたいのかね。 「現実的なプログラマのための、現実的な言語です」ってのも立派に 「理念」のウチ、なんだけどね。 >>570とかもう、アホかと。
- 580 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:15:34 ]
- >>560は極論だろ。「対応している環境において」まともに動くのであれば
さしあたり問題は無い。その環境が広ければ広いほど言うことはないが。 現状では、Linuxに対応しているとは言っているが、実際にはUTF-8ロケール でなければ明白な問題が生じるわけだ。 UTF-8ロケールにしろ、ってのは現実的な言語としては論外な選択肢。
- 581 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:18:48 ]
- >>577
すでに>563で突っ込んでるな (それに対して>565では説明放棄。説明する義務はないけど) >>579 > 「現実的なプログラマのための、現実的な言語です」ってのも立派に > 「理念」のウチ、なんだけどね。 意味はわかるけど、それ以上は言葉遊びになっちゃう危険が
- 582 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:25:47 ]
- >>579-581
頭悪いだろお前達(w
- 583 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:26:04 ]
- >ここの交通整理をするために、D言語はその言語仕様で「Unicodeです」と宣言してるんだから、
これはじめて聞いた
- 584 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:26:58 ]
- ただの煽り厨房か。
- 585 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:36:53 ]
- argvすら化ける言語/ライブラリなんてサービスレベル低すぎるっしょ?
使う気にならんでしょ? 皆が皆同じような変換コード書くのは馬鹿馬鹿しいでしょ? 標準ライブラリ側で吸収してくれれば皆が幸せになれるでしょ? 実際Javaとか.NETとかTclとかPythonとか、Unicode対応の言語は 皆そうやって変換してるでしょ? そこを「UTF-8環境なら動く、そうしなさい」ってのは、Walterタンが 述べている「現実的な〜」という「理念」に合致してますか? 彼は「世界はUTF-8になるべきだ。俺はUTF-8な世界しか相手にしない」 という「理念」でも語ったんですか? ってだけの話なんだけどね。
- 586 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:39:47 ]
- >>585
> 使う気にならんでしょ? は同意できない
- 587 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:53:47 ]
- 言語側で何もしたくないのなら、いっそ(エンコーディング面は)
Cと同じ仕様にしてくれたほうがなんぼかマシだったかも。
- 588 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:03:15 ]
- >>587
何もしたくないとかしなくて良いって言う話はしてない。 >>534での指摘を良く嫁。 標準ライブラリがやる必要は無いし、 サービスとして提供するにしても、WritefInする直前に変換するのが正しい。
- 589 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:11:34 ]
- >>534の指摘は、
> WritefInする直前に変換するのが正しい という理由や根拠の説明にまるでなっていないと思うのだが。 なぜ、それが正しい? 逆に言えば、プログラマに陽に変換することを強いない他の言語は、 間違っているとでも言うの? 少なくともプログラマが「陽に」変換するコードを書くスタイルは、I18N/L10Nと 真っ向から対立する。 そこで"iso-8859-1"などとエンコーディングを直接指定してしまえば、 もう他所へは持っていけないプログラムの出来上がりだ。 (無論、それが必要なことなら、そうすることも出来るべきだが) だから、Cのlocaleシステムでは、「実行環境の」LC_CTYPE環境変数 (Windowsの場合はコードページ)を見て、よきに計らうようなデザインに なっている。Javaも、同様のデザインがなされている。当然だろう。
- 590 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:13:13 ]
- >>589
よくもまぁ、そんな稚拙な意見を長々書けると思う。 長々書くから、なんか考えてるのかな?と思えばWin厨の意見だし。
- 591 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:14:13 ]
- D言語をUnicode原理で統一したい人にとっては
それが正しい言語周辺の設計なんだろ。 ただ、それが現実的じゃないだけで。
- 592 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:15:29 ]
- とりあえずここで無駄な論争する時間があるんだったら自分で作れよって思った。
- 593 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:16:48 ]
- 出力をSJISに変換したとしてバイト列で書き出すのに、C互換関数を使わなきゃならんのがなんとも
- 594 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:17:07 ]
- >>591
いや、実際に標準関数に自動変換は組み込まれてないわけで(w それは言語外の提供ライブラリで行うべき仕組みと考えてる訳で、 となると、WritefInする直前に変換するのが正しいありかたなんで(w 現実と向き合えば良いと思う。
- 595 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:21:06 ]
- >>593
試しにそれをなるべく移植性の高い方法で書いてみそ。 反吐が出そうになるから。 wcs系ルーチンが両可能なことを前提にするとしても、 Cのwchar_tのサイズは固定じゃないし。
- 596 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:24:03 ]
- Win厨的には_MBCS=D言語ならUTF-8と_UNICODEそれぞれのWin32APIを提供してくれればそれでいい。
ネームスペースとか有効に活用してさ。 あとtoUTF32メソッドがあれば嬉しい。普段、文字列属性チェックとかUTF16に変換してからやってるし。
- 597 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:28:25 ]
- >>594
論点ズレ杉。あるべき論の文脈として「正しい」かどうかの話を していたのに、 現状全肯定の上で「現状ではプログラマとしてこうするのが正しい」 ってなんだそら。
- 598 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:30:58 ]
- >>597
だから、有るべき論として、標準関数に頼るのは間違いという話をしてるんで。 Win厨のWin厨に取って便利という話を幾らされても困るわけ、何億回されても 聞けない。
- 599 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:31:54 ]
- お前がDじゃあるまいに。
- 600 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:32:11 ]
- >>597
と、言うか汎用機〜組み込みまで一通り組んだこと無いのに 議論に参加しようとすると、相手の言い分を理解できないと思うよ。
- 601 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:33:15 ]
- あからさまな偏見持ちとまともに取り合わないほうが良いんじゃないか?
- 602 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:35:18 ]
- 変換しないといけない箇所は、main()の引数と、コンソールの出力/入力だけだよね?
- 603 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:36:04 ]
- >>600
それ前提が間違ってるわ。 GCを採用し、内部コードをUTF-8に選んだ時点で、Dの実行環境って かなり限定的に仮定されてると見ていいでしょ。
- 604 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:36:39 ]
- 自分の意見を通したいがために印象操作に忙しいんだからほっとけ。
- 605 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:36:45 ]
- >>602
違う。実行環境の外部ライブラリ、システムコール、API等とテキストを やりとりするあらゆる場所。
- 606 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:37:47 ]
- >>601
というか、彼の振りして便乗で煽ってる人がいる気がしないでもない。
- 607 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:41:58 ]
- コードページ依存のデフォルト値はコードページ。
ここらへん基本はどのOSでも同じだと思うが違うのか? VC厨およびJava厨だからわかんないです><
- 608 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:51:02 ]
- >>607
日本語でおk
- 609 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 04:24:50 ]
- 内部ではうにでもいいけど
外部に繋げるときは簡単に処理できるようにしてちょ
- 610 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 06:14:46 ]
- >>605
俺は標準入出力だけ対応してくれればかまいませんが。 外部ライブラリやAPIなんて環境依存が前提の場所でない? あるいはtangoなりなんなりコミットして書いとけば済むことかと。
- 611 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 06:50:41 ]
- もう誰かパッチ投げるなり、ライブラリ書くなりすればいいのに・・
- 612 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 07:58:12 ]
- 相手をWin厨と決め付けたがる厨大活躍。
もういいよ、くだらん。
- 613 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 08:09:08 ]
- >>612
逃げるのか。まぁ今の君の選択としてはいいんじゃないかなそれで。 次に人に絡むときは、もうちょっと勉強してからにした方がいいよ。 でないと、また同じように敗走するだけだから。
- 614 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 08:23:34 ]
- >>610
んー。同じことだと思いますよ。 結局システムレベルの標準入出力をラップしてくれ、ちゃんと 変換してくれってことでしょう。 同様に、Dランタイムが特定のシステムコールなりAPIなりを 呼んでいる箇所では、ちゃんとエンコーディング変換を一貫して 行わないと、ユーザ側につけがまわることになります。 ユーザ側でtoMBSz()をかませば良い、と思われるかもしれませんが、現状の toMBSz()は(機能的にはWin32に限らず必要なものであるにも関わらず) Win32ベッタリの仕様であり、コードの移植性を保持するのが困難に なりますし、いかにも「一時しのぎ」的で、今後のバージョンでは それが不要になり、コードが新しいバージョンでは動かなくなる可能性も 大です。 char[]で受け取る関数にtoMBSz()で変換したホストエンコーディングの バイト列を渡すことにも問題があります。char[]をUTF-8文字列と定めている Dの仕様に反することですし、 例えばその関数の中で文字列を解析した上でシステムコールを呼んでいる かも知れません。実際に文字列の中身を見ている関数に、 UTF-8以外のエンコーディングの文字列を与えることは、明らかな 問題を引き起こします。 ガタガタなコアライブラリの上に何かを積み上げようとしても、砂上の楼閣に 過ぎません。土台が駄目ではどうしようもないのです。
- 615 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 09:19:30 ]
- char[]がUTF-8って定まってたっけ?
- 616 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 09:30:34 ]
- >>615
ttp://www.kmonos.net/alang/d/type.html を参照。
- 617 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 11:05:08 ]
- 初心者スレ、質問スレを除くとこのスレがこの板で一番盛り上がってるようだな
- 618 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 11:16:00 ]
- 昨日は約一名へんなひとが暴れまわってたからなw
- 619 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 12:24:07 ]
- >>614
argsの文字コードが環境依存することに気づいてげんなりしてきた
- 620 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 12:31:30 ]
- 伸びまくってて全然読んでないけど
コンパイラの方がおちついてPhobosを弄れる余裕ができれば おまいらが考えるようなことはWalterタンも気づくでしょ 内部と密接に絡んでるようなthread.dが微妙なとこを見ると、 あまりPhobosはテストされてないようだし そんなにすぐDを使いたかったらTangoを使えと
- 621 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 13:12:11 ]
- >コンパイラの方がおちついてPhobosを弄れる余裕ができれば
そんな日がおとづれるのだろうか?(反語)
- 622 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 13:46:56 ]
- >>621 そんなこと言うけどさ、結局はいつか落ち着くんじゃないかなぁ、現実的に。まぁそれに何年かかるか分からんけど
- 623 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 15:45:23 ]
- >>622
おれも数年前はそう思ってた… # 待つなら10年単位で覚悟して待て。待てないなら自分で動け
- 624 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 17:21:13 ]
- Dのエッセンスをパkゲフンゲフン受け継いだ言語を
どこか別の企業が出してくれるとか……。 Windowsアプリ開発がメインターゲットってことでGUIビルダも付けて。 というか、DigitalMarsが会社としてDをどう扱うつもりなのか、 いやそもそも、DigitalMarsがどういう会社なのかすら サパーリ分からんのは俺だけだろうか。
- 625 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 17:23:48 ]
- 後にプログラマーを悩ませる悪名高い変態言語D++が誕生するとは、このとき誰が想像し得ただろうか。
- 626 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 17:40:52 ]
- それがC++0xなわけでして
- 627 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 19:28:20 ]
- C++0xdになった時に、D言語の偉大さがようやく分かるのさっ
- 628 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 20:15:00 ]
- CやJavaで既にできてることがDで出来ないわけあるかっての
見るべき環境変数なりシステム情報なりをちゃんと見れば出来ること。
- 629 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 20:16:06 ]
- コルーチンまだ〜?
- 630 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 20:36:38 ]
- ほんとコルーチンほしいよな
- 631 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 20:47:35 ]
- 特に考えずにargvをwriteflnで出力してなんの問題の無かった人ですが
とりあえず文字列まわりのライブラリが揃うの待ってます
- 632 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 20:59:41 ]
- っTango
- 633 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 21:16:19 ]
- コルーチンじゃ柔軟性が低いから継続をください。
- 634 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 21:24:26 ]
- 継続は言語機能に加えただけで使わなくても実行速度が遅くなるから、無くていい
- 635 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 21:32:05 ]
- callcc相当を呼び出した時にスタックをコピーする方式にすれば未使用時の実行速度低下を避けれるんじゃね?
- 636 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 21:55:36 ]
- いっそ関数呼び出しとかの挙動をプログラム側で再実装できりゃ
いいんじゃなかろうか。どんな実行順序だろうがやりたい放題。
- 637 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 23:03:56 ]
- >>535
Rubyを馬鹿にするなーwww >>543 ABA氏のゲームは、国内より、むしろ海外で有名 >>630 こるーちんて実際何に使うの? ゲームでも微妙なのに
- 638 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 06:31:29 ]
- >>637
えっ、びみょうなのか? 結構つかってるんだが、 世はそういう判断なのか・・・
- 639 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 07:15:37 ]
- >>638
プログラミングが下手くそなんじゃない?
- 640 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 07:26:38 ]
- >>639
もうしわけない
- 641 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 13:44:13 ]
- >>638
いや、あっても、組み込みスクリプト言語レベルで実装されてりゃいいやって感じなんだけど、 使いどころある?
|

|