javaの基礎知識を得るために必要な本

javaを勉強する際に友だちがいいなと言って紹介してくれた本を書いておきます。

 

一目見たら難しそうに見えるかもしれないが、必死に食らいつくべし。
ただ Java の文法を勉強しながらプログラミングを学習しているだけでは学べない Java の仕組みや方法論を学べる.

  • リーダブルコード

リファクタリング』と通ずるところもあるが,読むべき.
Java しか触ったことがなかったとしても、「ヤバいコードはどの言語もだいたい同じ」と思ってもらえれば。
ジュンク堂が毎年やってる「このコンピュータ書籍がすごい!」というイベントによると、2015年まで3年連続売り上げ1位だったというお化け書籍。

JUnit を書けと言われても意味が理解できてなかったり,
カバレッジ100%を目指しながら自分のやっていることに疑問を感じている人は今すぐ読むべき.テストコードがあればすべてが解決されるわけではないけれども

「テストコードでどこまで解決できるだろう」とめっちゃ真剣になって極めようとおまえるはずです。

  • プログラムはこうして作られる

初心者向けのプログラミング本によくある「if文はこうやって使います。for文はこうやって使います。以下略。」という教科書的な説明はない。テ◯リスのようなゲームを作り上げることを通してプログラミングの楽しさとかエッセンスを教えてくれる本。

Schemeを使用して、プログラミングパラダイムを解説、実装しています。
lambdaやDSL高階関数、遅延評価など、新しい(?)ものがFORTRANの時代に存在していたという事実と、
言語が違うと思えるレベルのパラダイムシフトの実装可能性からLispの凄さが身に染みます。
ただし、この本はLISPのすごさではなく、各言語パラダイムに触れることが目的だと思います。
(この本がMITのプログラミング入門科目の教科書であったこと、現在は別言語が使用されている(python?)らしいことからもそうだとおもいます)