動機

 後日追記:
 私Java1rouは学校の授業で初めてJavaを触りました。


 情報処理教育教室に集まった生徒に与えられたのは、javacが入っただけのLinux端末。実はEclipseもインストールされていたのですが、英語版であったこともあり、生徒にその事実は知らされること無く授業は進みます。
 ソースコードをシンプルなテキストエディター(Windowsなら「メモ帳」にあたる)で書き、コマンドウインドウ(黒窓)でソースの保存ディレクトリに移動してコンパイル→実行、という牧歌的な(というか原始的な)ものでした。
 授業も最近出来たものなので、試行錯誤の段階。教科書(いちばんやさしいJava入門丸の内とら)はあれど、その通り進まず、手製のプリントが配られます。


 当然、教室内は阿鼻叫喚の地獄絵図の様相を呈しました。
 つまりコンパイルエラーの嵐。
 早い段階で50行に及ぶソースを書かされるようになるので、プリントの通り入力したつもりでもエラー!エラー!エラー!
 さっそくバグ探しになりますが、エラーメッセージの役立たずなことといったら殺意が沸く程です。TA(ティーチングアシスタント:主に院生がする)の助言も見当はずれの事が多く、時には一つのバグをつぶすのに二時間かかったことがありました。
 もっとも腹が立つのは、教師に助けを求めると、あっという間に解決することです。解決するのはいいとして、その急所を見つけ出す方法が「経験」によるしかないなどと聞くとこう言いたくなります。


「では何のためのコンピューターなのか?典型的なエラーを判別することすら出来ないのか?なぜ正しいエラーメッセージを出さないのか?学生は何のために一つのバグに二時間を消費しなければならないのか?経験者に聞いて10分で解決するのと違いなど無いだろう!無能なコンパイラーのせいで世界中の学生の時間をそれぞれ100時間以上は奪っていると言っても過言ではあるまい。それがどれほどの損失か考えた者はいないのか?嘘つきコンパイラーが初心者の学習意欲を奪うとは想像すらできないのか?」


 EclipseNetBeansがどれほどのものかは知りませんが、私はPlaneな環境でJavaを学ぶ者への同情と共感をもって、このブログを捧げたい。無能なコンパイラーへの怒りを共有したい。そして、javacのウソを暴きエラーの解決法を提示すことで、初学者の挫折を防ぎたいのです。