動機 イメージ論でない言語パラダイムに関する話を書きたかった。*1 まともな意見をインターネット空間に1つでも多く残しておきたかった。*2 要約 オブジェクト指向プログラミングはデータに対する操作をオブジェクト*3として抽象化する。 関数型プログラミングでは関数による抽象化を基本とする。 言語設計の問題と概念の問題は、混同すべきではない。 オブジェクト指向プログラミング 題材 Consというデータ構造を考えてみます。 Consは任意のデータのペアから成り、その片方をCar、もう片方をCdrと呼びます。 それはJava風に書けば次のようになるでしょう。 public final class Cons{ private Object car; private Object cdr; public void setCar(Object x){ this.car = x; } public voi