言語

本をいろいろと読んでいるとぱらぱらめくるだけで、だいたい自分に合うかどうかはわかるようになってくる。
いくら名著でもあまりに学術っぽいのや教科書っぽいのは読みたくない。
ハードフェアの細かい話や論理回路は嫌いだが、CODE〜コンピュータから見たコードのからくり〜は好き。
LinuxとかOS理論には興味がないが、Advanced Windowsは好き。
はじめて読む486みたいなのはどうもなじめないが、Write Great Codeみたいなのは好き。
人月の神話。とかは好きではないが、Joel on software やライトついてますか?は好き。
まあ、そんな話はどうでもいい。


コンパイラ関係の話はどうもなじめない。
そもそもテキストファイルでやるからトークンがどうだとか、解釈期がとかいう話なり、文字列処理とかややこしい話になる。
自動補完とかクラスビューとかもほとんどコンパイラを作るようなものらしいし、複雑だし、コードを書く方が気を遣わなきゃいけないこともある。
とにかく、文字列解析とかはややこしいのでやりたいとは思わない。
自前でスクリプトでも組んでみるとよくわかる。
変なところにスペースとかタブとかを入れなければものすごく楽なのだが、ちょっとでも変なところに改行が入ったりよけいなスペースがあると正しく解析できなくなる。
それをどうにか仕様と思うとコンパイラとかの処理系の話を理解しないといけない。


で、なんでプログラム言語はグラフィック処理系にしないのだろうか。
グラフィックといってもUML図のようなものではなく、今ある言語をそのまま図形にしてしまえばいい。
変数とかオブジェクトとかをシンボルにする。関数とかもシンボルにする。スコープは大きな囲いにする。
コメントとかはその他の情報は折りたたむ。
そうすればいちいちテキストをパーすする必要もないし、3Dソフトみたいに簡単なクラスビューを表示したりできる。
うまくやれば複雑な数式とか(特に割り算)を見やすく表示できるかもしれない。
で、作ったやつはそのままテキストに書き出してコンパイラに投げればいい。
コンパイラエラーが起きたときは…。