コレは単純に

http://d.hatena.ne.jp/nowokay/20100831#1283236961

コレは単純にコマンドラインのことを教えていないのにそれを強要されて、いきなりわけわからないものが出てきてパニック、言語の勉強どころじゃないってだけだと思う。

で、仮にJavacとjava/javawを教えたとしてもそれだけではぜんぜん足りなくて、カレントディレクトリってのがあるんですよ、とかOSとかシェル方面の知識が必要になって何をするにしてもすぐに止まるようになる。

それで、「自宅ではdirとうってファイル一覧見てたのに職場のマシンだとエラーが出る」とかOSとかシェルの違いに悩んだりするわけだ。

なのでコマンドラインコンパイル、実行をするところから教える場合はOSからちゃんと教えなさいよと。環境設定とか。「Program Files」のようにスペースが入るパスの場合ダブルクォーテーションでかこめよって話とかはjavac1つするだけでも大事なポイントだけど、javaの本質ではないなぁ。


あと、コマンドラインの基礎でつまずくってことは本当に初心者なんだから、最初は理屈はわからずにまず動いてプログラムの楽しさを覚えることが大事じゃないかな。って何度も何度も言ってるけど。

視覚的にわかりやすいGUIやグラフィック、サウンド、レスポンスのあるゲームなどを作って楽しむ、ってのは8bit時代にPC触ってた人にとっては普通だったよね。

興味を持ちやすいサンプルを用意するってのは重要だと思う。なんで「創るJava」のmainから始まるコードを使うではなくて、JFrame用意してJButton貼り付けてそこのクリックイベントのコードを書くところからはじめるってのはかなり面白い。プロパティってところで文字の色とかフォント、背景色などかえることが出来るよ!自由にやってみて!とかやると人によってなかなか面白い画面を作ったりしてくる。

あと、IDEを前提とするのはいいけど、そのIDEの補完やエラーが邪魔になる場合もよくあるというのを後ろから見ていて思った。ピリオドをうったら補完候補が出てきてびっくりしたりとか。

あとはどのIDEコンパイルする前にエラーだしてくれるのはいいけど、依存するメソッドやフィールドが現在入力している場所より上にないと入力完成して問題がなくてもエラー表示されるのがわかりにくいとかもあるので、そのへんを考慮してサンプル作ってもらえると助かるかな。フィールド定義は上にあることが多いけど、メソッド定義はそうでもない場合もあるんで。慣れてくればどこにあっても問題ない、今表示されているエラーは無視してよいとわかるけど、それがちゃんとわかるのはしばらく先のこと。