偉大なプログラマーから学ぶ!プログラミングの考え方を学べる良書9冊とは!

プログラミングの考え方を学べる良書まとめ。プログラミングをするには、ネットワークやアルゴリズムといった知識が重要です。偉大なプログラマーが自分の経験や知識を書物として残しています。優秀なプログラマーを目指す人は必見でしょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

本稿は、CodingDojoブログ記事を、CodingDojo Blogより了解を得て日本語翻訳し掲載した記事になります。本記事は、Katie Bouwkamp氏によって投稿されました。

 

あなたが今年、これら最良のプログラミングの本を1冊でも読むとしたら、あなたの周りにいるほぼ全員より一歩抜きん出ることができるでしょう。というのも、「CODE COMPLETE 完全なプログラミングを目指して」(原題「Code Complete」)の著者スティーブ・マコネル氏によると、ほとんどのプログラマは1年に1冊の本さえ読んでいないというのです。

去る2008年に、著作家、ブロガー、ソフトウェアエンジニアでもあるTrelloの開発者は、この大胆な声明を発表しました。

プログラマ達は、もう本を読まなくなっているようだ。プログラミングに関する本の市場規模は、プログラマ人口と比べると、極めて小さい。代わりに彼らは、試行錯誤しながら、喜んでプログラミングを実践している。理解できないことがあれば、Googleの検索バーに質問を入力している。

あなた自身にも当てはまるように思えますか?

たしかに検索エンジンとStack Overflowのようなコミュニティは不可欠ですが、あなたが読書から得ることができるのと同じレベルの深さの知識や視点は得られないでしょう。

 

プログラミングの最高の本は、方法だけではなくて、背後にある理由も教えてくれるものです。特定の言語やコーディング方法だけではなくて、思考法を教えてくれる本です。このような本は時の試金石に耐えた本であり、あなたが初心者でも、業界での実務経験が30年以上あるプログラマでも、より良いプログラマになる手助けとなるでしょう。

それでは早速、周りから一歩抜きん出たスーパープログラマとなるために読むべき、9つのプログラミングの本をご紹介します。

 

また、オンラインのプログラミングスクールTechAcademyでは、未経験でもプログラミングを習得することが出来ます。

 

1. Coders at Work プログラミングの技をめぐる探求

もしあなたが、プログラマーの生活に関心があれば、本書がおすすめです。本書の内容は、ジョシュア・ブロック氏、ピーター・ノーヴィグ氏、ドナルド・クヌース氏、ケン・トンプソン氏、ジェイミー・ザウィンスキー氏他15人の偉大なプログラマーとコンピュータ科学者への興味深いインタビューです。

プログラマーでもある著者のピーター・サイベル氏は、彼らの関係した有名なプロジェクト、その背景にある刺激的な物語を、インタビューを通して明るみに引き出しています。本書を読むと、何が偉大なプログラマ達をそのような行動に駆り立てたのか、また彼らの思考方法を、のぞき見ることができるでしょう。

 

なお、スティーブ・マコネル氏の「CODE COMPLETE 完全なプログラミングを目指して」(原題「Code Complete」)は、実践的なコーディングの百科事典であり、プロのプログラマ必読の書とされています。その理由は明快です―900ページにも及ぶ大型本でありながら、各章の内容は、日々のプログラミングを改善するため、また読みやすくて管理しやすいコードを構築するためのテクニックの提言となっています。

マコネル氏は、本の内容を、読み易くエンターテイメントとしての要素さえあるストーリー形式で上手く表現しています。あなたが現在どのようなレベルでも、本書はあなたの思考法やコードの書き方を必ず変えてくれるでしょう。

 

ポイント:もし1冊の本を全部読む時間がなければ、ページをめくって最後の3章に進みましょう。

というのも目次として役に立つからです。そこから、あなたの知りたい情報のある章へと読み進めるといいでしょう。また、各章を参照しやすくなるため、Kindle版ではなくて、印刷された版を選びましょう。

 

2. 人月の神話

この本は、コンピュータは変化するが人々は変化しないという前提に基づいて書かれています。人月の神話はプログラミングの古典であり、人的な要素のソフトウェア工学をテーマとしています。30年以上も前に書かれた本(初版1975年)であるにもかかわらず、時代を超えて読まれ続けています。

なぜでしょうか?その答えは、ヒット作品で素材やテクノロジーが重要になるのと同様に、物事の構築ではソフトウェアを含めて、人も重要になるからです。

もしあなたがプロジェクトマネジャーになりたいとしたら、本書はソフトウェア開発で生じる問題を理解するのに役立ちます。また、チームの連携作業、組織化、マネジメントに関する実践的なアドバイスも得られるでしょう。

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

3. ウェブユーザビリティの法則

ユーサビリティの本では、本書がおすすめです。Web開発者で、より利用しやすいWebサイトやモバイルアプリを開発したい人には、素晴らしいリソースとなるでしょう。

技術系・非技術系問わず読者が理解しやすいように、役に立つ情報が、明確で簡潔な形で盛り込まれています。

 

4. 達人プログラマー―システム開発の職人から名匠への道

古き良き、時の試練に耐え続ける他の本としては、本書もあります。本書はソフトウェア開発者のための教訓や提言のコレクションです。この本には、番号のつけられた教訓ポイントが約70点あり、巻末に切り取り式のカードとしてまとめられています。

教訓ポイントそのものはいたって当然のことに思えるかもしれませんが、あなたのプログラミングのキャリア強化や技巧を磨き上げることにおいては、驚くべき次元の広がりを発揮して役に立つでしょう。

 

5. Clean Code アジャイルソフトウェア達人の技

不完全なコードは失敗プロジェクトを招くが、これこそ素晴らしいコードを開発することが重要な理由です!通称”ボブおじさん”のマーティン(著者のRobert C. Martin氏)が、より良いコードを書くための要点と例を読者と共有するという形式で書かれています。本書は、クリーンなコードを書くための原則および最良の実践技法に踏み込んでいます。

また、徐々に難易度が高くなるケーススタディは、コードについて何が正しくて何が間違っているのかを読者に考えさせてくれます。本書の例題はJavaで書かれていますが、ほとんど全てのプログラミング言語に応用可能です。

 

ポイント:本書はスティーブ・マコネル氏の「CODE COMPLETE 完全なプログラミングを目指して」(原題「Code Complete」)の後に読む方が良いでしょう。いくつか同じトピックについて書かれていますが、本書の方がより上級レベルです。

 

6. 珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造

本書は、初心者に問題解決の基本を教えてくれる古典的な本です。もしあなたが自力で問題に取り組めば(先読みをせずに)、多くのことを学び、アルゴリズムとアルゴリズムのデザインについて深い理解を備えた、強いプログラマとなることができるでしょう。

 

7. 世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

もしあなたが、Amazon、Apple、 Facebook、 Google 、 Microsoftなどのトップ企業への就職を考えているとしたら、プログラミングの面接対策で頼りになる本の1冊です。タイトルが示すように、面接で聞かれる可能性のある150のプログラミングの質問とその解法の解説が主な内容です。

残りの内容は、面接の準備、履歴書の準備、ビジネスマナーの準備などコーディング以外のことについて書かれています。プログラミングの面接対策本としては、最良の本の1つです。他にはアルゴリズムのバイブルとして知られている、「アルゴリズムイントロダクション」(原題「 Introduction to Algorithms」)も良書です。

 

8. SOFT SKILLS ソフトウェア開発者の人生マニュアル

ほとんどのソフトウェア開発者にとって、コーディングは仕事の楽しい部分でしょう。困難な部分には、クライアントや同僚やマネジャー達とのやり取り、生産性を維持すること、金融セキュリティの徹底などがあります。

この本は、キャリアから個人のブランド戦略、ブログ、学ぶこと、教えること、資金、はては健康や人間関係に至るまで、”コーディング以外のことで仕事で発生する全ての物事”をカバーしています。

 

9. Zero Bugs and Program Faster

本書ゼロバグの著者は2年の年月を費やし、彼女が見つけることができる、全てのバグ回避の技術について研究を行いました。この本では、それらの技術の中でも最良のものが紹介されています!また役立つポイントやテクニックが含まれ、内容もわかりやすい形で示されていて、読むのが本当に楽しく(また記憶にも残りやすく)なるような比喩を加えながら生き生きと書かれています。

あなたにもこのリストに加えたいと思う必読の本がありますか?

あるならばぜひ読んでシェアしましょう!

[お知らせ]TechAcademyでは初心者でも最短4週間でエンジニアになれるオンラインブートキャンプを開催しています。プログラミングを基礎から学習したいという方におすすめです。