Javaの指導にて
最近、新人に偉そうにもJava未熟者の私が教育する場がありました。
そこでわかったことを書いておきます
- なぜJavaはオブジェクト指向であったり、マルチスレッドであったり、例外処理に強かったりするような特徴を備えることになったか?を過去の改善から生まれてきたことを説明する。
- オブジェクト指向の説明は抽象的な階層関係よりも保守容易性の観点から説明する。
- 半導体を組み合わせて電子機器を作るように、APIやコンポーネントといったプログラム部品を組み合わせて作るイメージを図を使って説明する。
- String s = new String("hoge"); のようなインスタンス生成と参照に対して実際メモリ上にどんな風に変数やオブジェクトが割り当てられるか順を追って説明する
ちなみにメインは「オブジェクト指向でなぜつくるのか?」で、歴史的な背景は「Javaの10年」、若干細かいことは「SunJava2認定ガイド」を一部参考にさせてもらいました。
オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
- 作者: 平澤章
- 出版社/メーカー: 日経BP社
- 発売日: 2004/06/03
- メディア: 単行本
- 購入: 34人 クリック: 448回
- この商品を含むブログ (198件) を見る
- 作者: 岩山知三郎
- 出版社/メーカー: コンピュータエージ社
- 発売日: 2005/11
- メディア: 単行本
- 購入: 1人 クリック: 6回
- この商品を含むブログ (8件) を見る
Sun Java2認定ガイド 310-035&310-027対応
- 作者: キャシーシエラ,バートベイツ,Kathy Sierra,Bert Bates,トップスタジオ
- 出版社/メーカー: 日経BP社
- 発売日: 2003/06/24
- メディア: 単行本
- クリック: 9回
- この商品を含むブログ (27件) を見る
で、反省点はメモリ周りの改善ポイントをうまく説明できなかったこと。
「Cだとメモリを壊す恐れがあるけど、Javaはその心配がない」という説明に対して、
「メモリを壊すという意味がわかりません」という返答が。
そこでアドレスがうんたらかんたらって説明したからいきなり?モードになったらしくそこから行き詰ってしまいました。でもメモリ云々を突き詰めていくとハードウェアに関しても説明しないといけないんですよねー。
何かうまく説明できる資料をみつけないと。