独自言語について考える。

schemeは何でも出来る言語だ。Cも何でも出来る言語だ。どちらも間違っていないが、両者は「何でも出来る」という範疇の中で対極にある。(対極より外側に位置する言語もある。)計算アルゴリズムの問題にはschemeが適しているし、インターフェースカードのドライバーを書くのにはCが適している。それが適材適所というものだ。
各言語には、何に適していて何に適していないのかを決める特質がある。それは一つには「何が出来るか」という機能の問題であるし、もう一つには「何をさせないか」という反機能の問題である。
例えば、(私の大好きな)型は「何をさせないか」の典型例だ。動的型の言語は静的型の言語よりも幅広いコードを受け入れるが、その多くは実行時エラーを引き起こす。実行時エラーのようなデバッグし辛い問題を引き起こすような機能ならば無い方が良いという考えもある。