プログラマの三大美徳とは?提唱者のラリー・ウォールについても解説!

開発

2022.04.07

プログラマの三大美徳は「怠惰(Laziness)」「短気(Impatience)」「傲慢(Hubris)」です。

本記事ではそれぞれの言葉が意味することと、三大美徳と同様に重要である「HRT」について解説していきます。
プログラマとして重要な姿勢について理解したい方は参考にしてください。

 

 

 

1.プログラマの三大美徳とは


プログラマ三大美徳関連画像
プログラマ三大美徳関連画像

1987年にプログラミング言語「Perl」を開発した「ラリー・ウォール」が提唱するプログラマの三大美徳は次の3つです。

 

怠惰 (Laziness)
短気 (Impatience)
傲慢 (Hubris)

 

日本ではマイナスなイメージを与えるこれらの言葉ですが、これらの言葉はプログラマに必要な効率や再利用制の重視、処理速度の追求、品質にかける自尊心を意味します。

 

怠惰 (Laziness)

怠惰(Laziness)の辞書的な意味は「なまけておりだらしないさまを指す言葉」です。

怠惰という言葉を聞いて、プラスなイメージを持つ方は少ないかもしれません。しかし怠惰はプログラマによっては重要な美徳です。

 

怠惰の反対度は「勤勉」です。勤勉は「仕事や勉強などに、一生懸命に励むこと」を意味します。

しかしプログラマーにとって必ずしも勤勉であることがプラスに作用するとは言えません。

 

例えば勤勉なプログラマと怠惰なプログラマが繰り返しの作業を行うとします。勤勉なプログラマは作業の繰り返しを行うことを、勤勉であるがゆえに苦に感じることなく、繰り返すでしょう。

一方で怠惰なプログラマは、怠惰であるがゆえに作業の繰り返しを嫌い、どうにか効率的に(=楽に)作業を終えられるかを考えます。

 

その結果、勤勉なプログラマに比べて、怠惰なプログラマはより効率的に仕事を行うことになります。

怠惰なプログラマは顧客から都度質問に答えずに済むように、あらゆる質問を想定した丁寧な顧客用マニュアルを作成するなど工夫を行うことが多いです。

 

 

短気 (Impatience)

怠惰が本来マイナスなイメージを持つにもかかわらず、プログラマにとっての美徳であったように、短気もプログラマの美徳となり得ます。

短気なプログラマであればコンピュータが自身のニーズに上手く答えない場合に、自身のニーズに答えるだけでなく、自身のニーズを予期するプログラムを作成するでしょう。

 

例えば制作したプログラムの挙動に不具合が発生したり、処理速度が遅くなることがあっても気長なプログラマであれば不具合の発生後に対処を行い、処理速度が遅くなることを気にしないかもしれません。

しかし短気なプログラマであれば不具合や処理速度の低下を嫌い、事前に時間が経過しても苛立つことがない不具合や処理速度の低下が発生しないプログラムを組みます。

 

また短気なプログラマは仕様変更が発生し、プログラムの完成後の大規模な変更を嫌うことが多く、あらかじめ柔軟性のあるプログラムを組む努力をすることが多いです。

 

 

傲慢 (Hubris)

プログラマの3つ目の美徳が傲慢です。傲慢とは「おごりたかぶって人を見下すこと」です。

傲慢なプログラマは自分の作成したプログラムが他者に批判されることを非常に嫌いします。

 

そのため傲慢なプログラマは高品質なプログラムを作成し、品質の維持に努めます。

その結果、簡潔で綺麗であり、不具合が発生した場合にも、修正がしやすいプログラムが完成することが多いです。顧客も快適にプログラムを使用できるでしょう。

 

一方で傲慢でない謙虚なプログラマは他者の意見を素直に聞き入れます。

しかし傲慢なプログラマのように、能動的に他者に批判されないプログラムを書くというより、受動的に批判された際に修正を行うといった形になる可能性があります。

 

怠惰と短気、傲慢はいずれもマイナスな印象を与える言葉ですが、プログラマにとっては「効率化」「不具合の予期・処理速度の高速化」「簡潔で綺麗かつ、修正しやすいプログラムの作成」を可能にする美徳だということがわかっていただけたでしょう。

 

 

 

2.プログラマの三大美徳を提唱した「ラリー・ウォール」について


プログラマ三大美徳関連画像
プログラマ三大美徳関連画像

プログラマの三大美徳を提唱したラリーウォールはプログラマ・言語学者・文筆家です。

1976年にシアトルパシフィック大学を卒業し、Usenet(ネットニュース)用のソフト「rn」を作成し、UNIXで最も普及しているテキスト差分適用プログラムの「patch」を作り出しました。

 

故意に難解なC言語のプログラムを書き、複雑さや難解さを競うIOCCCでは2回優勝を納めています。

そして1987年にプログラミング言語の「Perl」を開発しました。

 

ラリー・ウォールは言語学を学んでおり、Perlの開発に役立てられたといいます。

さらに1998年にはフリーソフトウェアへの貢献により、第1回フリーソフトウェア財団賞を受賞しました。

 

プログラミング言語の「Ruby」はPerlに大きな影響を受けており、開発者のまつもとゆきひろ氏は尊敬する人物としてラリー・ウォールを挙げています。

 

 

 

3.プログラマの三大美徳と同様に有名なHRTとは


プログラマ三大美徳関連画像
プログラマ三大美徳関連画像

プログラマの三大美徳と同様に有名なのがHRTです。

HRTは書籍『Team Geek』内で「優れたチームが優れたソフトウェアを作るんのに必要な三本柱」として紹介されました。

 

HRTはそれぞれ以下の3つの言葉を意味します。

 

謙虚 (Humility)
尊敬 (Respect)
信頼 (Trust)

 

一見するとHRTはラリー・ウォールの三大美徳と矛盾しているように感じるかもしれません。しかし三大美徳が「プログラマのプログラムに対する姿勢」を表している一方で、HRTは「プログラマの人に対する姿勢」を表しています。

 

謙虚 (Humility)

「自分が世界の中心だと勘違いをしないこと。自分が常に正しいと思わないこと」を意味します。

「傲慢」は三大美徳の1つです。

 

しかし他者に批判されないような簡潔で綺麗なプログラムを作ろうとすることが重要であり、自分の作成したプログラムの問題が指摘されれば、素直に聞き入れて改善を行う必要があります。

自分自身のスキルに傲慢になることなく、常にスキルを磨き、自身を改善していきましょう。

 

 

尊敬 (Respect)

「一緒に働く人に敬意を払い、その能力や功績を高く評価すること」を意味します。

実際に仕事をするうえでは、「お願いをする際には命令形を使うのではなく、提案をする形でお願いをする」「相手を傷つける可能性がある強い言葉を使わない」といった気遣いが重要です。

 

 

信頼 (Trust)

「自分以外の人は有能であり、正しいことをすると信じること」を意味します。

人を信頼せずに、自分だけで全てを行おうとすれば、自身のスキルが高くとも遠回りになる可能性があるでしょう。

 

仕事を自分以外の誰かに負けることも重要です。

『Team Geek』内ではあらゆる人間関係の衝突はHRTの欠如によるものと説明されています。

 

プログラムに対しては三大美徳を、人やチームに対してはHRTを忘れないように注意しましょう。

 

 

 

 

4.まとめ


プログラマはプログラムに対しては三大美徳の姿勢を持ち、より効率的で修正が簡単な、人に批判されないプログラムの作成を目指すことが重要です。

またチームや人に対してはHRTの姿勢を持ち、謙虚になり、他者を尊敬し、信頼して仕事を任せましょう。

 

フリーランスエンジニア専門の求人・案件一括検索サイト「フリーランススタート」に少しでも興味がある方は是非ご登録ください。

 

なお、フリーランススタートはiOSアプリ版やAndroid版をリリースしています。

通勤しているエンジニア・デザイナーでちょっとしたスキマ時間で手軽にフリーランス求人・案件を検索したい、開発言語の単価が知りたい、フリーランスを将来的に検討している方などは是非インストールしてみてください。

 

フリーランススタートのアプリを有効活用して、フリーランスとして第一線で活躍しましょう!

 

フリーランススタート iOSアプリのインストールはこちらから

 

フリーランススタート Androidアプリのインストールはこちらから

 

本記事が皆様にとって少しでもお役に立てますと幸いです。

twitterでシェア
facebookでシェア
facebookでシェア

フリーランスお役立ち記事を検索

新着フリーランス求人・案件