アカウント名:
パスワード:
なんか気づいたらいろんなところで動いてた。知らん間にWrite Once, Run Anywhere
もともとjavaをかなり意識して作られたものだし、CLIって規格上は最初から特定プラットフォーム依存じゃなかったからね。当のMicrosoftがWindows以外の実装を長いこと作らなかっただけで。
言語仕様についてはおっしゃるとおりですが、マルチプラットホームを本気で考えていたかどうかは疑問ですね。
Microsoft製のCLI実装として、2001年に公開されたShared Source CLIというものがあり、FreeBSD版とMac OS Xが動いています。オブジェクトレイアウトなどが現行の.NET実装とほぼ一緒なので、現在のMicrosoft実装の原型と考えられるものです。2001年にオープンソースとして公開されました。MicrosoftのOSSへの歩み寄りの先駆けといえるソフトウェアです。
https://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructure [wikipedia.org]
2001年にはすでにマルチプラットフォームを検討していたということです。
もちろん分かっている。だけど、Exception.HResultとか、そもそも文字列がUTF-16であることとか、ときおりWindows由来っぽさを感じることは自分もあるよ。なので、元のコメント#3510350の気持ちも理解できなくはない。
Exception.HResultはともかくUTF-16なのは時代的な面もあるのでは?JavaだってUTF-16だったし、Unicodeの追加面が実際に定義されたのはC#の誕生より後。
そしてC#が生まれたころLinuxはEUCが当然だった。1990年代後半から2000年代前半にかけて16bitでは足りないと見切った人々の選択はUTF-32だった。UTF-8がローカルでここまで使われるようになると、どれだけの人が予想できただろうか。
いや、UTF-8 は交換用が主用途だろ…Linux/UNIX や Windows のいずれも UTF-8 を内部コードとしては使ってないよ。
それは詭弁というか、UTF-16がWindows由来っぽいって話とは別の次元では?
Javaを例に出して、グローバル文字列といえばUTF-16だったって言ってるじゃないですか。JavaScriptだって内部的にはUTF-16ですよ。文字コードを取得する古い関数なんかではそちらのコードが取得できます。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
今更盛り上がってきてるよねC#ってか.NET (スコア:0)
なんか気づいたらいろんなところで動いてた。
知らん間にWrite Once, Run Anywhere
Re: (スコア:1)
もともとjavaをかなり意識して作られたものだし、CLIって規格上は最初から特定プラットフォーム依存じゃなかったからね。
当のMicrosoftがWindows以外の実装を長いこと作らなかっただけで。
うじゃうじゃ
Re: (スコア:1)
言語仕様についてはおっしゃるとおりですが、マルチプラットホームを本気で考えていたかどうかは疑問ですね。
Re: (スコア:0)
Microsoft製のCLI実装として、2001年に公開されたShared Source CLIというものがあり、FreeBSD版とMac OS Xが動いています。
オブジェクトレイアウトなどが現行の.NET実装とほぼ一緒なので、現在のMicrosoft実装の原型と考えられるものです。
2001年にオープンソースとして公開されました。MicrosoftのOSSへの歩み寄りの先駆けといえるソフトウェアです。
https://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructure [wikipedia.org]
2001年にはすでにマルチプラットフォームを検討していたということです。
Re: (スコア:0)
もちろん分かっている。だけど、Exception.HResultとか、そもそも文字列がUTF-16であることとか、ときおりWindows由来っぽさを感じることは自分もあるよ。なので、元のコメント#3510350の気持ちも理解できなくはない。
Re: (スコア:0)
Exception.HResultはともかくUTF-16なのは時代的な面もあるのでは?
JavaだってUTF-16だったし、Unicodeの追加面が実際に定義されたのはC#の誕生より後。
そしてC#が生まれたころLinuxはEUCが当然だった。
1990年代後半から2000年代前半にかけて16bitでは足りないと見切った人々の選択はUTF-32だった。
UTF-8がローカルでここまで使われるようになると、どれだけの人が予想できただろうか。
Re: (スコア:0)
いや、UTF-8 は交換用が主用途だろ…
Linux/UNIX や Windows のいずれも UTF-8 を内部コードとしては使ってないよ。
Re: (スコア:0)
それは詭弁というか、UTF-16がWindows由来っぽいって話とは別の次元では?
Re:今更盛り上がってきてるよねC#ってか.NET (スコア:0)
Javaを例に出して、グローバル文字列といえばUTF-16だったって言ってるじゃないですか。
JavaScriptだって内部的にはUTF-16ですよ。文字コードを取得する古い関数なんかではそちらのコードが取得できます。