2018年7月17日火曜日

選択肢はあれど、Javaは使えるようにしたい

Javaプログラミングの演習をとおして、Javaの基礎を身につける。
(本記事の続編は、近々どこかに掲載します。)

Writing with pencil and typing are the basis of this world

ここでは、以下の書籍に特化して、Javaプログラミングを学び、自分の問題解決にJavaを使えるようにすることを目指します。そのためにご参考になりそうなことを書いていきたいと思います。(続編はあるかも)

立木秀樹・有賀妙子「すべての人のためのJavaプログラミング 第3版」共立出版

初版 ー 第2版 ー 第3版

■第3版についての私のコメント

初版(2000年10月発行)、第2版(2007年9月発行)、第3版(2017年10月発行)となっています。私は、大学の情報工学科でこれらの書籍を使って(一時期、別の書籍も教科書として使いましたが)Javaを教え、また、学んで来ました。現在は、学生諸君には教えていませんが、Javaプログラミングは続けています。

この教科書の第一の特徴は、「最初から」タートルグラフィックスを使って、視覚的にプログラムの動作を確認しながら、Javaの基本を学べることです。それは、初版、第2版、第3版でも変わっていません。それまで、C/C++の基礎を教えていた同僚のN先生が、私のJava授業の演習に加わった際に述べられた言葉は印象的でした。「これまでのテキスト主体の演習に比べて、こんなグラフィックスの演習はとても難しいのではないかと思っていたら、学生諸君は意外にも、グイグイとプログラムを書いて、修正して、動かしているのを見て驚きました。これは衝撃的でした!」と。

この教科書は、いわゆる「易しい教科書」に比べて、説明が緻密であり、その結果として文字数がとても多いように見えます。それが、一見、「これはかなり難しい教科書」という印象を与えるかも知れません。しかし、説明文が少なく、文字が大きく、やさしそうに見える教科書は、初心者には逆に理解し難いでしょう。なぜなら、詳しい説明がないのですから、当然そうなります。これに対して、この教科書は、説明に分からないところがあっても、例題のJavaプログラムを動かして、その結果を見ながら、プログラムの構造を見直し、さらに、本文の説明を何度か繰り返して読めば理解が深まってくるように作られています。

第3版になって、変更になった項目で大きなものは、「ラムダ式と関数型インタフェース」の導入と、「これまでのGUIが、SwingからJavaFX」へと変わったことだと思います。前者は、すでに、他の多くのプログラミング言語、例えばPythonやJavaScript等も取り入れていますので、自然な流れと思います。はじめての人は、Javaにおいて、関数をデータとして扱うことには戸惑いを感じると思います。しかし、よく馴染んでくれば、ラムダ式の導入は、従来のオブジェクト指向とうまく融合していることを感じるようになるでしょう。JavaFXへの変更は、より高度なGUI(アニメーション、マルチタッチなどを含む)を持つアプリケーションの作成容易化への要請に応えるもののはずです。なお、本書では、他の多くの書籍にみられるFXML(XMLベース)は扱っていません。これは従来のSwingからの継続性を重視したためかも知れません。

また、後半では、現代のスマートフォンからスーパーコンまでにおいて必須となっている「マルチスレッドと平行処理」に、30ページほどを費やして、丁寧な説明を行っています。その部分にも、上記の「ラムダ式と関数型インタフェース」が出て来ており、ここでも、それらの用途の理解がさらに得られるように思います。

0 件のコメント:

コメントを投稿