インターフェースは手品
コンピューターは手品の連続だ
手品は年々増えている
ユーザーインターフェース
/IFPsychology/手品とインタフェース
仮想化は手品
ユーザーイリュージョン
結論 ユーザーインターフェースはかなりの数の仮想化と手品に支えられている
手品がなければ本物のプログラマにしかコンピューターは扱えないだろう
人間の認知能力を超える機械を扱うには仮想化が必要
GUIは手品だし、CLIでも相当手品
(リンク先より技術的な側面で解説します)
レイヤー順
機械語:トランジスタの配置などCPUの物理的な側面を隠蔽するので手品
カーネル
プロセスは、CPUが1つしかないのに複数あるように見せかけるので手品
仮想記憶は、メモリの容量を勘違いさせるし、プロセスに対して連続的なアドレスが与えられているので手品
ファイルは、HDDの物理的なアドレスを隠蔽するので手品
言語レベル
変数は、メモリアドレスを仮想化する
オブジェクトや構造体は、バイト列を仮想化する
関数は、ジャンプ先のアドレスと復帰を仮想化している
引数は呼び出し時にスタックに積まれる
ユーザーランド
CLI
エコーバックはキーボードで入力した文字を画面に表示する
readline
矢印キーで左右移動、挿入削除ができる
上キーで履歴を出せる
TUI
カーソルは矢印キーによって上下左右に移動できる
curses
TUIのライブラリ
GUI
ディスプレイドライバはモニターとの通信を仮想化する
ウインドウマネージャは、ピクセルを仮想化する
ツールキットはグラフィックの配置や動作を仮想化する
MVCはインターフェースとその他の連携を仮想化する
仮想化という概念きになるはるひ.icon
低レイヤーのものやふるまいを理解していなくても高レイヤーのものを扱える?
そのような理解でいるbsahd.icon
算数の勉強で
四則演算を仮想化したインターフェースがあったとして、これを使うことで
生徒は 四則演算を理解せずに、ある高度な数学的操作をする ことはどのくらい/どうできるか
電卓でルートボタンを押して測量の仕事をてつだう