これがMITの学生が学んでいるプログラミング!
2018年9月22日にオライリージャパンから『Programming for the Puzzled』の邦訳『問題解決のPythonプログラミング』が発売される。 この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2018年7月下旬であった。
この手のエントリは、発売日後に出すことにしているが、今年のPyCon JPで先行発売されるので知名度を上げるために*1早めに出した。
原著の筆者はMITの教授で実際にMITにおけるプログラミングの講義において使われた題材を元に構成されている。 MITのプログラミングの講義、といえばSICPが有名であるが、『Programming for the Puzzled』もまた実際の講義の経験に裏打ちされた密度の高いパズルがたくさん掲載されている。 個人的には、最初の帽子のパズルはなんだこれ?と思ったが情報圧縮アルゴリズムに絡めた問題であることがわかるとちょっと感動してしまった。
この本の難点は、掲載されているPythonコードが全体的にPythonicではない、PEP 8に従っていないこと、Python 3対応を謳っているがPython 2ベースであること、であろう。 自分で読みつつ、Python 3対応を行ったり、Pythonicなコードに置き換えて読んだりするとPythonの力が向上するだろう。 黒川さんのあとがきの通り、研究室や会社の研修で使うとよさそうな本である。
*1:果たしてどの程度の効果があるのか。