9月最終週

暑かった夏も峠を過ぎ、朝晩だけはひんやりと涼やかな秋の気配へと移ろいました。炎暑真っ只中の8月16日に本講座が始まったことを思えば、ここ数日の過ごしやすさは隔世の感といったところですね。

さて、今週後半はいよいよオブジェクト指向プログラミングの考え方を本格的に導入しました。

近代的プログラミング手法の王様的存在とされがちなオブジェクト指向も、結局は手続きプログラミングの簡単な拡張にすぎません。実際、オブジェクトに付随するメソッドの呼び出しという形で、s.split(…)のような形式は最初から様々に登場していましたし、受講生もごくごく普通に使っていた概念です。

ですが、これからは、それらのクラスやメソッドを自分自身で設計し定義することができます。場合によっては比較演算子をオーバロードし、任意のオブジェクト同士の比較演算を行うことも簡単にできるでしょう。

Pythonのクラスは破格と言えるほどに自由です。普段Common Lispでばかり書いている私からしても、ありえないほどの自由さと無茶苦茶感(!)をPythonに感じます。 実際に計算機科学的にはご法度的な無茶苦茶なことがいくらでもできます。 ポール・グレアムがことあるごとにPythonを話題に出していたのもうなずけますね。もしもプログラミングの世界にHaskellから入った純粋無垢な人がいたとすれば、Pythonのクラス定義を知ったとたんに発狂するんじゃないかな(笑)。

とはいえ、効率的なオブジェクト設計は奥深く、どんな言語であろうともモノにするにはたいへん長い道のりが必要です。ここから先の実技はオブジェクト指向設計が中心になります。この面白さを受講生と共有できればいいなと考えています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です