パーフェクトJava第2版と同時発売になりましたが、監修をつとめた15時間でわかるJava集中講座を出版しました(技術評論社のページ))。
同時発売になったのは偶然で、本当は「15時間でわかるJava集中講座」のほうが先に発売する予定でした。色々あったのだろうと察してください。
どちらもJavaの本で同時発売ですが、棲み分け可能な本だと思っています。
昨日書いたように、「パーフェクトJava第2版」は、読者として一定の経験者を想定しています。Javaでなくてもいいので、なんらかの命令型言語の経験を想定しています。と言っても、if文とwhile文がなんとなく分かればいい程度ですが。
「15時間でわかるJava集中講座」は、元々、ワークスアプリケーションズ社の新卒研修のコンテンツが元になっている本です。このため、読者にプログラミングの経験を想定していません。
監修者なので客観的な評価ではないですが、「15時間でわかるJava集中講座」はなかなか良い本になっていると思います。Java8とEclipseがセットアップ済みの仮想環境(VMWareのイメージ)の入ったDVDが付属していて、知識ゼロの人がJavaを学び始められます。Javaの言語仕様だけではなく、Eclipseの使い方、JUnitの使い方、JAX-RSを使うWebアプリ開発の基本、果てはバグ報告の書き方まで説明しています。会社で使える実用知識を伝える新卒研修がベースだからこそのラインナップです。
自宅で妻が「15時間でわかるJava集中講座」を読み始めました。
妻はIT業界とまったく無縁です。ITに関して完全素人です。Bourneシェルとcシェルの違いすら区別がつきません。おそらくPCに入っているWindowsの種類すら把握していません。PCでWebブラウザ以外使っているのを見たことがありません。
そんな妻ですが、ワークスアプリケーションズ社では、プログラミング未経験の文系学生が「15時間でわかるJava集中講座」の内容で勉強を始めると聞いてやる気になりました。
放置して、どうなるかを見ていました。
「15時間でわかるJava集中講座」は、DVDに入っているVMWareのイメージを使って手を動かしながら読み進める本です。このため、最初に本の指示に従いVMWare Player(無料)をインストールする必要があります。これはできたようです。Windowsのインストーラは良くできています。
しかし次にひっかかりました。実は付属のVMWareイメージがzip圧縮されているのですが、サイズが大きすぎてWindows標準機能のzip解凍では正しく解凍できません。これは本に付属のQ&Aにも書いてありますが、やはり難しい壁だったようです。一応、Q&Aに従い7-zipをインストールしたようですが、解凍できないと言います。PCを見てみると、64bitマシンに32bit版の7-zipをインストールしてうまく動かなかったようです。使っているWindowsが32bitなのか64bitなのかを知るのは難易度が高すぎます。これは仕方ありません。
多少のヘルプをしましたが(VMWare Playerからの脱出方法など。これは知らないと無理です)、無事、VMWare Player上でCentOSが起動しました。当然ながら、妻にとって初のGNU/Linux体験です。
GNOMEがよくできているのか、本の誘導が良いのか、あるいは変な先入観がないからなのか、あっさりCentOS上で端末ソフト(gnome-terminal)もgeditもEclipseも使えています。
本に書いてあるとおりにコードを打ち込んで、端末ソフト上でjavacコマンドおよびjavaコマンドを実行する姿を後ろから覗いていました。打ち間違いがなかったようで無事にHello,Worldが表示されました。
しかし妻に反応がありません。初めてのHello,Worldに感動がないのでしょうか。動いたよと画面を指差しながら声をかけると、「ああ、これ」と反応します。「画面にぽんとHello,Worldが出ると思った」とのことです。ダイアログ画面を期待していたようで、端末ソフト上の表示を出力と思わなかったようです。この反応はその後に起きる話の伏線になっています。
「15時間でわかるJava集中講座」は、エラーなくHello,Worldの表示に成功した人に、あえてコードを打ち間違えて何が起きるかを確認するように誘導します。妻がgeditでprintlnをprintlに書き換えました。これでもう一度javacを打てばエラーになるはずです。
javacを実行するため、妻がなぜか新しい端末ソフトを開きました。思わず、元からあった端末ソフトのウィンドウを指差しながら、「これを使えばいいのに」と声をかけてしまいました。しかし、新しい端末ソフトで特に問題もないので、まあいいかとそのままにしました。この(自分から見ると)謎の行動も後の伏線になっています。
妻がjavacを打ち間違えてjaiacと書いてしまい、エラーになりました。打ち間違いを指摘するとすぐに気づきました。ここから謎の行動が始まりました。端末ソフトのウィンドウ上で、jaiacの部分をマウスでクリックし続けてはキータイプをします。
あまりの謎の行動に、思わず「何やっているの?」と聞くと「ここを書き換えたいのに書き換わらない」と答えます。
この瞬間、自分にアハ体験が訪れました。
妻に、コマンドプロンプトの表示が上に流れていくメンタルモデルがないことに気づいたからです。これで今までの(自分には謎の)行動の説明がつきます。コマンド行の下にHello,Worldが現れても表示と思わないこと。コマンドを打ち直すために、端末ソフトのウィンドウを新規に開いたこと。シェル上で打ち間違えたコマンドをその場で書き換えようとしたこと。
自分のように昔からコマンドラインに馴染んでいると、コマンドを打った後、出力が下方向に現れ、また入力や出力が画面の上に流れて行くのが普通に思っています。言わば、PCの画面をy軸でとらえるのが自然になっています。あまりにも普通すぎてそのようにしか画面を見ません。しかしそんな体験がない妻には、画面の内容が勝手に上に流れていく発想がありません。画面の反応は手前に来る、つまりz軸で画面をとらえているからです。
物理的に同じ画面を見ながら、こうも見方が違うものかと驚愕しました。
驚愕と同時に、世間的には自分のほうがマイノリティかもしれないと思うと、困ったものだと思わずにはいられません。
最近のコメント