See-ming Lee 李思明 SML cc |
エンジニア・プログラマとしての心構え的な本も並べようか迷ったけど、人の好みで大きく分かれるので止めときます。技術者として必要そうな「入門書」をリストアップしておこうと思います。
デザイナーの人はこちらもどうぞ
→ これからWebデザインの勉強を始めるのに役立つ書籍・資料まとめ 2012年度前期版
1. 最初に読む本
平成25年度 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室 (情報処理技術者試験)
この本は、IPAの基本情報技術者試験の解説書。この本を通して、Webサービス開発やソフトウェア開発、システム開発をする上で基本となる知識をざっと把握しておくと良い感じ。試験自体は簡単なので、資格がほしい人は挑戦してみるといいかも。
2. プログラミング入門書籍 (Java)
Java言語プログラミングレッスン 第3版(上)
Java言語プログラミングレッスン 第3版(下)
開発言語がJavaな人用。他の言語でやりこんでいるものがあれば、上巻はさっさと終わらせて、下巻を読むといいかも。プログラミングテクニックみたいなのはあんまり書かれてなくて、基本的なこと(制御構造とかクラスとか)が初心者目線で分かりやすく書かれてる。言語仕様の細かいことが知りたい人は、この本に文句を言う暇があればJavadocを読みましょう。
3. プログラミング入門書籍 (ruby)
たのしいRuby 第3版
開発言語がrubyな人用。たのしくプログラミングできる本。これも基本的なことが分かりやすく解説されてる。PHP, rubyといったLL (軽量プログラミング言語) はJavaと違う部分がかなりあって、使い方のコツがあるから、LLをやったことない場合はしっかり読んでおくといいかも。
4. プログラミング入門書籍 (Javascript)
パーフェクトJavaScript (PERFECT SERIES 4)
Java, PHPないしrubyなどでプログラミングの勉強をしてから読む本。Javascript+jQueryで軽くAjaxするだけなら、オンラインドキュメントを読めばできると思う。ただ、もう一歩先にいくなら、JSそのものの勉強をして、その特殊性 (プロトタイプベース、クロージャ、非同期等) を理解しておく必要がある。この本は、すごく丁寧かつ実践的に解説されているので、ぜひ手に取ってほしい。
5. SQL入門書籍
改訂新版 反復学習ソフト付き SQL書き方ドリル (WEB+DB PRESS plusシリーズ)
SQLはリレーショナルデータベース管理システム (RDBMS) を操作するのに使われるDSLで、要はデータベースを使う人は必ず勉強しなきゃいけないってことですね。つまりWeb系の人は避けて通れない訳です。この本は簡単で分かりやすいのでおすすめですう。
6. インターネット・ネットワーク入門書籍
マスタリングTCP/IP 入門編 第5版
TCP/IPのすべての本。これだけあればいい。ネットワーク周りは、実際に自分でサーバーを運用してみた方が勉強になることが多いかも。
7. フレームワーク入門書籍
SpringによるWebアプリケーションスーパーサンプル 第2版
Ruby on Rails 3 アプリケーションプログラミング
はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する-
Webアプリケーションフレームワークの入門書。Javaな人はSpringの本、rubyな人にはRailsの本を読むことになるんだろうけど、おすすめするならこの辺りかなあ。Railsの本はソフトバンククリエイティブからも出てるけど (Rails3レシピブック) 、こっちはリファレンス的に使うのがいい。Nodeのこの本は実は俺は読んだことないんだけど、周辺の13新卒が読んでたので挙げてみた。雰囲気は良さげ。
8. UI/UXも分かるエンジニアになりたい人が読む本
インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針
この本は、良い。すごく良い。デザインとか真面目に勉強したことなかったけど、この本を一通り読んでみて、「デザインは、その理由を説明できなきゃいけない」という言葉の意味が分かった。とりあえず立ち読みだけでもしてみてください。
9. 頭一つ抜けたエンジニアになりたい人が読む本
アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書)
増補改訂版Java言語で学ぶデザインパターン入門
プログラミングの入門書を一通り読んで、フレームワークとかも使ってみてからやるといいかも。いわゆる計算機科学を勉強してた人には馴染みの(苦しめられたに違いない)アルゴリズムとデータ構造、そしてデザインパターンの書籍です。
アルゴリズムとデータ構造に関する本は最近増えてきたけど、アルゴリズムイントロダクションは良書。この緑の本は第1巻で、第2巻もある。もっとやりたかったら挑戦してみるといいかも。俺は途中で飽きて挫折した。
デザインパターンは、ソフトウェア開発をする中で、繰り返し現れるようなよく使われるパターンを抽象化してまとめたもの。英語でいうところの構文集みたいなもの。たぶんそう。こちらも同様に下巻があるので、もっとやりたかったら挑戦してみるといいかも。さらに先へ行きたい人は、GoFっていう難しい本もあるけど、最初からこれをやると火傷するから止めといた方がいい。俺は指一本失いかけた。
ちなみに「アルゴリズムとデータ構造」はよく組みにして使われる単語で、両者は切っても切れない関係にある。
おわりに
この中で1冊だけ薦めるとしたら、インタフェースデザインの心理学かなぁ。使い心地のいいサービス、人にやさしいサービスが世の中にもっと増えるといいな、そういう視点をもった技術者がもっと増えるといいなって思います。そして、自分もそうありたいなと思います。PerlやPHPはWeb公開の解説が充実してるから、入門書は必要ないんじゃないかなと思って載せてない。もうちょっと詳しく知りたいorしっかり勉強し直したいなってなってきたら、Perlの場合はラクダ本を、PHPの場合はパーフェクトPHPをおすすめします。
以上。まとめ終わり。