関数

 コンピュータにとっては大域ジャンプの方が自然で、それを関数の形に抑えてるのは大域ジャンプされると頭がスパゲッティになってしまう人間の都合だ。

 人間の入力はコンピュータにとっては乱数みたいなもので、入力に応じてAをやったりBをやったりしなきゃいけない。

 典型的なGUIアプリは実処理を関数が行い、GUIは関数への入力と出力先を決めるだけだ。

 処理の途中で問題があって入力を必要とする場合、実処理をしているスレッドを止めて入力を待つ。入力を受け取ったら関数を再開したり中止したりする。

 絵を描くような場合は、入力→処理→入力→処理の繰り返しになる。関数の形では書けない。

 動画であれば処理→出力→処理→出力になるが、これは関数で書ける。一時停止ボタンが押されたらスレッドを止めてもいい。ゲームになると入力→処理→出力→入力→処理→出力といった形になり関数では書けなくなる。

 やはり入力が問題なんだと思う。入力が何度も入ってくるせいで細切れにされた処理と出力の無限ループになる。制御の中心が関数からループになる。

 特化言語で一連の処理を書く。それを解釈して細切れの処理に直して実行する。考え途中。