最も影響を受けたプログラミング本は? 84
ストーリー by reo
一緒に勉強してくれる友達が一番大事 部門より
一緒に勉強してくれる友達が一番大事 部門より
cheez 曰く、
本家 /. 記事「What Is the Most Influential Programming Book?」より。
もし時間を遡り、開発の世界の入り口に立ったばかりの自分に一冊の本を勧めるとしたら、どんな本にするだろうか?
この質問は Q&A サイト StackOverflow では 2008 年に立てられて以来、歴代第 2 位の人気トピックとなっている。このサイトでは
- 「Code Complete 2nd Edition (邦題: Code Complete 第 2 版―完全なプログラミングを目指して)」
- 「The Pragmatic Programmer: From Journeyman to Master (邦題: 達人プログラマーシステム開発の職人から名匠への道)」
- 「Structure and Interpretation of Computer Programs (邦題: 計算機プログラムの構造と解釈)」
- 「The C Programming Language (邦題: プログラミング言語C)」
- 「Introduction to Algorithms (邦題: アルゴリズムイントロダクション)」
の 5 冊がトップ 5 となっている。
/.Jer の皆様のセレクションを以下にぜひ。
Rapid Develpment(邦題:ラピッドデベロップメント) (スコア:5, 参考になる)
一位の「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]
プログラム書法 第2版 (スコア:4, 参考になる)
プログラム書法 第2版
Brian W.Kernighan (著), P.J.Plauger (著), 木村 泉 (訳) 共立出版 1982年 3,000円 ISBN4-320-02085-5
古典でゴメンネ
同グループの『プログラム作法』 (スコア:2)
Brian W.Kernighan, P.J.Plauger (1981) 『ソフトウェア作法』 木村 泉 訳、共立出版、ISBN:4320021428。
テキストを扱うフィルター系の Unixコマンドに相当するものを 作りながら、いいプログラムの書き方を学ぶことになります。 C に似た、 Ratfor という Fortran にプリプロセッサをかけた言語を使っています。
Re:同グループの『プログラム作法』 (スコア:1)
その昔ある本屋さんで 行儀作法 の棚に置いてあったとか...
Re:同グループの『プログラム作法』 (スコア:1)
『プログラミング書法』は Fortran と PL/I [lbm.go.jp] です。 『ソフトウェア作法』は、 ratfor [lbm.go.jp]です (B.W.Kermighan, RATFOR -- A Preprocessor for a Rational Fortran [mit.edu], 1977)。
ここはひとつ、変なものを… (スコア:4, 興味深い)
「AWKを256倍使うための本」
これを読むまで、とにかくCPUパワーを最大限に使い切る事をものすごく重視していた。
アセンブラとか、「ほとんど動く事がない、初期化とか例外的な部分を書くための言語としてのC言語」とか。
でも、この本を読んで
「計算機パフォーマンスを最大化しないとしても、私の苦労を最小化させるなら、それはそれで有りだ」
と考えるようになった。
計算機に面倒を押し付けるようになったら、いろいろ時間に余裕ができたので、調べ物をする暇ができた。
結果として「コンパイラの気持ち」がよりよく判るようになったので、最適化がかかりやすいコードを書くようになった。
計算機パワーを最大限利用する能力がさらに上がった。
というわけで、「自分の苦労を最小化させる」ための勉強は「計算機を最大のパフォーマンスで利用する」事と表裏一体だ、と理解できるようになった。
めでたし、めでたし。
fjの教祖様
Re:ここはひとつ、変なものを… (スコア:1)
座布団1枚!
文芸的プログラミング (スコア:3)
特に「go to文を用いた構造的プログラミング」の章。
UNIX User's Reference Manual (スコア:3)
やっぱりエロか (スコア:2)
やっぱり「はじめてのC」でしょう。あちこちでネタにされましたね。
#パソコン書籍の棚にSEXハウツー本があるとか
あとプログラミング本といえるかわからないけど、MZ-731のマニュアルに載ってたBIOSのソースは
Oh!MZのZ80マシン語解説記事片手に必死になって読んでたっけ。
#クロック数を指折り数えてた時代が一番幸せだったかもgesaku
Re:やっぱりエロか (スコア:2)
721ユーザからは羨望の731…
まあBIOSソースは721にも付いてきたので関係ないか…
MZ-700付属の読み物とOh!MZだけあればだいたいなんでもできたのはいい時代だ…
昔話をするとつい三点リーダがw
Re:やっぱりエロか (スコア:2)
工学社のI/O誌かと思ってみた<エロ
#そういう頃は知らないんだけど
アルゴリズムとデータ構造 (スコア:2)
自分が影響を受けたのは
「Cプログラマのためのアルゴリズムとデータ構造」
かな。
ずっとこれを読んで勉強していました。
今じゃあまり読まれないのかな?
Re: (スコア:0)
惜しいのは正規表現のところで構文解析がぜんぜん説明されてないことですね。
self-containedは大変ですが、もうちっと何かあっても。
何がすごいって (スコア:2, すばらしい洞察)
トップ5のすべてに邦訳があること。
あまりに恵まれすぎているので日本人プログラマーは英語が読めなくなる。
Cプログラミング診断室 (スコア:2, 興味深い)
影響を受けたと言うとすれば、この本だなあ。スマートなコードを書くべきだという思想を刷り込まれたよ。
ある程度知識を得ると、モノを距離を置いて見るようになって、あまり鮮烈な影響は受けなくなるよね。
ピュアでなくなるとか、鈍くなるとも言う。
Cプログラミング専門課程 (スコア:2)
機械語を理解できたので..... (スコア:2)
私の場合は工学社の「Z80マシン語入門」ですね、ただし兄の本w
分厚いペーパバックの本にぎっしりとコマンドの内容やレジスタの使い方
ビット操作や論理演算の方法などがわかって
CPUというのはこんな考え方で計算しているのかと理解できた訳です
# ただし、割り込みで挫折w
プログラムはしなくなったが、あの本で考え方の基礎を身に付けたかもなぁ(`・ω・´)
コンプティーク (スコア:2, おもしろおかしい)
袋とじとゲーム改造の記事が無かったらこの世界にはいなかった・・・はず。
Re:コンプティーク (スコア:2)
それはつまりエロゲ魔改造で意気投合した Anonymous Coward 氏のご両親がやがて結婚して Anonymous Coward 氏が生まれたとか、Anonymous Coward 氏の父君が ED (*1) で悩んでいたところ、Anonymous Coward 氏の母君がそっとエロゲ魔改造記事を差し入れたところ Anonymous Coward 氏着床とかそういう意味での「この世界にはいなかった」ということでしょうか。けだし美談。
(*1) erectile dysfunction ではなく extreme development
Hiroki (REO) Kashiwazaki
はじめて読む(ASCII) (スコア:2)
「はじめて読む8086」
「はじめて読むMASM」
入門書としては良書。
「はじめて読むマシン語」
「はじめて読むアセンブリ」
このあたりはさすがに古すぎた。
「はじめて読む486」
ちょっと難しすぎた。今なら読めそうなんで引っ張り出してこようかな。
「はじめて読むPentium」
こんなん出てたんだ・・・
C++脱初心者を目指す頃に (スコア:2)
Effective C++
を楽しんだ。
ゲーム開発方面の話としては
Game Programming Gems
とかも楽しめた。
読んで楽しめた本が重要だと思う。
k&r (スコア:2)
様々な蒙を開いてました。
・誰もが知っていて、誰もが持っている本でも、誰もが読んでいるとは限らない
・大切な事をシンプルに書いただけでは、読者に伝わるとは限らない
・余計な文章の付いていないリファレンスは便利
・練習問題は読み飛ばされる
Kent Beckの「XPエクストリーム・プログラミング入門」 (スコア:2)
ソフトウェアをどう開発するかを議論が盛り上げた出発点になった本だと思います。
職人芸でいけいけどんどんでもない、コードを一行追加するごとにドキュメントをいちいち更新して上司に込み入った報告するでもない、正しい開発アプローチはなにかを考えるのにすごくいいメソッド集です。
ベーマガとポケコンジャーナルです (スコア:1, 興味深い)
一番影響を受けたものを、読まなきゃよかったと後悔してる人だっているんだ。
#もっと早くUNIXでFOSSな時代が来てればなぁ。
MSX・FANと「Z80マシン語秘伝の書」です (スコア:2)
読んでいなかったら間違いなくこの業界には来なかった、という人もいるでしょうからねぇ…
#私の場合、MSXに触れたのが早すぎて「もしMSXに触れていなかったら」というシミュレーションがほぼ不可能だったり。
Re:ベーマガとポケコンジャーナルです (スコア:1)
読まなきゃよかったとは思っていないとしても。
ある程度分かってから読まないと、真価が発揮されなかったり、そもそもちんぷんかんぷんな本だってある。
それを、入口に立った段階で読むべきかどうかってのは、ちょっと微妙だと思うな。
1を聞いて0を知れ!
Re:ベーマガとポケコンジャーナルです (スコア:1)
あの頃はバッ活も購読していて、投稿が欄外採用された事もあるけど。
あえて書名は書かないけれど (スコア:1)
入門に読んだ本(というよりムック)の作者が自分も初心者だから鵜呑みにするなと開き直ってて、
実際に素人の自分にもすぐ判る間違いや勘違いがそこかしこに散りばめられていたおかげで、
大元のマニュアルや複数の参考資料を当たる習慣、
実際に書いて動かす習慣、
必要な動作ばかりでなく、条件を変えて試し境界を探る習慣が身についたのは大きな収穫だったと思っています。
だから「この一冊」は存在しませんね。全て「複数の参考になった資料」のひとつでしかない。
Re:あえて書名は書かないけれど (スコア:1)
以前、MSDNのサンプルコードと似てますね。
持ってくると、大抵コンパイルエラーやランタイムエラーが出て、そのエラーを取るためにコードのあちこちをしっかり読むことに。
そしてデバッグを終えるころにあら不思議、Win32の事をまた1つ2つ覚えてしまうという。
bit (スコア:1)
掲載されていた記事の中でも、bit悪魔の辞典は今なを影響を色濃く残す。
Code Craft (スコア:1)
Code Craft ~エクセレントなコードを書くための実践的技法~ (毎日コミュニケーションズ) ¥ 6,825
プログラミングは書けるけど中身がちょっと、という人向けに
Code Completeと一緒に買いましたが、
言語依存が比較的少ないこともあり
そういう人向けにはCode Craftの方がいいかな、と思いました。
ストーリーにはCode Completeが一番目に出てたので参考まで。
ラクダ本 (スコア:1)
「プログラミングPerl」
学生の頃から本が物理的に破壊するほどに愛読してます
赤本を2冊読み潰した後に青本も1冊読み潰して
今は青本の2冊目が机上にあります
ここまでなかったのでかいちゃうのだ (スコア:1)
>もし時間を遡り、開発の世界の入り口に立ったばかりの自分に一冊の本を勧めるとしたら、どんな本にするだろうか?
作るコンピュータシリーズを手に取ろうとしている自分の前にあらわれて
「まて、早まるな!」
#でも没入するほどたのしかったからなぁ、青春の無駄遣いなのでもうちょっと後にしてもいいって意味で何も勧めないというのもありかと
内田智史先生万歳 (スコア:1)
「TURBO Pascalプログラミング」オーム社 (1990/06) ISBN-10: 427407579
一応、コレで勉強したクチなんで、多分次もコレでいい気がする。
但し、TurboPascalがあるならと言う前提で
最近実家の倉庫から発掘した (スコア:1)
「PC-6001 はるみのプログラミング・レッスン」です。
当時ナイコン族(ふるー)でしたが、何度も読み返して暗記してお店のマイコン(当時)で打ち込んだのが私の原点と考えると、やはり最も影響を受けた本だと思います。
プログラミング言語Cは鉄板として (スコア:1)
「UNIXカーネルの設計」「UNIXシステムプログラミング」は影響をうけましたね
あとは「最前線UNIXカーネル」とか68000の青本とか…
C実践プログラミング(Practical C Programming) (スコア:1)
K&Rじゃチンプンカンプンだった適性の欠けた私でも、なんとかC言語が多少なりとも
読んで書けるようになった。学生時代に助けられた思い出の書です。
テスト駆動開発入門 (スコア:1)
ケント・ベックの「テスト駆動開発入門」
にっちもさっちもいかなくなってプログラミングに対してのやる気も失っていた当時の自分。
最速でテストを通過させるために期待する返り値をハードコーディングする場面を読んだときは、固執していた常識が崩壊。
今ではテスト通過させるためにはハードコーディングも平気でやれるようになりました。
(もちろん後でリファクタリングするのが大前提ですが)
プログラミングの楽しさを思い出させてくれて、開発をすすめるにあたって必要な勇気を取り戻すことができました。
訳に関しては色々とあるようですが、自分の中では大きな影響を受けた大切な一冊です。
(ブライアン・カーニハンの「UNIXプログラミング環境」とかアンドリュー・ハントの「達人プログラマー」、それにジョン・ベントリーの「珠玉のプログラミング」も思い出深くて影響は大きかったです。もちろん、「Code Complete」も)
NHKの“パソコン入門”のTVテキスト (スコア:1)
すべてはこれからはじまった.
後に判明した機種XとはPC−8001.
付録についてたキートップの実物大コピーページを貼り合わせて、触ってるつもりになったあの頃.
ナノピコ教室 / 続 (共立出版) (スコア:1)
bit誌に載っていたプログラミング問題の問題集。問題を解決するためにどのように発想を広げるかを学びました。
その前の基礎部分はOh! MZ・Oh! Xにかなり影響されてます。
ウィンストンのLisp入門 (スコア:1)
MZ80-C付属BASICのマニュアル (スコア:1)
Re:MZ80-C付属BASICのマニュアル (スコア:1)
同様にPC-8801付属のN88-BASICのマニュアル。
スパゲッティプログラムがどうやって作られるのか、その一部始終を体験できました。
C++の設計と進化 (スコア:1)
「C++の設計と進化」Bjarne Stroustrup 978-4797328547
これ読んで「一生C++についていくぜ」なんて思ってしまったのが運の尽き。これがなかったら、私はC++にどっぷり浸かってなかったはず。
プログラミング言語を作ることはかくも様々な事柄を考え込んで作るものなのだと思い知らされた1冊。
母子手帳かな (スコア:0)
影響を受けたというか、受けさせれたというか…
# 人生というファイルのコンパイル中です。
逆の意味で影響を受けた本なら (スコア:0)
ナツメから出てた**ハンドブックの類いかなぁ。
若かった頃はあの手のアンチョコを鵜呑みにして多用してて、誤記誤植でさんざん痛い目に遭ったなぁ。
あれ以降、どんな偉い人が書いた本でも公式リファレンスでも、必ず裏を取って確認するのと、サンプルコードも疑ってかかる癖がついたな。
入り口…? (スコア:0)
トップ5がどれもこれも「開発の世界の入り口に立ったばかりの自分」には向いてなさそうで困る。
というかC言語とかアルゴリズムなんて、今なら本よりWebで学んだ方がいいんじゃなかろうか。
はじめてのC (スコア:2, おもしろおかしい)
しまった、CのHowTo本じゃねえ!
Re:一番は (スコア:1)