以前equals
を『えくわるず』と読んだ事を紹介したT先生。この先生に対して個人的にではあるが、ちょっとした疑惑を抱いている。
Javaの講師なのに実はJavaよく知らないんじゃなかろうか。
例えばある日、次のような感じのコードを書いていた。
class Hoge {
void f() {
String str = new String();;
str = "文字列";
}
}
……何だこの初期化。中身なしのString
で初期化して、それに文字列を追加?意図が判らない。
という訳で質問してみた。
天井冴太 「先生、その初期化って意味無いんじゃないですか?」
T先生 「え?だって文字列を格納する前にオブジェクト生成しないと。」
ダウト。
文字列の代入の部分でオブジェクト生成される。仮に代入前にオブジェクトの生成が必要だったとしても、そもそもString
クラスは定数文字列。上記のようなコードで上手くいく筈がない。つかコレって常識じゃないのか?私はJava食わず嫌いしていた時からこの事は知っていたんだが。
天井冴太 「……ですよ?Sunのリファレンスにもそう書いてありますが。」
T講師 「あ、そう?でも、ま、念の為に初期化するって事で。」
ちょっ、だから意味無いって。言語の開発元のリファレンスさえ信用しないのかあんたは。
他にもオーバーフロー起こすようなコードを平気で書いたり、それを指摘しても修正しなかった(たった1つのif
文追加するだけなのに)り、マジックナンバーはボンボン出てくるわ、メンバフィールドは露出させまくりだわ……『Javaが使えるかどうか』以前にプログラマとしてアヤシサ爆発なのだ。……おっかしーなぁ、この学校入る前に聞いた説明だと『講師は全員業界の人間』って話だったんですが……?
……つか、この頃の授業で出てくるコードは、もしかしたら入門書見ながら打ってるんとちゃうやろか。PCで死角になってよく確認出来ないんだけど。そんな気がする。
- 意味無い
- むしろ無駄なオブジェクト生成処理が入る為、パフォーマンスを悪化させるだけ。まぁ、この程度ならコンパイラが最適化してくれるだろうとは思うけど。
- 講師は全員業界の人間
- その説明を信じていた時代が俺にもありました。( ´・ω・`)
まぁ、多分、『講師は全員"元"を含めて業界の人間』って意味だったんだろうけど。非常勤なら兎も角、時間的に常勤を現役の人間が出来るとも思えないし。