第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
-
Upload
kazuhiro-serizawa -
Category
Software
-
view
2.299 -
download
2
description
Transcript of 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
Javaを書き始めて1年半が経って思うこと
2014年5月31日第六回 #渋谷java
Saturday, May 31, 14
自己紹介• 芹沢和洋 28歳 ワカモノとオッサンの間• 株式会社ビズリーチ CTO室• 業務:社内への技術サポート・社内雑用全般• @seri_k • java(SAStruts,struts2,spring,DBFlute等) 1年半ぐらい。その前はphpを2年ぐらい触ってました
• その他 ruby , php , iOS4時代にObj-c• ブログ:seri::diary
http://serihiro.hatenablog.com/
Saturday, May 31, 14
最近はなぜか社内で脅迫されてRails教えてます
http://codebreak.com/blog/takezoe/page/94d7e7/Saturday, May 31, 14
ビズリーチではエンジニアを大募集しております• Webサービス開発エンジニア
java,scala←Scala始めました
• Androidアプリエンジニア
• iOSアプリエンジニア
• インフラエンジニア(全てAWS)
http://www.bizreach.co.jp/recruit/
Saturday, May 31, 14
今日話すこと• java書いてきた一年半を振り返ってjavaを使う前と後で受けた印象の違いについて
•ガチ勢が多い渋谷javaの中では珍しくゆるふわな話です
•肩の力を抜いて楽にしてお聞き下さい
Saturday, May 31, 14
第一回渋谷java (2013.6.29)
• 当時入社半年• java歴も半年• javaにも自社サービス開発という業務にも慣れてきた頃
http://www.slideshare.net/kazuhiroserizawa988/shibuyajava1-lt
Saturday, May 31, 14
書き始めた時はこんなつまらないミスをよくやった
if(“Hoge” == “Hoge”) System.out.println(“hoge”);}
int nyan = 32;
Integer nya-n = nyan;
==で比較してtrueにならない
無駄ボクシング(Integerとintの違いが分かってなかった)
Saturday, May 31, 14
書き始めた時はこんなつまらないミスをよくやった
List<String> list = Arrays.asList("hoge", "nya-n", "uwa-n");
for (String word : list) { if (word.equals("nya-n")) { list.remove(word);//UnsupportedOperationException } System.out.println(word); }
for文でCollection回して要素を削除しようとしてUnsupportedOperationException
Saturday, May 31, 14
現場で飛び交う単語が理解できない…
• あのてーしょん• じぇねりくす• かたぱらめーた• でぃーあいこんてな• とくめいくらす
日本語でおk…Saturday, May 31, 14
当時の自分『正直めんどくさい…』
Saturday, May 31, 14
ずっと書いてると認識が変わってくる
• めんどくさい言語仕様→慣れれば問題無い
• コンパイルエラーが出るからすぐにミスに気づいて直せる→嬉しい!
• ジェネリクスが無いとCollectionがタイプセーフにならない→ジェネリクス様様や!
• 型安全最高!Saturday, May 31, 14
なのでLLと比較すると
• LL
• サクっと書けてすぐコンソールやサーバ上で動かせる• 実行するまで結果が分からないので怖い。リファクタはテスト無しではつらい
• 大規模化すると色々問題が出やすい• java
• 理解は大変で覚える事が多くて動かすのもつらい• 実行前にエラーが分かる。リファクタも容易• 大規模化しても割とスムーズに開発できる
Saturday, May 31, 14
java書いてるんですか?あー、
いろんなもの書かなくちゃいけなくて大変ですね(苦笑)。それにひきかえScalaは(ry
※実話
javaについてよく言われることについて①
Saturday, May 31, 14
List<String> list = new ArrayList<String>();
いつから全部手で打つと錯覚していた…?
※java7からは右辺の型引数を省略可能
Saturday, May 31, 14
これをEclipseで書くと
“new” → “AL”→ctrl(command) + space で ArrayList<>() が補完
ctrl(command) + 2 → “l” で左辺と変数名を補完
Saturday, May 31, 14
それってIDEの力では…
• そうなんだけど、javaはIDEで書くのがもはや前提
• であればIDEのスペック自体もjavaの能力と言って良いのでは…と思う
• タイプセーフだからこそ派手に自動リファクタが出来る訳ですしおすし
Saturday, May 31, 14
javaはダサい
javaについてよく言われることについて②
Saturday, May 31, 14
…
javaはダサい?
Saturday, May 31, 14
Saturday, May 31, 14
ださいというよりは
• 変化よりも安定性、下位互換性を重視する言語
• LLの文化とは目指している方向性が違うのでLL勢からダサく見えても仕方がない
• 安定性やパフォーマンスの良さを活かした開発の仕方をすれば良いだけのこと
• javaで書くメリットが世の中にそもそも認識されていないという問題はある
Saturday, May 31, 14
まとめ• phperが現場でいっぱいjava書いてたら良い言語だと思うようになった
• java + Eclipse = 最強に見える
• IDEのショートカットは頑張って覚えるべき
• javaはダサくないよ!硬派なだけだよ!
Saturday, May 31, 14
まとめ
ご清聴ありがとうございました
Saturday, May 31, 14