プログラマの価値を下げる超高速な陰謀

初心者がJavaを“超高速”で学ぶためのコツ

  • 学生時代(文系):C言語⇒いまいちわからねぇ
  • 新人研修:Java⇒Cより簡単だな(勘違い)
  • 現場:C言語⇒をを、Javaやってたおかげで「ポインタの意味がわかる」
  • 現場:Java⇒Cちゃんとわかったおかげで違いが明確だよ。Javaにポインタ無いって言った奴、怒らないから出てきなさい

な、遍歴をたどっている身としては、Javaがとてもじゃないけど高速で身に付くものだとは思いませんし、逆に他の言語(まあCOBOLは置いといて)をある程度理解して使っていた人ならJavaで何をすべきかがある程度はっきりするんじゃないかと思ったりもします。あ、前からスパゲッティーなコードを書いていた人はそもそも素質がないんで。id:Lucrezia様が例によって怒涛のツッコミをされているようです。しかし勢いに任せすぎてなんかちょっと誤解があるようなのでツッコミ
クラスがメモリにロードされる話、あの絵は抽象概念を示すものとしては正確じゃないけどstaticな領域とかクラスとして取られる領域を表現しているという意味では必ずしも間違いではないですね。毎回ファイルから設計図を読み出すわけでもないし。クラスが生成されるという表現は変ですが。あと、クラスメソッドとは言うなあ。まあ、その後のツッコミには大体同意です。
で、まあ最後まで元記事を読んだ感想としては、これ、単にJavaの紹介をしているだけじゃないかと。最初の2ページくらいはちょっと実装っぽかったけど、後はこういう機能があるからちゃんと使いましょうって言うことに過ぎません。UMLデザインパターンだっていうところに到っては何を言いたいか意味不明。UMLJavaマッピングってそのJavaがろくにわかってなくてオブジェクト指向もわかってない人が、UMLマッピングできるようなまともなJavaのプログラムが出来ると思いますか?
デザインパターンを学ぶことが超高速ポイントって何。デザインパターンを学習することそのものがまず超高速に出来ないわけですが、それで設計を学んだつもりになったら判で押したように適用するエンジニアが出来てしまうだけです。基本パターンを元に柔軟に考えるエンジニアが出来るとは思えません。
とまあ、そんな感じでこの記事はJavaが出来るエンジニアではなく、Javaの現場に派遣されて言ったときに「これこれってわかる?」と言われて通り一遍の返事をできるだけの単なるコーダーを超高速に量産するコツを紹介するものだったのです。今の現場にもJavaでプログラミング(設計含む)が出来るんじゃなくて、Javaで詳細な仕様どおりにコーディングできるだけの人間が山盛りいます。超高速にやろうとしたって出来てくるのはそんな人ばかり。わざわざ記事にする意味があったのでしょうかね。