プログラマーの朝礼
【4月の名言】あなただけができることをやりなさい
エズガー・ダイクストラ ( Edsger Wybe Dijkstra )
ダイクストラと言えば「GOTO有害説」で有名な人物です。彼は、1968 年に執筆した「Go To Statement Considered Harmful」 の中で、GOTO文の使用は避けるべきであるとの持論を展開しました。この「GOTO有害説」は、後の世の研究者やエンジニアに多大な影響を与える事になります。また、彼は、最短経路問題の「Dijkstra法」や、排他制御の「セマフォ」の考案者としても知られている人物です。
最近の若い人に「GOTO文」と言っても「ピン」とこないかもしれません。ダイクストラは、プログラミングがまだ「職人芸」だった1970年以前から、ソフトウェアの品質に関する観点に着目し、プログラムからGOTO文を排除すべきであるとの考え方を示していました。この「GOTO有害説」こそが、「構造化プログラミング」への潮流を生み出したと言っても過言ではないでしょう。そして、「構造化プログラミング」は現代主流の「オブジェクト指向プログラミング」へと引き継がれる事になります。
ダイクストラは、テキサス大学の記念講演の中で、若い研究者に対して:
と説いたそうです。誰かから聞いたような文句ですが、ダイクストラが言ったからこそ重みがあります。同じ文句でも真に尊敬する人から聞くとその重みも違ってきます。ダイクストラは当時流行だった「人工知能」の研究などに目もくれず、ひたすら現実のプログラミングと対峙し、その基礎研究に従事した人物です。「あなただけができることをやりなさい」
「敵を知り己を知れば百戦危うからず」と言いますが、己を知るには少しコツが必要です。でも、そんなに難しい事ではありません。客観的に自分を知るには、頭の中で考えているだけではだめです。実際に紙に自分の経歴、経験、出会いなどを、子供の頃から記憶を辿り、できるだけ正確に書けば良いのです。そうする事で、自分の資産や能力を棚卸しする事ができます。
己を知れば、自分だけができることが見つかるかもしれません。でも、私のような凡夫には「あなただけができること」は見つかりません。そこで、少し言葉を変え「あなたができることだけをやりなさい」とすれば、だれにでもできるはずです。随分、志(こころざし)が低くなったと思われるかもしれませんが、現実主義者であるダイクストラの思想は引き継いでいると思います。彼のこの言葉は、流行(はやり)に囚われることなく、現実の問題を1つ1つ解決して行く事こそが成功への近道だと教えてくれているのです。