エンジニアの疑問

プログラマーの三大美徳とは?「怠惰」「短気」「傲慢」について解説

投稿日:

✅下記のことが、知りたい人向け

・プログラマーの三大美徳とは
・優秀なプログラマーとは

この記事を読むと、プログラマーの三大美徳について、理解できますので、是非ご覧ください。

プログラマーの三大美徳とは?

プログラマーの三大美徳とは「怠惰」「短気」「傲慢」の3つの要素のこと。

一見、必要のない、この要素がプログラマーにとっては重要なポイントなのです。

そもそも、三大美徳とは、プログラミング言語「Perl」の開発者、ラリー・ウォールが提唱したもの。

ラリー・ウォールは三大美徳のことを、「優れたプログラマにおける必要条件」としています。

これから、「プログラマーを目指す人・現在プログラマーの人」どちらにとっても、知っておくべきことなので、覚えておきましょう。

プログラマーの三大美徳を詳しく解説

先ほども、話しましたが、プログラマーの三大美徳とは下記の3つの要素です。

・怠惰
・短気
・傲慢

一見、人間としてはマイナス要素となりえそうなものですが、どういうことなのでしょうか。

詳しく見ていきましょう。

怠惰

怠惰とは本来、「なまけていること」や「だらしない性質」を指す言葉ですよね。

しかし、ラリー・ウォールが言う怠惰とは、「自動化」のことを指しています。

皆さんが仕事する中で、「前も全く同じことやったな・・」と思ったことってありませんか?

実際、同じ作業を同じように繰り返すって、つまらないですし、効率が悪いと言えます。
そこで、優秀なプログラマーは様々なことを「自動化」して、楽(怠惰)することを目指すのです。

例えば、受注した商品の総額を、計算する仕事があったとします。
一般的は方法は、一つ一つ商品の金額を電卓で足し合わせていき、計算する方法ですね。

この方法だと、最終的には総額が分かる為、仕事としては成功しています。

しかし、もっと効率の良い方法があります。
Excelを使えばいいのです。

Excelだと、SUM関数を使って、一気に計算可能になります。
これが自動化です。

手間が省けることに加え、ミスも少なくなる為、言いこと尽くしですよね。

優秀なプログラマーは、自動化出来る所はドンドンしていくのです。

また、プログラマーらしい所と言えば、プログラミングの共通メソッド(関数)ですが、質問に対する解答などもマニュアル化するのも大切。

一々、自分が答えなくていいように、マニュアルを作成しておいて、質問者がいつでも見れる状態にしておくのです。

短気

短気とは「すぐイラつくこと」や「辛抱できないこと」を指す言葉ですが、ラリー・ウォール的には「先を見通したプログラム」のことを指しています。

プログラマーとして、仕事をしていると分かると思うのですが、完成したシステムを使用しているうちに、「挙動がおかしくなったり」、「動作が重くなったり」することってありますよね。

そんなことになってしまうと、プログラムに修正が必要で、出戻りが発生してしまいます。

その為、短気なプログラマーは、後に不具合が発生すると、イラついてしまうことから、「先を見通したプログラム」を心がけてコーティングするのです。

わかりやすい例で言うと、処理の共通化です。
プログラムの中で、同じ処理を、複数の場所で使う場面があります。

そのような時に、それぞれの場所で、処理を書くのではなく、メソッド(関数)化してまとめてしまうのです。

メソッド化することによって、もし仕様変更があった場合でも、一か所修正するだけで複数の箇所に反映される為、後々が楽になりますよね。

傲慢

傲慢とは「見下すこと」という意味ですが、三大美徳の観点から言うと、「完璧なプログラム」のことを指します。

「自分の方が、他人のプログラムより凄い!」と傲慢になれる程の、完璧なプログラムを書くことは、優秀なプログラマーの証です。

完璧なプログラムを組むためには、下記のことが必要不可欠です。

・高い保守性
・簡潔なコード
・動作速度
・セキュリティ

これらのことを、考えてプログラミングしていくことが、優秀なプログラマーになる為の近道です。

完璧なプログラムは、仕様変更が起こった場合でも、修正が容易な為、ユーザも安心して使うことができるでしょう。

成長するプログラマーとは

成長するプログラマーには、いくつかの共通点があります。

☑成長するプログラマーの特徴

・プログラミングを楽しめる
・仕事以外でもプログラムを作っている
・全体像を把握している
・色んな方法でプログラミングしている

上記の通り。

当てはまるのであれば、あなたには三大美徳を得られる才能があります。

また、成長しないプログラマーの特徴に付いても、こちらにまとめていますので、よかったらご覧ください。

成長しないプログラマーの行動を解説!【成長する方法も教えます】

-エンジニアの疑問

Copyright© ITエンジニアの底力 , 2020 All Rights Reserved Powered by STINGER.