API or Language(なぜAPIでなくてファイルシステムなのか)
個人的には、究極に効率的なシステムのためにも、APIを決めることよりも「記述環境」を
作ることに意義が有ると考えている。
システムとして出荷されたときのバイナリサイズよりも、実行時に占めるメモリサイズのほうが
多分重要で、そのためには必要な部分だけをロードするといった対策が必要になる。
出荷されたときのバイナリサイズにしても、部品の共通化を進めるのは良い影響を与える。
(少なくとも、僕の知識ではAPIコールの効率性とシステムの効率性を関連付けられない)
そもそも、現代的なシステムではプログラムよりもデータの方が圧倒的に大きな存在感を占めている。
メモリからキャッシュへのコピー、データの配列、そのほかのI/Oがシステムの速度を決定付けている。
(もし必要なら、)良くデザインされたファイルシステムはこの側面にアプローチできる。
ただ僕の主張としてより重要なのは、APIはプログラマにしか触れないけれどファイルシステムは
ユーザ全員が触るという点で、より端的に表現すれば「多くのプログラミングは
本来プログラムの外部で行われる必要が有る」。
一つ一つのプログラムを小さくすることよりも、プログラムの数そのものを減らした方が
効率的に思える。