読者です 読者をやめる 読者になる 読者になる

技術に関する書籍からの引用

知人に『計算機プログラムの構造と解釈』という本を紹介してもらった。読み始めて、この本がMITの計算機科学学科で使われている教科書だと知った。こんな高尚な本を紹介されると、期待に応えるために頑張ろうと勝手に思ってしまう。

www.amazon.co.jp

 

技術が夢を解釈するなら、計算機はプログラムを装って夢を実行するであろう。

If art interprets our dreams, the computer executes them in the guise of programs!

 

ハードウェア技術のブレークスルーは、更に巨大なプログラム事業、新しい組織化原理と豊かな抽象モデルをもたらす。読者は繰り返し「何のため?何のため?」と問うべきである。ーしかし、ほろ苦い哲学による便秘のためにプログラムの楽しみを放棄するといけないから、あまり頻繁に問うてはならない。

Each breakthrough in hardware technology leads to more massive programming enterprises, new organizational principles, and an enrichment of abstract models. Every reader should ask himself periodically ‘‘Toward what end, toward what end?’’ -- but do not ask it too often lest you pass up the fun of programming for the constipation of bittersweet philosophy.

 

われわれの書くプログラムの中には、(さほど多くはないが)数の並びのソートや最大値探し、素数性の決定、平方根の計算のような厳密な数学関数を実行するのがある。そういうプログラムをアルゴリズムといい、その最適な振る舞い、特に実行時間データの記憶容量という二つの主要なパラメタに関して多くの知見がある。プログラマは優れたアルゴリズムと成句を獲得すべきである。 プログラムによっては精密な記述に抵抗するものもあるが、その性能を見積もり、常に改善に努めるのはプログラマの責任である。

 

ソフトウェアは他のものと違うということ、それは捨てられるものだということ、要するにそれをいつもシャボン玉としてみることは可能だろうか?

Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to always see it as a soap bubble?

 

Alan J Perlis

Structure and Interpretation of Computer Programs