プログラミング初心者向けの書籍は?

昨日の日記はSqueakやSmalltalk/80関係の書籍の「はじめに」の辺りにある「この本の対象は?」をずらずらと並べてみたものです。

前期が終わりに近づき、そろそろ後期の授業の準備にかかろうというところで、「ソフトウェア開発の授業で使う言語は何にしようか?」という毎年悩む問題につきあたりました。

前期にやっている設計の授業で、例年のように進行が遅れてしまい、プログラム言語にはあまり依存しない段階で終わることになったのは内心ありがたいのですが、後期では言語を定めないと実装に進めません。

プログラムとしては比較的小規模なスタンドアロンアプリケーションを作るので、オブジェクト指向系であればどんな言語でもいいのですが、できれば作っている状態や動作している状態の見えやすい言語がいいですね。

となれば断然Smalltalk/80系の環境が良いと個人的に思っていますが、言語習得のためのテキストとして本を選ぶのに困ってしまうのです。というのも、学生さんのプログラミング能力にはかなりばらつきがあるので、なるべくプログラミング初心者を対象として実習を進めていきたいのですが、なかなか適切な書籍がありません。

SqueakやSmalltalk/80関係の見ると、単なる言語解説書を越えたリッチな内容を持つ名著が多く、持っていて良い本だと思うのですが、いかんせん初心者にはとっつきにくい感があります。昨日のリストのように対象読者を見ても、明確に(?)初心者向けを謳っているのは「ウィンストンのSmalltalk」だけで、選べる状況にないのは残念です。

オブジェクト指向を教えるために、CやらC++やBasicを教えてからというのは、「最初に学んだ言語が後の思考を左右する」ということからも避けたいところです。だいいち、Smalltalk/80の文法を教えるのに、これはif文と同じだよとかfor文と同じだよとか言って理解させようとするのは胸がチクチク痛みます。

メッセージパッシングや情報隠蔽といった考え方は、難解でもなく、それなりに理解できるしくみだと思うので、この辺の考え方から徐々に環境の使い方や文法の解説に進むようなものがあるといいな~。と思うこのごろです。