[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 15:01 / Filesize : 201 KB / Number-of Response : 898
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

D言語 Part12



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)

504 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 22:09:02 ]
1.Template inheritance.
は,コードの重複をさらに減少させることができて
2.Array operations.
は,マルチコアCPU時代には必要な物では

505 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 22:10:16 ]
1.008ないのかよww
バージョン番号を無駄遣いし始めたら
1.998->1.999->1.1000も夢ではないなw

506 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 22:14:43 ]
>>502
C++0x

507 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 21:04:40 ]
マジで1.008どこにいったんだ。
普通にウォルタータンの間違い?まさかギャグ

508 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:11:08 ]
1.4.2 → 5.0 の Java よりはマシ。

509 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:12:04 ]
1.5じゃないのか・・・

510 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:56:45 ]
>>507
本人曰くスペシャルビルドらしい。詳細は不明。

511 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:02:16 ]
なんかやばい機能をつけて、出す前に封印したとか?

512 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:08:03 ]
10.21Hzの低周波で暴走する機能が付いたはず



513 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:48:46 ]
HOS?

514 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:56:39 ]
SRAM隔離しとくか。

515 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:00:31 ]
>>492
import dfl.all, dfl.internal.utf;
{
Font font = new Font(toAnsi("MS 明朝"), 16);
}
これで解決できてしまうので投稿はやめようかと思う
自分で変換しなきゃいけないのは誰が悪いんだ?
OSがフォント名をUnicodeで受け付けてくれないのが悪いのか
dflが変換してくれるべきなのかどっちだろう
dflが変換するべきならどうやって切り替えるべきだろう?

516 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:03:33 ]
そういうのはライブラリが吸収すべきだと思うんだが

517 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:25:37 ]
>>515
> OSがフォント名をUnicodeで受け付けてくれないのが悪いのか
OS側は勿論Unicodeフォント名に対応してるよ。
CreateFont(Indirect)()にしろ、LOGFONTにしろね。

糞な現状では、ttp://www.kmonos.net/alang/wnd/topics/winapi.ja.html
に書いてある方法が比較的マシな対処法かと。
少なくともTCHARマクロに慣れているC/C++プログラマにとっては親しみやすい
方法だろう。

518 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:33:48 ]
charはUTF-8文字(のうちの1オクテット)ってことになってるのに、
他のバイナリデータを平気で代入してるなんて気持ち悪すぎる。

519 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:44:11 ]
DのGCってポインタ再配置されたりする?
Cの関数に渡すようなポインタはmalloc()とかGlobalAlloc()とかすべき?

520 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:51:56 ]
>>517
あーそうかわかったわかった
-version=Unicode かどうかで CreateFontIndirectA/W を使い分けてもらえばいいだけっぽいな

521 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:00:43 ]
dfl 内部で CreateFontIndirectA / LOGFONTA を使ってしまっているからダメなんだな
CreateFontIndirect / LOGFONT に alias してそっちを使ってもらおう

522 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:37:30 ]
1byte圏の人がW版のAPIの使い所がわからないからA版使ってるなんてオチは都市伝説でいいんだよな



523 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:52:08 ]
>>522
Latin-1とかでもUTF-8エンコーディングならマルチバイトになるよ。
な〜んも気にしないでいいのは、ASCIIしか使わない人だけ。

524 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 10:52:16 ]
結局sjisつかえないの?

525 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:27:54 ]
リテラルは無理なのかな。
CGIならDで十分いけますか?

526 名前:デフォルトの名無しさん [2007/03/13(火) 12:18:16 ]
日本語で始まる引数がとれないんです><
ver1.009, XPpro

// jp.d
import std.cstream;
void main(char[][] arg) { dout.writeString(arg[1]); }

>jp 日本語
{語
>jp 0日本語
0日本語

527 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 12:33:55 ]
過去ログ嫁

528 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 12:34:57 ]
>>526
引数はshiftjisじゃね?
出力先もshiftjisだから微妙に表示できて混乱するだろうが。

529 名前:デフォルトの名無しさん [2007/03/13(火) 13:18:38 ]
>527
テンプレの過去ログは全滅っぽくて見つからないのです・・・
どこかに倉庫ありますか?

>528
引数はshiftjisだと思います・・・
でもJcodeConvert通してもだめで,
argの配列に切り分けるときにすでに失敗してるんじゃないかと


530 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 13:24:43 ]
inabaさんのとこのtxのargvfix使え。
でもあれも\が消えるんだよね。仕様?

531 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:20:03 ]
void main(char[][] _args){
 char[][] args;
 foreach(char[] arg; _args){
  args ~= fromMBSz((arg ~ '\0').ptr);
 }

なんてのをわざわざ入れてる俺。
ホントはスタートアップルーチンでやってくれなきゃ困るんだけどなぁ。

532 名前:531 mailto:sage [2007/03/13(火) 14:27:23 ]
って、これをそのままwriteStringしてもやっぱ文字化けしちゃうか。
さんざ語られた文字コード問題だけど、過去ログ消えてるのは痛いか。

困ったときはinabaさんに頼るか。
www.kmonos.net/alang/wnd/topics/pitfall.ja.html#mojibake



533 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 18:47:10 ]
>529
にくちゃんねる

Part8 >50-100
Part9 >509-

534 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 01:25:00 ]
>>532
>正しくは、標準ライブラリが画面出力の直前に、その環境の文字コードへと変換をかけるべきです。
(「利用者がwriteflnする直前に変換する」のは間違いです、念のため…)。

そうかなぁ?おいら的には、正しくはコンソールがUTF-8を表示出来るべきです。
で、次善の策としては、利用者がwriteflnする直前に変換するで、最後が、
標準ライブラリで対応だと思う。

D言語はUTF-8(UNICODE)で動くんだから、環境の問題は環境で解決するべきだと思う。

535 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 01:34:21 ]
>>534
> D言語はUTF-8(UNICODE)で動くんだから、環境の問題は環境で解決するべき

そういう言語は決して実用的な言語にはなりえません。
そのようなポリシーで開発されたソフトウェアを多くの人に/多くの環境で
使ってもらうことは不可能です。

536 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 02:33:19 ]
いい加減UTF8環境に移行しても良いと思うんだ。

537 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 02:38:31 ]
>>536
Windowsでは無理だからそれ。

538 名前:526 [2007/03/14(水) 02:38:45 ]
>528
できました!が\はやっぱり無視されたみたいです...

// jp.d
import std.cstream, tx.all, jcode;
void main(char[][] arg)
{
argvfix(arg);
dout.writeString(JcodeConvert(arg[1],"auto","sjis"));
}

>jp 日本語\ほげ
出力:日本語ほげ

>531
解決しないみたいです.同じような症状になってしまいました.

>533
ありがとうございます><
今から見ているところです.

part8 res69にある"で括る方法は使えそうです
>test "もうだめぽ"

>自
ファイルのパスを与えるのが目的だったので
-fパス
のような形式にしたらとりあえずちゃんと動きました
皆さんありがとう

539 名前:>526 [2007/03/14(水) 02:41:12 ]
>538の,
>528は>530の間違いです

540 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 02:48:27 ]
日本語WindowsのシステムコードページはCP932固定。
UTF-8のコードページはあってもMultibyteToWideChar()等で使えるだけの
偽コードページ。
コンソールコードページも当然UTF-8なんてものはない。
日本語版MSVC++もCP932なソースしか通さない。

そんな環境だぞWindowsは。
MBCS=DBCSと決めうち、mb_len()は2以下で決めうちなコードがあまりにも
はびこっているために、もはや修正不可能であるらしい。

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 ]
自分の意見を通したいがために印象操作に忙しいんだからほっとけ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<201KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef