ソフトウェア開発におけるあらゆることは、既に発明されてしまっています。人々は、それを再発見し、あたかも初めて見つけたかのようなフリをしているだけです。あなたがかっこよくて新しいと思ったものはすべて、Smalltalk、HAKMEM(訳注 : MIT AI研究所で書かれた、アルゴリズムや理論などが書かれたメモ。Wikipedia英語版)、Ivan Sutherland(訳注 : Wikipedia日本語版)、Douglas Engelbart(訳注 : Wikipedia日本語版)、初期のIBM、あるいはBell Labsからのコピーでしかありません。
コンパイラーを信じてはいけません。ツールを信じてはいけません。ドキュメントを信じてはいけません。自分のことも信じてはいけません。
もうこれ以上コンピュータ言語はいりません。しかし、あなたはすぐに新しい言語を作ってしまうでしょう。予想するに、その新しいすごい言語は、IEEE-754の規格(訳注 : Wikipedia日本語版)と、固定長の整数を使うはずです。つまり、あなたの新しい言語は壊れてます。
コードをメンテナンスするのは、コードを書くより大変です。たくさんコードを書くことはつまり、怠けていることを意味します。
あなた方は皆、メモリー、プロセッサー時間、ネットワークの帯域といったものはすべて無料で、無限にある前提でプログラミングを教わってきたでしょう。そんなことはありません。そんなことはありません。そんなことあるわけないんです。Knuthのpremature optimizationに関する段落(訳注 : Donald Knuthによる有名な格言「早すぎる最適化は諸悪の根源(premature optimization is the root of all evil)」が書かれた論文の該当する段落のこと)の残りの部分を読みましょう。
数ヶ月したら、自分が書いたコードが何をするものかも忘れてしまうでしょう。バカみたいに読みやすくしておきましょう。
必要なのはsedのワンライナーだけということだってあります。
「自分のメソッドはお前のよりも常にいいんだ」といったように決めつけで話すプログラマーは警戒しましょう。プログラミングはアートであって、宗教ではありません。
決まった手順を10回以上やることが分かっているなら、自動化しましょう。
バックアップとリストアはまったく別のことです。
自分のマシン上で動いたからといって、バグがないことにはなりません。 --Piers Sutton
開発ツールをはインストールする前に、最初のマイナーリリースまで様子を見ましょう。誰か他の人に実験台になってもらいましょう。
良いプログラマーは良いコードを書きます。素晴らしいプログラマーはコードを書きません。禅プログラマーはコードを削除します。
何人の管理職が騒ぎ立てていようと、最初にやることは確実にバグを再現することです。
遅かれ早かれ、長らく業界にいる年寄りに出会うでしょう。いつかその人は「プログラミングの法則」について教えてくるはずです。そういう人は完全に無視しましょう。