Archives | Tumblr | Facebook | bullet-feed.pngRSS

心に響く、プログラム、コンピューターに関する優れた格言、名言

 何度か紹介している下記の"Stack Overflow"は、エンジニアのためのQ&Aサイトです。

 » Stack Overflow

 このサイトの、人気があるQAの中で、"great programming quotes(凄いプログラミングの格言)"と言うのがありましたので、その中から、特に心に響いたものを抜粋して和訳します。

 » Great programming quotes - Stack Overflow

 <余談>記事を投稿しようとしたら、このQAに掲載されている格言とオーバーラップしている全く別の記事を見つけてしまいました。しかも、すでに和訳されている文章がかなりあります。まぁ、ここまで作って、途中でやめるわけにも行かなかったので、このまま投稿しようと思います。今回掲載する訳文については、一応、自ら訳したオリジナルです。</余談>

Hofstadter's Law:
It always takes longer than you expect, even when you take into account Hofstadter's Law.
 ( ホフスタッターの法則:作業は、いつだって予測以上に時間がかかるものだ。ホフスタッターの法則を計算に入れても。)

 格言が再帰してます。

Walking on water and developing software from a specification are easy if both are frozen.
-- Edward V Berard
 (水の上を歩くのと、仕様からのソフトウエア開発は、簡単だ。・・・両方とも凍っているならの話だが。)

 「凍っちゃってる仕様は、作ってもあまり意味が無い。」って話もあるけども。

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.
-- Brian Kernighan
 (デバッグ作業は、最初にコードを書くときよりも倍難しい。したがって、自らの知恵を出来る限り振り絞って書いたコードは、その定義上、自分自身でデバック出来ない。)

 何にでも余力は必要。

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
-- Rick Osborne
 (コーディングは常にこう、心がけるのだ。出来上がったコードを最後にメンテナンスするのが暴力的な精神病者で、そして、君の住所を知っていると。)

 コードやコメントに、証拠や個性を残すべからず。

The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
--Tom Cargill
 (初めの90%のコードは、開発時間の90%を占める。残りの10%のコードは、他の90%の開発時間を占める。)

 足したら180%。

 これは、下記の格言からの変形。

The first 90% of the code accounts for the first 10% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."
-- Jon Bentley
 (初めの90%のコードは、開発時間の10%を占める。残りの10%のコードは、他の90%の開発時間を占める。)

 これでも十分、心に響く。

Java is to JavaScript what Car is to Carpet.
 (JavaScriptにとってのJavaは、「カーペット」にとっての「カー」。)

 格言と言うか、ジョークの類かも。

 追加で、下記のサイトからの格言を、いくつか抜粋して訳します。

 » 101 Great Computer Programming Quotes

There are only two kinds of programming languages: those people always bitch
about and those nobody uses.
-- Bjarne Stroustrup)
 (この世には、2種類のプログラミング言語しかない。皆が常に不平を言う言語と、誰も使わない言語。)

 言語に限らず何にでも当てはまる。

The trouble with programmers is that you can never tell what a programmer is doing until it's too late.
-- Seymour Cray
 (プログラマーの困った点は、手遅れになるまで、何をしているか、けして分からないことだ。)


 ぐさり。

Don't worry if it doesn't work right. If everything did, you'd be out of a job.
-- Mosher's Law of Software Engineering
 (うまく行かなくても気にするな。全部うまく言ったら、君の仕事はなくなるのだから。)

 自分(もしくは、誰か)が掘った穴を自ら埋める。これがすなわち仕事。

First, solve the problem. Then, write the code.
-- John Johnson
 (まずトラブルを解決し、それからコードを書け。)

 理想:コードとは、仕様を書き落とした物。

To iterate is human, to recurse divine.
-- L. Peter Deutsch
 (繰り返し処理は人の技。再帰的呼び出しは神の業。)

 再帰は、時に人智を超える。

There is no programming language--no matter how structured--that will prevent programmers from making bad programs.
-- Larry Flon
 (下手なプログラムの作成を防げるプログラミング言語は存在しない。たとえどんなに構造化されていても。)

 そして、構造化されすぎた言語は、誰も使いこなせない。

Writing in C or C++ is like running a chain saw with all the safety guards removed.
-- Bob Gray
 (C言語やC++で書くと言う事は、まるで、全ての安全装置が取り外されたチェーンソーで作り上げるようなものだ。)

 斧とも言う。サーバーを真っ二つに割るくらい酷くなる事も。

Good code is its own best documentation.
-- Steve McConnell
 (優れたコードは、コード自身が最良のドキュメントとなっている。)

 優れすぎたコードは、凡人には理解できない、という話もある。

You can't have great software without a great team, and most software teams behave like dysfunctional families.
-- Jim McCarthy
 (素晴らしいチームなしに、素晴らしいソフトウェアは生み出せない。そして、大部分の開発チームは機能不全の家族のように振舞う。)

 確かに。酷いと家出とか引きこもりなど、発生するね。

If debugging is the process of removing bugs, then programming must be the process of putting them in.
-- Edsger W. Dijkstra
 (デバッグ作業が、バグを取り除く過程であるならば、プログラミングとは、バグを入れ込む過程でないとおかしい。)

 リリースとは、「バグ」を「仕様」に変化させる工程である。

But what is it good for?
-- Engineer at the Advanced Computing Systems Division of IBM, commenting on the microchip, 1968
 (で、それは何に使えるの?)

 苦労すればするほど、元のコンセプトから外れていく。

2009.5.23追記
 コメントでアドバイスいただいた点を一部直しました。ありがとうございます。

このエントリーをはてなブックマークに追加

関連性が高いおすすめ記事


comments powered by Disqus