またまた続けて軽いネタで。「○○するための○ヶ条」「××しないための×つのルール」のように、何かに関するアドバイスを箇条書き形式でまとめたエントリはアクセスが伸びる……という経験則についてはどっかで書いた気がするのですが、それを極めたエントリを発見。なんと、「『プログラミングに関する10ヶ条』のベスト6」だそうです:
■ Top 6 List of Programming Top 10 Lists (Coding Horror)
リストのリスト、なので「メタリスト」と呼べるでしょうか。とにかく、プログラミングに関するアドバイス集を集めたエントリです。10ヶ条が6つ集められているので、10×6で60個のアドバイスが。こうなるともう、どのアドバイスから実践すればいいか逆に分からなくなると思うのですが……。
しかし「まとめサイト」が役立つことって意外と多いですし、こういう「リストのリスト」というエントリがあってもいいのかも。ブログのネタが無いけど時間はある、という方は、過去に役立ったライフハック系エントリのベスト○○を選んでみても面白いのでは。
せっかくなので、上記の"Top 6 List of Programming Top 10 Lists"、軽く訳しておきます。我ながらヒマな奴だ:
1. Jerry Weinberg: The 10 Commandments of Egoless Programming (身勝手なプログラムを書かないための10ヶ条)
- 自分も間違えることがある、ということを理解して受け入れること
- 君のプログラムは君自身ではない
- いくら何かに詳しくなっても、君以上に詳しい人が常に存在している
- 他人と相談せずにリライトしないこと
- 君より知識がない人でも、敬意を持って、忍耐強く接すること
- この世で変化しないものは、「変化」だけだ
- 権威を生むのは肩書きではなく、知識だ
- 信念のために戦え、しかし敗北はいさぎよく受け入れよ
- 他人と積極的にコミュニケーションせよ
- 責めるなら人ではなくコードを -- 優しく接するならコードではなく人に
2. Dare Obasanjo: Top 10 Signs Your Software Project is Doomed (ソフト開発プロジェクトの破綻を示す10コの兆候)
- 最初のバージョンに多くを求めすぎる
- 出たばかりの技術に大きく依存している
- 社内の他プロジェクト(特に利益率が高いか有力者に支持されているもの)と競合している
- 人が足りない
- 「複雑な問題には複雑な解決策が必要だ」という言葉がまかり通っている
- スケジュール遅延の責任のなすり合いが起きている
- スコープが拡散している
- セカンドバージョンで多くのことを実現しようとしている
- 市場参入戦略がない
- どうやって解決すればいいか分からない問題に取り組んでいる
3. Omar Shahine: Top 10 Tips for Working at Microsoft (or Anywhere Else) (マイクロソフト、もしくはどこか別の会社で働くための10ヶ条)
- 手法があるからといって、考えなくてよいというわけではない
- オフィスの外に行こう
- 君の顧客が使う製品を、君も使ってみよう
- 「壊れている」と文句を言うよりも、それを直す努力をしよう
- 困難な問題は易しくしてみよう -- 易しい問題を難しくしないように
- 仕事に適したコミュニケーションツールを選ぼう
- 間違える方法を学ぼう
- 何事もシンプルに
- 常に付加価値を生もう
- 他人の製品も使おう
4. Michael McDonough: The Top 10 Things They Never Taught Me in Design School (デザインスクールで教えてくれなかった10のこと)
- 才能が成功に占めるのは3分の1だけだ
- どんなにクリエイティブな職業でも、仕事の95%はくだらない内容だ
- 何もかもが重要だというなら、何も重要でないというのと一緒だ
- 問題を考えすぎるな
- 知っていることから始めよ -- そして未知のものを無くすようにせよ
- ゴールを忘れるな
- 「重り」を捨てると、バランスを崩す
- 地獄への道は、善意でできている -- 良い行いだから問題はない、ということはあり得ない
- すべては成果物に現れる
- すべての人々を大切にせよ
5. Andres Taylor: Top 10 Things Ten Years of Professional Software Development Has Taught Me (10年間のソフトウェア開発から学んだ10のこと)
- オブジェクト指向は君が思うより難しい
- ソフト開発で難しいのは、コミュニケーションだ
- 「ノー」と言えるようになろう
- 何もかもが重要だというなら、何も重要でないというのと一緒だ
- 問題を考え過ぎるな
- 何かに深く取り組んでみよう、しかし足止めを食らうことのないように
- 他人がソフト開発上で果たしている役割について学べ
- 同僚は最高の教師だ
- 動くソフトを作ってなんぼ
- 中には最低の奴もいる
6. Steve Yegge: 10 Great Books (偉大な10冊)
- 達人プログラマー
- Refactoring: Improving the Design of Existing Code
- オブジェクト指向における再利用のためのデザインパターン
- Javaスレッドプログラミング
- 詳説 正規表現
- The Algorithm Design Manual
- プログラミング言語C
- The Little Schemer
- コンパイラ―原理・技法・ツール〈1〉/コンパイラ―原理・技法・ツール〈2〉
- WikiWikiWeb
※邦訳されているとおぼしきものについては日本語版を掲載しましたが、詳しくは元記事をご確認下さい。
「偉大な10冊」、2冊目は「リファクタリング―プログラムの体質改善テクニック-」だと思われます。
何故か同じレビューが表示されるし。
投稿情報: Asuka | 2007/03/27 23:13
「偉大な10冊」、8冊目は「Scheme手習い ― 直感で学ぶLisp」
ISBN-10: 4895012913 です。
投稿情報: suchi | 2007/03/28 16:39
Asukaさん、suchiさん、情報ありがとうございました。
仰る通り、2冊の本が対応しているようですね。こういう原本/邦訳の対応って、簡単に調べる方法がないものでしょうか・・・。
投稿情報: アキヒト | 2007/03/29 21:29