10月1~2週まとめ

9月の終わりに差し掛かり急激に秋めいてきたと思いきや、またもや暑さのぶり返す10月上旬でした。

さて、我がPGK江坂校の求職者支援訓練では、現代的なプログラミング手法の本丸ともいえるオブジェクト指向設計に本格的に取り組んでいます。Pythonによるクラスは極めて柔軟です。よく言えばフレキシブル、悪く言えば何でもありの無法地帯です。ポール・グレアムが自身のエッセイで、プログラミング言語は計算機科学者が眉をひそめるようなもののほうがむしろ好ましいというような事を書いていたように記憶していますが、Pythonのクラスはまさにそのようなものです。LispのCLOSですら表向きはもっと厳格で多くの制約があります。このように過度に柔軟な言語機能は注意深く扱わねば大怪我をしかねませんが、正しく扱うことができさえすれば大変な恩恵を得ることが可能です。

Pythonにおけるパワーといえば、リスト内包表記やジェネレータ式を外すわけにはいかないでしょう。これらはPythonにおける関数的プログラミング手法の中核をなすもので、計算の本質とも言えるものです。言語の成り立ちそのものがラムダ算法に基づくLispやHaskellのような言語のようにはもちろんいきませんが、Pythonにおいても関数的アプローチはたいへんに有用なものです。ゴリゴリの力技に頼らず、関数的にエレガントに解決することで、思考とコードを大幅に節約することが可能になります。

三連休を挟んで火曜スタートとなる来週は、オブジェクト指向設計に加え、Pythonにおける関数的手法の有用性についてもこれまで以上に深く追求する予定です。

コメントを残す

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