見出し画像

プログラマーの三大美徳である「短気」が分かりづらいから調べてみた

みなさま、こんにちは。

突然ですが、「プログラマーの三大美徳」というものをご存じでしょうか。

Perlというプログラミング言語の作者であるラリー・ウォール氏が提唱したものです。

内容は以下の三つ。

・怠慢 - Laziness
・短気 - Impatience
・傲慢 - Hubris

しかし、このなかで「短気」がほかの二つとの違いが分かりづらかったので、この記事でまとめてみます。

「怠慢」と「傲慢」

そもそもこれらの三大美徳は、一見するとどれも悪徳のよう。

しかし、プログラマーにとっては違います。

たとえば「怠慢」は、「ラクをするために努力を惜しまない」こと。

作業をいかにラクをして、効率化することを考えることにより、生産性をあげることができます。

「傲慢」は、コードや技術への過度な自信や高慢さを指します。

それはつまり、「ユーザーに文句をいわせないために完璧なプログラム」を作ること。

自尊心を持ち、恥ずかしくない仕事をすることとも言いかえることができます。

「短気」は他の二つの美徳に似ていないか?

ここで個人的によくわからなかったのが「短気」。

ネットで見かける「短気」の説明は以下のようなものでした。

➀ やるべき作業を極力短くする
⓶ 将来を見越して拡張性とメンテナンス性の高いコードを書く

しかし、➀は「怠慢」とおなじで、⓶は「傲慢」とおなじではないでしょうか...

こまったなぁと思い検索をつづけていると、この疑問に答えを与えてくれる記事を見つけました。

短気とは

短気の内容に腑がおちたのは以下の記事。

元ネタのラリー・ウォール氏が、新しい版の本(第四版)のなかで「短気」の定義を刷新しているようです。

(「短期」と他の二つの美徳との違いがよくわからない、という問い合わせがあったからではないかと推測します)

そして、英語の原文を読んでみると、「ユーザーフレンドリーではないプログラムに嫌気がさすこと」を指しています。

言い換えると、「ユーザーフレンドリーでない不適切なプログラムを作らないようにすること」といえそうです。

まとめ

まとめると、以下のことがいえそうです。

・「怠慢」は、仕事の効率化について
・「短気」は、「親切心」からユーザーフレンドリーな製品づくり
・「傲慢」は、「プライド」からユーザーに文句を言わせない製品づくり

「短気」と「傲慢」は、どちらも最終的なプロダクトのクオリティーについての美徳といえます。

コメントお待ちしています☕ また、mondにて匿名の質問・メッセージを募集しています。なんでも送ってね👍 https://mond.how/ja/hovinci_jp