株式会社システムインテグレータ 代表取締役社長 梅田 弘之
(Twitter:@umedano)
初めてのレストランで何を注文する?
初めてのお店に行って何を食べようか迷ったときに、人はどうやって決めるでしょう。私なりに人間観察してきた結果、大きく3つのタイプに分かれるようです。
タイプA
お店の人のリコメンドや壁の一押しメニューなど、お店のお薦めに素直に従う。
タイプB
どの店に行こうが、そのとき自分が一番食べたい好きな料理を頼む
タイプC
周りの人が食べている料理、一緒に行った人(常連)が頼む料理と同じものを頼む
あなたは、どのタイプですか?
タイプAの人は、人の意見をよく聴く素直な人ですね。いつも周りの人に好かれていることでしょう。一方、タイプBはどんな場合(店)でも自分の好きな道を貫こうという信念の人です。周りの人からは一目置かれているようなところがあるでしょうね。
そしてタイプCは、この両者に比べると少しこざかしいというか、利にさといというところが感じられます。でも、型にとらわれない分、新たな出会いを求める開拓精神もあります。
実は私はタイプCです。誰かと一緒だったらその人と同じものを頼みますし、1人だったら周りが食べている料理を見て、「あの人が食べているのと同じもの」と小声でオーダーしたりします。周りに人がいなくても「お店の人気のメニューは何ですか」と聞けば目的は果たせます。まあ、ときどき教えてくれた料理をスルーして、タイプBばりに自分の好きなのを頼むこともありますが、とにかくみんなが食べている料理を注文して後悔することは少ないです。
プログラミング学習のためのオススメ本
いきなり、変な話題からスタートしてしまいました。前回、私が書いたブログVol.3のタイトルはプログラミングの学習法でした。その中で一番のオススメは「本を買って学ぶ」という当たり前の結論になったわけですが、そうなると「じゃあどんな本がいいの?」ってなるわけです。
この質問を何人かにぶつけてみましょう。きっと、「プログラミングの仕組みがわかる」とか「アルゴリズムのパターンがわかる」とか「サンプルソースがたくさん載っている」などと読むべき本を親切にリコメンドしてくれると思います。
こうしたアドバイスは、読むべき本の方向性がわかってとてもありがたいです。でも、コンセプトよりも個々に良し悪しがあるのが書籍です。タイプCとしては、みんながどんな本を読んでいるのかが気になります。
そこで、社内で「プログラミングを学ぶためのお薦め書籍」アンケートを取ってみました。アンケートに答えてくれた人たちのお薦め本が次の表のとおりです。発売日も内容も幅広いですが、どの書籍も押しなべてAmazonでも評価が高いようです。みなさんがプログラミング系の書籍を読んでみようと思う際に参考になれば幸いです。
タイトル |
著者 |
出版社 |
発売 |
アルゴリズム図鑑 絵で見てわかる26のアルゴリズム |
石田保輝ほか |
翔泳社 |
2017 |
現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 |
増田亨
|
技術評論社 |
2017 |
なっとく!アルゴリズム |
アディティア・Y・バーガバ |
翔泳社 |
2017 |
オラクル認定資格教科書 Javaプログラマ Gold SE 8 |
山本道子 |
翔泳社 |
2016 |
やさしいJava 第6版 |
高橋麻奈 |
SBクリエイティブ |
2016 |
プリンシプル オブ プログラミング ~3年目までに身につけたい一生役立つ101の原理原則 ~ |
上田勲 |
秀和システム |
2016 |
猫でもわかるC#プログラミング |
粂井 康孝 |
SBクリエイティブ |
2016 |
メタプログラミングRuby 第2版 |
パオロ ペロッタほか |
オライリージャパン |
2015 |
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例 |
佐々木拓郎ほか |
SBクリエイティブ |
2014 |
リファクタリング ―既存のコードを安全に改善する― |
マーチンフラワーほか |
オーム社 |
2014 |
EFFECTIVE JAVA 第2版 |
ジョシュア ブロックほか |
丸善出版 |
2014 |
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック |
ダッシュ・ボスウェルほか |
オライリージャパン |
2012 |
Java言語プログラミングレッスン |
結城浩 |
SBクリエイティブ |
2012 |
プログラミングコンテストチャレンジブック |
秋葉拓哉ほか |
毎日コミュニケーションズ |
2010 |
オブジェクト指向入門 第2版 方法論・実践 |
バートランド・メイヤー |
翔泳社 |
2008 |
プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識 |
矢沢久雄 |
日経ソフトウェア |
2007 |
オブジェクト指向入門 第2版 原則・コンセプト |
バートランド・メイヤー |
翔泳社 |
2007 |
Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本 |
エリック・フリーマンほか |
オライリージャパン |
2005 |
Code Complete 第2版 完全なプログラミングを目指して |
スティーブ ・マコネル |
日経BP社 |
2005 |
達人プログラマー システム開発の職人から名匠への道 |
アンドリューハントほか |
ピアソンエデュケーション |
2000 |
達人プログラマー システム開発の職人から名匠への道 |
ハントほか |
ピアソンエデュケーション |
2000 |
構造化プログラミングのアルゴリズム ―フローチャート実習で体得するアルゴリズムとプログラミング |
太田幸一 |
嵯峨野書院 |
1995 |
表1: システムインテグレータ社内アンケート「プログラムを学ぶためのお薦め書籍」
本の評価の意義
ところで、みなさんは本を買って読んだ際にカスタマーレビューをしますか。実は、私はあまりレビューをしないタイプだったのですが、最近は良い書籍に対してはレビューを書くように心がけています。
理由の1つは、著者への感謝です。自分にとってためになる内容を読ませていただいた感謝をレビューを書くことによって著者に届けたい。レビューを書くというささやかな行為でささやかな感謝を届けられるのなら、書かない手はありません。
もう1つの理由は、「良いこと(もの)は、みんなに知らせてあげたい」という人間の自然な気持ちです。学生の頃、読んだ本に感動して友達に電話した覚えがある人も多いでしょう(あ、今ならメールかLINEですね)。善は急げと言います。こんな善意の気持ちが生じたときには、ためらうことなくレビューすればいいのです。
エンジニアという職業ですごくいいなって思うのは、コミュニティの世界が広がっていることです。さまざまなコミュニティに参加して互恵活動ができるのは、エンジニア冥利に尽きます。そして、書籍のレビューを書くことは、ごくごくささやかではありますが、これも一種のコミュニティ活動だと思っています。
- カテゴリ: