この記事を読むのに必要な時間:およそ 1 分
後輩:IT企業にうっかり就職して1年目のSE。プログラミングしてみたい。
先輩:勤続10年,ソフトウェア開発の中堅エンジニア。現場好き,技術好き。
後輩:Javaの勉強ってどうやったらいいですか?
先輩:そうだね,まずは文法を学ぶものいいけど,計算機概論とか案外そんな本がよかったりするよ。まあ,OS の勉強も重要だよな。仮想マシンとは何か・・・みたいな。
後輩:えー,難しそうですし,遠回り過ぎます!ウチの会社が請ける案件はJavaが多いじゃないですか。だからまずはJavaです。
先輩:じゃあ,まずはオブジェクト指向の入門書を読んでみるのはどうだろうか。読んでみて面白いなと思う本を通読してみて,それからJavaの入門書を併読してみても,今ならばいいかもね。それから,入門書のソースコードを入力しながら勉強するのがいいね。Eclipseみたいな総合開発環境(IDE)は,入力支援が当たり前だから,キータイプの数が減ってミスが少なくていいけど,初心者だったらエディターで一所懸命入力してほしいな。タッチタイプも上手くなるしね。
後輩:写経ってヤツですね。でもJavaの歴史も四半世紀を過ぎているんですよね。だったらもっと楽になっていませんか。
先輩:たしかにね。我々が作るシステムの業務ってヤツは定型バターンが根底にあるわけだから,それを抽出すれば,どこにでも再利用できるプロトタイプモデルができそうだよね。……実際は再利用できるほど世の中あんまり甘くないけど。そういったJavaの定型パターンみたいなものは,オープンソースで公開されているよね。古くはStrutsとか。今は,SeaserとかSpringかな。
後輩:ああ,そういう部品みたいなモノを再利用するわけですね。開発時間も短縮できてハッピーです。Win-Winってヤツですね。それ勉強したいです。
先輩:まあ,どれもちゃんと自分のものにするには一筋縄じゃいかないけどね。ソースコードを読み,機能を理解して,お客さんが求めるシステムに当てはめていかねばならない。Springだって,どんどん多機能になってきて,いまやVersion3.1だ。全世界で普及しているから,欧文での参考文献が多くなる。つまりオフショア開発でも対応しやすいと言える。JavaのFrameworkの定番だね。
後輩:なるほど!
先輩:最近のSpringの機能の充実はかなりのもんだね。ここ数年では,VMware社やSalesforce社との関係を深め,クラウド環境への対応も図られているし。一方,いま流行っている開発のトレンドはJavaScriptばかりだけど,Springもどんどん進化している。それはさておき,Springの特長であるDI(依存性の注入),とかAOP(アスペクト指向プログラミング)とか,キミにわかるのか?
後輩:楽ができるならば,それも勉強します! ところで,JavaScriptとJavaの違いって何ですか?
先輩:がーん!(ずこッ)。まずはそこから始めなきゃならんのか。まずは,流れの速いIT業界も俯瞰して,すぐにわかる本書の第1章を読んでみて! JavaによるWebアプリケーションの仕組みがわかれば,キミが当社ですべき仕事の全容もわかるようになるだろう。