2007-01-08 Javaを学ぶ価値 
Javaを仕事で使うようになって3年がたちました。
Javaを使って仕事をする上で困ることなどほとんどなくなりました。
(1年くらいたてば誰でもそうなれますけどね)
ここで、一つ疑問。
基本的にIT業界は未経験者歓迎と宣伝をして採用をしているのですが、
Javaを最初の言語として学ぶ価値はあるだろうか?
プログラマ、システムエンジニアを職業とするならJavaは学んでおいて損はないでしょう。
もし趣味であなたがプログラミング言語を勉強したいという変人であれば、Javaは選択肢はいりません。
RubyやPerl(またはPython、PHPなど)をおすすめします。
作りたいものがもっと原始的であればCかC++がいいでしょう。
Macでアプリを作りたいならObjective-Cがいいでしょう。
やりたいことを手っ取り早く実現するには別の言語の方が優れているのです。
Javaが生きるところは「web系で大規模な開発になる場合」です。
でもこんなことは企業が必要としている機能であり、
一般人がソフトウェアを作る上では不要です。
それは、Javaがいろいろなことに使える言語だからです。
それに型付けがしっかりしてるので、企業の基幹システムにも好んで使われます。
「需要があり供給が不足しているから」
これが唯一のJavaを学ぶべき理由です。
そしてJavaを使うとわかっているのに、
研修でほかの言語を教える理由はありません。
自分もそうしてジャバラーになったのです。
最初の現場には、経験2年以上のジャバラーはいませんでした。
それはそれは悲惨な開発になりました。
今考えるとバグだらけ、つくりもいい加減、
訳の分からないところでリフレクション。
もちろんまともにソースレビューできる人はいません。
それでも企業の基幹システムになってしまいました。
今Javaを学べば10年以上は食いブチには困らないでしょう。
例えば先ほどの企業の基幹システム移行プロジェクトでは、
3年越しや1000人月を超えるものはざらにあります。
そして、次の言語がでてきてJavaからの移行が始まれば、
言語など一時のはやりにすぎません。
学ぶのは仕事で必要にならない限りJavaである必要はないし、
ある言語をきちんと使いこなせるようになっていれば
Javaを習得するにはさほど時間はかからないはずです。
この場合、最大の障壁は本人のやる気と目線の高さです。
ただ、Javaを学ぶことでいいこともあります。
それはまた次回に。