Javaを使ったオブジェクト指向のてほどき [プログラム]
この4月からの演習の中で、プログラミング演習1, 2では、スクリプト言語を学ぶことになっている。以前、Rubyを取り上げたこともあったが、その後はずっとPythonを使った演習にしている。
Pythonは文法規則が少なく、また非常に整った形式で書ける。定石などに余り頼らず、非常に素直な書き方でプログラムを組んでいくことができるので、初歩の教育用言語としては最適なものだと思う。
しかし、それでもこれまでの経験で、変数や代入、文字列リテラルや繰り返しなど、プログラミングの最も基本的な概念が十分に理解できない学生がいた。またこれらが、それ自体としては理解できても、具体的な問題を解く段になるとどうしたらいいか分からない学生も多かった。
そこで今年は、そういうプログラムの初歩的な概念について、くどいまでに丁寧に説明している結城浩の『Java言語プログラム・レッスン』を使ってみることにした。これを予習中心に読ませ、授業では実際にコーディングしたり、それをPythonで書き直したりし、さらに基本的なプログラムは暗譜する課題を出す。
いずれもこれまで何度か書いてきた感想に副った方針だ。
さらに、結城本を使うことで期せずして別のメリットが生まれた。この本の下巻はJava言語のオブジェクト指向についての、これまた丁寧な解説になっている。これまで、上に述べたようなプログラミングの初歩的な部分に躓いていたので、Rubyにせよ、Pythonにせよ、元々オブジェクト指向の言語ではあるが、その点については一切触れずに来た。しかし、結城本でJavaのオブジェクト指向の側面を勉強することで、それがPythonでどのように書かれるかを説明することもできるようになるだろう。
オブジェクト指向自体は、自分でプログラミングするときにそれほど必要性があるわけではないが、既に提供されているライブラリのインターネット関連のものには、オブジェクト指向で書かれているものがかなりある。もともと純粋なオブジェクト指向言語であるRubyはともかくとして、PerlでもPythonでも、最近のものはみなオブジェクト指向で書かれている。これらを効率的に使うためには、オブジェクト指向の知識ないしは感覚が必要である。そのことの手ほどきができるのは、思わぬ効果である。
ただし、wythonではそこまでカバーすることは難しいので、これは非オブジェクト指向の部分のみに限定した言語にしておきたいと思う。
コメント 0