第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

22
Javaを書き始めて 1年半が経って思うこと 2014531第六回 #渋谷java Saturday, May 31, 14

description

第六回 #渋谷java でLTしたスライドです。

Transcript of 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

Page 1: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

Javaを書き始めて1年半が経って思うこと

2014年5月31日第六回 #渋谷java

Saturday, May 31, 14

Page 2: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

自己紹介• 芹沢和洋 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

Page 3: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

最近はなぜか社内で脅迫されてRails教えてます

http://codebreak.com/blog/takezoe/page/94d7e7/Saturday, May 31, 14

Page 4: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

ビズリーチではエンジニアを大募集しております• Webサービス開発エンジニア

java,scala←Scala始めました

• Androidアプリエンジニア

• iOSアプリエンジニア

• インフラエンジニア(全てAWS)

http://www.bizreach.co.jp/recruit/

Saturday, May 31, 14

Page 5: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

今日話すこと• java書いてきた一年半を振り返ってjavaを使う前と後で受けた印象の違いについて

•ガチ勢が多い渋谷javaの中では珍しくゆるふわな話です

•肩の力を抜いて楽にしてお聞き下さい

Saturday, May 31, 14

Page 6: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

第一回渋谷java (2013.6.29)

• 当時入社半年• java歴も半年• javaにも自社サービス開発という業務にも慣れてきた頃

http://www.slideshare.net/kazuhiroserizawa988/shibuyajava1-lt

Saturday, May 31, 14

Page 7: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

書き始めた時はこんなつまらないミスをよくやった

if(“Hoge” == “Hoge”) System.out.println(“hoge”);}

int nyan = 32;

Integer nya-n = nyan;

==で比較してtrueにならない

無駄ボクシング(Integerとintの違いが分かってなかった)

Saturday, May 31, 14

Page 8: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

書き始めた時はこんなつまらないミスをよくやった

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

Page 9: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

現場で飛び交う単語が理解できない…

• あのてーしょん• じぇねりくす• かたぱらめーた• でぃーあいこんてな• とくめいくらす

日本語でおk…Saturday, May 31, 14

Page 10: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

当時の自分『正直めんどくさい…』

Saturday, May 31, 14

Page 11: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

ずっと書いてると認識が変わってくる

• めんどくさい言語仕様→慣れれば問題無い

• コンパイルエラーが出るからすぐにミスに気づいて直せる→嬉しい!

• ジェネリクスが無いとCollectionがタイプセーフにならない→ジェネリクス様様や!

• 型安全最高!Saturday, May 31, 14

Page 12: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

なのでLLと比較すると

• LL

• サクっと書けてすぐコンソールやサーバ上で動かせる• 実行するまで結果が分からないので怖い。リファクタはテスト無しではつらい

• 大規模化すると色々問題が出やすい• java

• 理解は大変で覚える事が多くて動かすのもつらい• 実行前にエラーが分かる。リファクタも容易• 大規模化しても割とスムーズに開発できる

Saturday, May 31, 14

Page 13: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

java書いてるんですか?あー、

いろんなもの書かなくちゃいけなくて大変ですね(苦笑)。それにひきかえScalaは(ry

※実話

javaについてよく言われることについて①

Saturday, May 31, 14

Page 14: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

List<String> list = new ArrayList<String>();

いつから全部手で打つと錯覚していた…?

※java7からは右辺の型引数を省略可能

Saturday, May 31, 14

Page 15: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

これをEclipseで書くと

“new” → “AL”→ctrl(command) + space で ArrayList<>() が補完

ctrl(command) + 2 → “l” で左辺と変数名を補完

Saturday, May 31, 14

Page 16: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

それってIDEの力では…

• そうなんだけど、javaはIDEで書くのがもはや前提

• であればIDEのスペック自体もjavaの能力と言って良いのでは…と思う

• タイプセーフだからこそ派手に自動リファクタが出来る訳ですしおすし

Saturday, May 31, 14

Page 17: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

javaはダサい

javaについてよく言われることについて②

Saturday, May 31, 14

Page 18: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

javaはダサい?

Saturday, May 31, 14

Page 19: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

Saturday, May 31, 14

Page 20: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

ださいというよりは

• 変化よりも安定性、下位互換性を重視する言語

• LLの文化とは目指している方向性が違うのでLL勢からダサく見えても仕方がない

• 安定性やパフォーマンスの良さを活かした開発の仕方をすれば良いだけのこと

• javaで書くメリットが世の中にそもそも認識されていないという問題はある

Saturday, May 31, 14

Page 21: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

まとめ• phperが現場でいっぱいjava書いてたら良い言語だと思うようになった

• java + Eclipse = 最強に見える

• IDEのショートカットは頑張って覚えるべき

• javaはダサくないよ!硬派なだけだよ!

Saturday, May 31, 14

Page 22: 第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと

まとめ

ご清聴ありがとうございました

Saturday, May 31, 14