アカウント名:
パスワード:
open - (read,write) - close
それなのに、socketは似ているけどちょっと違います。
socket - (connect,bind,listen,accept) - (read,write) - shudown - close
何故、意地でも同じインタフェースにできなかったのだろうか、
> ファイルとデバイスは同じように取り扱えます。これが UNIX の 特徴の1つですね。
より正確に言えば「キャラクタ型」デバイスですよね. 入出力の口しかない. それゆえに全ての通信は基本的にread/writeシステムコールで統一されると.
そう考えると, UNIXプログラミングの転換点は実はmmapシステムコールが実装され, 入出力とメモリアクセスの境界が無くなったときだったんじゃないかと思えます. これでプログラミングの自由度が大きくなった代わりに通信の同期がやっかいになり, そのあたりを隠蔽するためにもオブジェクトに対するメッセージ通信というオブジェクト指向のプログラミングモデルが有効だったんじゃないでしょうか.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
Socket (スコア:0)
Socket 関数ってもう少し綺麗に実装できなかったのかなあと
一昔前に考えたのを思い出しました。
BSD44 のやりかたも今ひとつ見えにくい。
Java の Socket はまああんなもんでしょ。
:wq
Re:Socket (スコア:1)
それなのに、socketは似ているけどちょっと違います。
何故、意地でも同じインタフェースにできなかったのだろうか、
Re:Socket (スコア:3, 参考になる)
> ファイルとデバイスは同じように取り扱えます。これが UNIX の 特徴の1つですね。
より正確に言えば「キャラクタ型」デバイスですよね. 入出力の口しかない. それゆえに全ての通信は基本的にread/writeシステムコールで統一されると.
そう考えると, UNIXプログラミングの転換点は実はmmapシステムコールが実装され, 入出力とメモリアクセスの境界が無くなったときだったんじゃないかと思えます. これでプログラミングの自由度が大きくなった代わりに通信の同期がやっかいになり, そのあたりを隠蔽するためにもオブジェクトに対するメッセージ通信というオブジェクト指向のプログラミングモデルが有効だったんじゃないでしょうか.