パスワードを忘れた? アカウント作成
785035 story
プログラミング

最も影響を受けたプログラミング本は? 84

ストーリー by reo
一緒に勉強してくれる友達が一番大事 部門より

cheez 曰く、

本家 /. 記事「What Is the Most Influential Programming Book?」より。

もし時間を遡り、開発の世界の入り口に立ったばかりの自分に一冊の本を勧めるとしたら、どんな本にするだろうか?

この質問は Q&A サイト StackOverflow では 2008 年に立てられて以来、歴代第 2 位の人気トピックとなっている。このサイトでは

  1. Code Complete 2nd Edition (邦題: Code Complete 第 2 版―完全なプログラミングを目指して)」
  2. The Pragmatic Programmer: From Journeyman to Master (邦題: 達人プログラマーシステム開発の職人から名匠への道)」
  3. Structure and Interpretation of Computer Programs (邦題: 計算機プログラムの構造と解釈)」
  4. The C Programming Language (邦題: プログラミング言語C)」
  5. Introduction to Algorithms (邦題: アルゴリズムイントロダクション)」

の 5 冊がトップ 5 となっている。

/.Jer の皆様のセレクションを以下にぜひ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 一位の「Code Complete 2nd Edition」の著者であるSteve McConnell氏の「Rapid Develpment [amazon.co.jp](邦題:ラピッドデベロップメント [amazon.co.jp])」をお薦めしたいです。

    純粋なプログラミングについてはCode Completeを、そしてエンジニアリング・マネジメントについてはRapid Deveopmentを参考にすると良いと思います。氏はIEEE Software誌の編集長やMicrosoftに在籍するなど、現場と学術両面から知識・経験があります。Rapid Developmentはまさしく開発に関する百科事典といっても過言ではないでしょう。参考文献の多さも役に立ちます。
    実際の開発で起きる問題について、様々なソフトウェア工学の考え・手法を呈示しそれぞれどういう場面で使うと効果的かが述べられています。特定の手法に拘ることなく、様々な手法を紹介しているのでまず最初に読んで欲しいです。

    氏の著書には外れがないので、「Software Estimation: Demystifying the Black Art (邦題:ソフトウェア見積り―人月の暗黙知を解き明かす)」なども併せて読むとなお良いかと思います。 [amazon.co.jp]

  • by ef (25263) on 2011年09月06日 13時02分 (#2015249)

    プログラム書法 第2版
    Brian W.Kernighan (著), P.J.Plauger (著), 木村 泉 (訳) 共立出版  1982年  3,000円  ISBN4-320-02085-5

    古典でゴメンネ

  • 「AWKを256倍使うための本」

    これを読むまで、とにかくCPUパワーを最大限に使い切る事をものすごく重視していた。
    アセンブラとか、「ほとんど動く事がない、初期化とか例外的な部分を書くための言語としてのC言語」とか。

    でも、この本を読んで
    「計算機パフォーマンスを最大化しないとしても、私の苦労を最小化させるなら、それはそれで有りだ」
    と考えるようになった。

    計算機に面倒を押し付けるようになったら、いろいろ時間に余裕ができたので、調べ物をする暇ができた。
    結果として「コンパイラの気持ち」がよりよく判るようになったので、最適化がかかりやすいコードを書くようになった。
    計算機パワーを最大限利用する能力がさらに上がった。

    というわけで、「自分の苦労を最小化させる」ための勉強は「計算機を最大のパフォーマンスで利用する」事と表裏一体だ、と理解できるようになった。
    めでたし、めでたし。

    --
    fjの教祖様
  • by superfox (31908) on 2011年09月06日 14時08分 (#2015303)

    特に「go to文を用いた構造的プログラミング」の章。

  • by saitoh (10803) on 2011年09月06日 20時10分 (#2015589)
    4.2BSDについてきてたやつ。 adbからyesまでみっちり読んだので、「プログラミング本」扱いさせてくれ。
  • by gesaku (7381) on 2011年09月06日 12時52分 (#2015239)

    やっぱり「はじめてのC」でしょう。あちこちでネタにされましたね。
    #パソコン書籍の棚にSEXハウツー本があるとか

    あとプログラミング本といえるかわからないけど、MZ-731のマニュアルに載ってたBIOSのソースは
    Oh!MZのZ80マシン語解説記事片手に必死になって読んでたっけ。

    #クロック数を指折り数えてた時代が一番幸せだったかもgesaku

  • 自分が影響を受けたのは
    「Cプログラマのためのアルゴリズムとデータ構造」
    かな。
    ずっとこれを読んで勉強していました。
    今じゃあまり読まれないのかな?

    • by Anonymous Coward

      惜しいのは正規表現のところで構文解析がぜんぜん説明されてないことですね。
      self-containedは大変ですが、もうちっと何かあっても。

  • 何がすごいって (スコア:2, すばらしい洞察)

    by Anonymous Coward on 2011年09月06日 13時53分 (#2015290)

    トップ5のすべてに邦訳があること。
    あまりに恵まれすぎているので日本人プログラマーは英語が読めなくなる。

  • by Anonymous Coward on 2011年09月06日 14時16分 (#2015309)

    影響を受けたと言うとすれば、この本だなあ。スマートなコードを書くべきだという思想を刷り込まれたよ。

    ある程度知識を得ると、モノを距離を置いて見るようになって、あまり鮮烈な影響は受けなくなるよね。
    ピュアでなくなるとか、鈍くなるとも言う。

  • Cプログラミング専門課程 [amazon.co.jp]のおかげで、ポインタの底なし沼から抜け出すことが出来た。
  • 私の場合は工学社の「Z80マシン語入門」ですね、ただし兄の本w
    分厚いペーパバックの本にぎっしりとコマンドの内容やレジスタの使い方
    ビット操作や論理演算の方法などがわかって
    CPUというのはこんな考え方で計算しているのかと理解できた訳です
    # ただし、割り込みで挫折w

    プログラムはしなくなったが、あの本で考え方の基礎を身に付けたかもなぁ(`・ω・´)

  • コンプティーク (スコア:2, おもしろおかしい)

    by Anonymous Coward on 2011年09月06日 16時49分 (#2015420)

    袋とじとゲーム改造の記事が無かったらこの世界にはいなかった・・・はず。

    • by reo (4042) on 2011年09月06日 17時04分 (#2015435) 日記

      袋とじとゲーム改造の記事が無かったらこの世界にはいなかった・・・はず。

      それはつまりエロゲ魔改造で意気投合した Anonymous Coward 氏のご両親がやがて結婚して Anonymous Coward 氏が生まれたとか、Anonymous Coward 氏の父君が ED (*1) で悩んでいたところ、Anonymous Coward 氏の母君がそっとエロゲ魔改造記事を差し入れたところ Anonymous Coward 氏着床とかそういう意味での「この世界にはいなかった」ということでしょうか。けだし美談。

      (*1) erectile dysfunction ではなく extreme development

      --
      Hiroki (REO) Kashiwazaki
      親コメント
  • 「はじめて読む8086」
    「はじめて読むMASM」
    入門書としては良書。
    「はじめて読むマシン語」
    「はじめて読むアセンブリ」
    このあたりはさすがに古すぎた。
    「はじめて読む486」
    ちょっと難しすぎた。今なら読めそうなんで引っ張り出してこようかな。
    「はじめて読むPentium」
    こんなん出てたんだ・・・

  • Effective C++
    を楽しんだ。

    ゲーム開発方面の話としては
    Game Programming Gems
    とかも楽しめた。

    読んで楽しめた本が重要だと思う。

  • by soltiox (25610) on 2011年09月07日 9時03分 (#2015920) 日記

    様々な蒙を開いてました。

    ・誰もが知っていて、誰もが持っている本でも、誰もが読んでいるとは限らない
    ・大切な事をシンプルに書いただけでは、読者に伝わるとは限らない
    ・余計な文章の付いていないリファレンスは便利
    ・練習問題は読み飛ばされる

  • ソフトウェアをどう開発するかを議論が盛り上げた出発点になった本だと思います。

    職人芸でいけいけどんどんでもない、コードを一行追加するごとにドキュメントをいちいち更新して上司に込み入った報告するでもない、正しい開発アプローチはなにかを考えるのにすごくいいメソッド集です。

  • by Anonymous Coward on 2011年09月06日 12時38分 (#2015222)
    タイトルとストーリーが合ってないよ。
    一番影響を受けたものを、読まなきゃよかったと後悔してる人だっているんだ。
    #もっと早くUNIXでFOSSな時代が来てればなぁ。
  • by Anonymous Coward on 2011年09月06日 13時08分 (#2015253)

    入門に読んだ本(というよりムック)の作者が自分も初心者だから鵜呑みにするなと開き直ってて、
    実際に素人の自分にもすぐ判る間違いや勘違いがそこかしこに散りばめられていたおかげで、
    大元のマニュアルや複数の参考資料を当たる習慣、
    実際に書いて動かす習慣、
    必要な動作ばかりでなく、条件を変えて試し境界を探る習慣が身についたのは大きな収穫だったと思っています。

    だから「この一冊」は存在しませんね。全て「複数の参考になった資料」のひとつでしかない。

    • by Anonymous Coward on 2011年09月06日 19時04分 (#2015519)

      以前、MSDNのサンプルコードと似てますね。

      持ってくると、大抵コンパイルエラーやランタイムエラーが出て、そのエラーを取るためにコードのあちこちをしっかり読むことに。
      そしてデバッグを終えるころにあら不思議、Win32の事をまた1つ2つ覚えてしまうという。

      親コメント
  • by Anonymous Coward on 2011年09月06日 13時14分 (#2015258)

    掲載されていた記事の中でも、bit悪魔の辞典は今なを影響を色濃く残す。

  • by kabukiage (33873) on 2011年09月06日 13時26分 (#2015270)

    Code Craft ~エクセレントなコードを書くための実践的技法~ (毎日コミュニケーションズ) ¥ 6,825

    プログラミングは書けるけど中身がちょっと、という人向けに
    Code Completeと一緒に買いましたが、
    言語依存が比較的少ないこともあり
    そういう人向けにはCode Craftの方がいいかな、と思いました。

    ストーリーにはCode Completeが一番目に出てたので参考まで。

  • by Anonymous Coward on 2011年09月06日 13時51分 (#2015288)

    「プログラミングPerl」
    学生の頃から本が物理的に破壊するほどに愛読してます
    赤本を2冊読み潰した後に青本も1冊読み潰して
    今は青本の2冊目が机上にあります

  • by Anonymous Coward on 2011年09月06日 14時30分 (#2015321)

    >もし時間を遡り、開発の世界の入り口に立ったばかりの自分に一冊の本を勧めるとしたら、どんな本にするだろうか?
    作るコンピュータシリーズを手に取ろうとしている自分の前にあらわれて
    「まて、早まるな!」

    #でも没入するほどたのしかったからなぁ、青春の無駄遣いなのでもうちょっと後にしてもいいって意味で何も勧めないというのもありかと

  • by Anonymous Coward on 2011年09月06日 14時30分 (#2015322)

    「TURBO Pascalプログラミング」オーム社 (1990/06) ISBN-10: 427407579

    一応、コレで勉強したクチなんで、多分次もコレでいい気がする。

    但し、TurboPascalがあるならと言う前提で

  • by Anonymous Coward on 2011年09月06日 14時38分 (#2015330)

    「PC-6001 はるみのプログラミング・レッスン」です。

    当時ナイコン族(ふるー)でしたが、何度も読み返して暗記してお店のマイコン(当時)で打ち込んだのが私の原点と考えると、やはり最も影響を受けた本だと思います。

  • by Anonymous Coward on 2011年09月06日 17時13分 (#2015444)

    「UNIXカーネルの設計」「UNIXシステムプログラミング」は影響をうけましたね

    あとは「最前線UNIXカーネル」とか68000の青本とか…

  • by Anonymous Coward on 2011年09月06日 17時48分 (#2015464)

    K&Rじゃチンプンカンプンだった適性の欠けた私でも、なんとかC言語が多少なりとも
    読んで書けるようになった。学生時代に助けられた思い出の書です。

  • by Anonymous Coward on 2011年09月06日 19時07分 (#2015522)

    ケント・ベックの「テスト駆動開発入門」
    にっちもさっちもいかなくなってプログラミングに対してのやる気も失っていた当時の自分。
    最速でテストを通過させるために期待する返り値をハードコーディングする場面を読んだときは、固執していた常識が崩壊。
    今ではテスト通過させるためにはハードコーディングも平気でやれるようになりました。
    (もちろん後でリファクタリングするのが大前提ですが)
    プログラミングの楽しさを思い出させてくれて、開発をすすめるにあたって必要な勇気を取り戻すことができました。
    訳に関しては色々とあるようですが、自分の中では大きな影響を受けた大切な一冊です。
    (ブライアン・カーニハンの「UNIXプログラミング環境」とかアンドリュー・ハントの「達人プログラマー」、それにジョン・ベントリーの「珠玉のプログラミング」も思い出深くて影響は大きかったです。もちろん、「Code Complete」も)

  • by Anonymous Coward on 2011年09月06日 21時40分 (#2015666)

    すべてはこれからはじまった.
    後に判明した機種XとはPC−8001.
    付録についてたキートップの実物大コピーページを貼り合わせて、触ってるつもりになったあの頃.

  • bit誌に載っていたプログラミング問題の問題集。問題を解決するためにどのように発想を広げるかを学びました。

    その前の基礎部分はOh! MZ・Oh! Xにかなり影響されてます。

  • カーニハン&リッチーのプログラミング言語Cもタイトルの本もどちらも学生の頃に読みましたが、当時大学の計算機センターでは汎用機でLispが使えたので、やはりLispになってしまうかなと。
  • by wata (4310) on 2011年09月06日 23時43分 (#2015764)
    内容は既に忘却の彼方だが、アルゴ船のマークに込められた思いに影響を受けたんだと思う。
  • by Egtra (38265) on 2011年09月08日 1時45分 (#2016493)

    「C++の設計と進化」Bjarne Stroustrup 978-4797328547

    これ読んで「一生C++についていくぜ」なんて思ってしまったのが運の尽き。これがなかったら、私はC++にどっぷり浸かってなかったはず。

    プログラミング言語を作ることはかくも様々な事柄を考え込んで作るものなのだと思い知らされた1冊。

  • by Anonymous Coward on 2011年09月06日 13時16分 (#2015263)

    影響を受けたというか、受けさせれたというか…

    # 人生というファイルのコンパイル中です。

  • by Anonymous Coward on 2011年09月06日 14時00分 (#2015295)

    ナツメから出てた**ハンドブックの類いかなぁ。
    若かった頃はあの手のアンチョコを鵜呑みにして多用してて、誤記誤植でさんざん痛い目に遭ったなぁ。
    あれ以降、どんな偉い人が書いた本でも公式リファレンスでも、必ず裏を取って確認するのと、サンプルコードも疑ってかかる癖がついたな。

  • by Anonymous Coward on 2011年09月06日 14時17分 (#2015311)

    トップ5がどれもこれも「開発の世界の入り口に立ったばかりの自分」には向いてなさそうで困る。
    というかC言語とかアルゴリズムなんて、今なら本よりWebで学んだ方がいいんじゃなかろうか。

typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...