プログラミング格言集
psychopathより。
金言、格言は古今東西いろいろあるのだが、ここではプログラミングに関する格言がまとめられていたので、抜粋して翻訳してみる。翻訳に間違い等があった場合は、コメント等で指摘してください。
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil 我々は、97%もの時間を占めているという、わずかな効果(を得るためだけ)の作業はやめるべきだ。尚早な最適化(作業)は諸悪の根源だ。 - C. A. R. Hoare
Walking on water and developing software from a specification are easy if both are frozen 水の上を歩くのと、仕様に基いたソフトウェアを開発するのは容易な事だ。どちらとも凍結しているのであれば。 - Edward V Berard
It always takes longer than you expect, even when you take into account Hofstadter’s Law. 作業にはいつでも予測以上の時間がかかるものである – ホフスタッターの法則を計算に入れても。 - Hofstadter’s Law
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems ある人達が一つの問題に直面した時,彼らは「ああ、正規表現を使えばいいのか.」と考えた。今彼らは二つの問題を抱えている。 - Jamie Zawinski
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. デバッグは最初にコードを書くことの2倍困難だ。 できるだけ賢くコードを書くなら、あなたは定義上それをデバッグできるほど賢くない。 - Brian Kernighan
Measuring programming progress by lines of code is like measuring aircraft building progress by weight. 行数でプログラムの進行状況を知る事は、重さで飛行機の出来上がり具合を知るようなものだ。 - Bill Gates
PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil, perpetrated by skilled but perverted professionals. PHPは小さな悪であり、それは無能なアマチュア達によって創られた。Perlはすばらしく油断のならない悪であり、それはスキルがある変態的なプロフェッショナルによって創られた。 - Jon Ribbens
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. 常に、結局あなたのコードを保守することになる人があなたがどこに住んでいるか知っている狂暴なサイコパス(精神異常者)であると思って、コードを書きなさい。 - Rick Osborne
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. 今日のプログラミングは、より簡単に誰にでも扱えるプログラムを作ろうとするエンジニアと、より愚かな(操作)者を生み出そうとする大宇宙との競争だ。今のところ宇宙が勝っている。 - Rich Cook
I don’t care if it works on your machine! We are not shipping your machine! それがあなたのマシンで動くかどうかは気にかけてない! 私たちはあなたのマシンを出荷していないのだ! - Ovidiu Platon
I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone. 電話と同じくらいコンピュータが簡単になることを常に望んでいる。私はもう電話の使い方が理解できないので、私の願望は達成した。 - Bjarne Stroustrup
A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila. コンピュータは、人類がいままで発明してきたものの中で最も速く多くの誤りを犯す事ができる。例外があるとすればピストルかテキーラくらいだろう。 - Mitch Ratcliffe
If debugging is the process of removing software bugs, then programming must be the process of putting them in. デバッグがソフトウェアのバグを取り除くプロセスなのであれば、プログラミングとはバグを入れ込むプロセスだ。 - E. W. Dijkstra
In theory, theory and practice are the same. In practice, they’re not. 理論的には、理論と実際は同じなのだが、実際はそうではない。 - Yoggi Berra
Perl – The only language that looks the same before and after RSA encryption. Perl – RSA暗号化する前と後で同じに見える唯一の言語。 - Keith Bostic
Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders すべてのプラットホームで動くからJavaが良いと言うのは、すべての性別で可能だからアナルセックスが良いと言っているようなものだ。 - Unknown
XML is like violence – if it doesn’t solve your problems, you are not using enough of it. XMLは暴力に似ている–それがあなたの問題を解決しないならば、あなたはXMLを十分に多用していない。 - Unknown
Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer. 神は気まぐれではないので、アインシュタインは、自然に関する簡略化された説明があるに違いないと主張した。 そのような信条はソフトウェア技術者の慰めにならない。 - Fred Brooks
05/17 6:00 修正
コメント欄の意見を参考に、大幅に修正しました。
Comments
27 Responses to “プログラミング格言集”
Leave a Reply





typo発見? → 変態的なプロジェッショナル
格言楽しく読ませていただきました。
タイプミスと思われるところを見つけたので報告させていただきます。
>PHPは小さな悪であり、それは無能なアマチュア達によって創られた。Perlはすばらしく油断のならない悪であり、それはスキルがある変態的なプロジェッショナルによって創られた。
プロジェッショナル ⇒ プロフェッショナル
ふぁらお加藤さん ハゲと戦う頭部戦線司令官さん
ご指摘ありがとうございます。修正しておきました。
我々は、97%もの時間を占めているという、わずかな効果(を得るためだけ)の作業はやめるべきだ。尚早な最適化(作業)は諸悪の根源だ。
ホフスタッターの法則を考慮していてさえ(なお)予想以上の時間がかかる。
今日のプログラミングは、より簡単に誰にでも扱えるプログラムを作ろうとするエンジニアと、より愚かな(操作)者を生み出そうとする大宇宙との競争だ。今のところ宇宙が勝っている。
デバッグがソフトウェアのバグを取り除くプロセスなのであれば、プログラミングとはバグを入れ込むプロセスだ。
理論的には、理論と実際は同じなのだが、実際はそうではない。
英語には全く自信がないのですが、分かる範囲で解釈がおかしい気がするところを探してみました。
>私たちは、時間の約97%を占めるわずかな効率に関しては忘れるべきである: 時期尚早な最適化は諸悪の根源だ。
少しの効率のことは忘れ、時間の約97%について語るべきである: 時期尚早な最適化は諸悪の根源だ。
>あなたのコードを保守する人が、あなたがどこに住んでいるかを知っている乱暴な精神病質者のごとく襲ってくる。
常に、結局あなたのコードを保守することになる人があなたがどこに住んでいるか知っている狂暴なサイコパスであると思って、コードを書きなさい。
>デバッグがソフトウェアのバグを取り除くプロセスであれば、プログラミングには、そのプロセスを取り入れなければならない。
デバッグがソフトウェアのバグを取り除くプロセスであれば、プログラミングはそれを注入するプロセスであるに違いない。
参考になれば幸いです。
>デバッグがソフトウェアのバグを取り除くプロセスであれば、
> プログラミングには、そのプロセスを取り入れなければならない。
プログラミングはバグを注入するプロセスである。
XML is like violence – if it doesn’t solve your problems, you are not using enough of it.
> XMLは暴力に似ている?それがあなたの問題を解決しないならば、
> あなたは十分に使いこなしていない。
「あなたはXMLを十分に多用していない」かな。
要は「殴り足りない」みたいな・・・。
> A computer lets you make more mistakes faster than any other invention in > human history, with the possible exceptions of handguns and tequila.
> コンピュータは、ピストルとテキーラが引き起こした出来事以上に、
> ヒトの歴史におけるいかなる他の発明よりも速くさらに多くの誤りを犯す事ができる
exceptionsが、例外(TypeErrorとかの)とかけてあるんだろうけど、うまい焼くが思いつかない・・・。「拳銃・テキーラ例外」を連想させたいのだろう。
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
デバッグがソフトウェアのバグを取り除くプロセスであれば、プログラミングには、そのプロセスを取り入れなければならない。
- E. W. Dijkstra
them は software bugs ですので,
デバッグがソフトウェアのバグを取り除くプロセスであれば、プログラミングはそれらを埋め込む作業に他ならない。
です
なんかいろいろ誤訳があるのが惜しいのですが、一番気になったのは
> If debugging is the process of removing software bugs, then programming must be the process of putting them in.
「デバッグがバグを取り除く作業であるのなら、プログラミングとはバグを作りだす作業なのだろう。」
Hoare:
97% うんぬんは, 開発に 100 日かけるならそのうち 97 日間は
最適化のことなんて忘れろ, だったりしませんか? (say は「たとえば」)
ホフスター → ホフスタッター. 正しそうな訳は wikipedia などにありますね.
Zawinski:
a problem だったのが two problems になった, という皮肉では?
Osborne:
(あたかも)…であるかのように(心積りして)コーディングせよ.
Dijkstra:
…プログラミングとはバグを注入するプロセスのことに違いない, とか.
Berra:
二箇所の practice を同じ言葉に訳さないと…
上の人もいってるけど、ダイクストラのは誤訳
process of putting them in. の them はバグのことでしょう。
Hofstadter は普通、ホフスタッターって読む。ちなみに、ホフスタッターの法則は、こんな感じ。
http://www.yamdas.org/column/technique/19laws.html
作業にはいつでも予測以上の時間がかかるものである – ホフスタッターの法則を計算に入れても。
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
は、
「(作業には)いつもあなたが想像するよりも時間がかかる。これはホフスタッターの法則を考慮に入れてもあてはまる。– ホフスタッターの法則」
というような意味です。再帰ですね。
今までにないくらいのコメントが。ありがとうございます。
すべて反映させておきました。
格言の翻訳って難しいですね。
訳が違うような気がします。
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
デバッグがソフトウェアのバグを取り除くプロセスであれば、プログラミングには、そのプロセスを取り入れなければならない。
→
もしデバッグがソフトウェアのバグを削除するプロセスなら、プログラミングはバグを挿入するプロセスに違いない。
先ほどのはすでに修正されていました。すみません。
ついでにもう一つ。have wishedで現在完了なので。
I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.
電話と同じくらいコンピュータが簡単になることを常に望んでいる。私はもう電話を使い方が理解できないので、私の願望は達成した。
→
私は自分のコンピュータが自分の電話と同じくらい簡単になることをずっと望んできた。私の願いは叶った。私はもう自分の電話の使い方がわからなくなったので。
自分がぼけたのか、電話が高機能化したのか、後者だとは思いますが、両方の可能性がありますね。
もう一つおまけ。
bigger and better idiotを同じように訳したいです。
idiotをどう訳すか。とりあえずバカにしておきます。
1回目のbigger and betterはidiotに係るのか、programsに係るのか、
微妙なので、日本語でも曖昧に訳すしかないですね。
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
今日のプログラミングは、より簡単に誰にでも扱えるプログラムを作ろうとするエンジニアと、より愚かな(操作)者を生み出そうとする大宇宙との競争だ。今のところ宇宙が勝っている。 – Rich Cook
→
今日のプログラミングは、より大きくより良いバカでも使えるプログラムを作ろうと懸命に努力するソフトウェアエンジニアと、より大きくより良いバカを生み出そうとする大宇宙との競争だ。今のところ宇宙が勝っている。 – Rich Cook
私はもう電話を使い方が
↓
私はもう電話の使い方が
面白い記事の紹介,翻訳ありがとうございます.
さて,自分も誤訳と思われる所を数箇所見つけたので指摘させていただければと思います.
A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila.
はコンピュータはどんな発明より早く過ちを起こす事が出来て,その「どんな発明」
の例外がピストルとテキーラであるかもしれないというので,「ピストルとテキーラが引き起こした出来事以上」はニュアンスがちょっと違うように思います.
それを踏まえた上で訳するとすれば以下のようになるのではないでしょうか
コンピュータは、人類がいままで発明してきたものの中で最も速く多くの誤りを犯す事ができる。例外があるとすればピストルかテキーラくらいだろう.
もうひとつ.
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems
は正規表現によって問題が増えたという事を言いたいので,以下のように約するのが適切ではないでしょうか.
ある人達が一つの問題に直面した時,彼らは「ああ、正規表現を使えばいいのか.」と考えた.今彼らは二つの問題を抱えている。
ありがとうございます、再び修正しました。
ここまでくると、公開デバッグですね(笑)
行数でプログラムの進行状況を知る事は、重さで飛行機の出来上がり具合を知るようなものだ。
プログラミング格言集より
すばらしいリストをありがとう。
ttp://hp.vector.co.jp/authors/VA000092/jokes/index.html
[...] られていたので、抜粋して翻訳してみる。翻訳に 間違い等があった場合は、コメント等で指摘してください。We should forget a bout small efficiencies, say about 97% of the time: premature… original article [...]
[...] プログラミング格言集 http://blog.cnu.jp/2009/05/16/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%a0%bc%e8%a8%80%e9%9b%86/ ある人達が一つの問題に直面した時,彼らは「ああ、正規表現を使えば [...]
この「about 97% of the time」は、(ひょっとしたら「プログラムの実行時間」とかけたダジャレも少し入っているかもしれませんが、普通の英語として第一義的には)「most of the time」などと同様、「97%ぐらいの確率で」(=100回中97回ぐらいは)という意味だと思います。
http://eow.alc.co.jp/%22of+the+time%22
http://www.google.com/search?q=%22percent+of+the+time%22
などもご参照ください。
> sumiiさん
なるほど。そこまで機転がまわらなかったですね。検討してみます。
面白い記事ありがとうございます!
まだコメントに出ていないところで言うと、
the Universeは、大宇宙じゃなくて全人類だと思います。
他にもちょこちょこ訳してみたのでご参考になればと思います。
http://d.hatena.ne.jp/kiyo560808/20090518/1242658608