コンピューター

これからプログラミングの学習を始める初心者に送る、偉大なプログラマーの格言

僕の仕事はいわゆるシステムエンジニアです。

システムエンジニアというのは、ある仕事に対し、いかに効率的に処理することができるかを考えて、その仕組みを作る人のことです。

なので別に、必ずしもプログラミングの知識がないと出来ないという仕事ではないのですが、僕はよくプログラミングの技術を使って仕事の自動化や効率化を図っています。

何しろ高度に情報化された世の中ですから、モノ一つに対しても様々な情報が付与されますし、それを使った取引では更に多くの情報がついてまわります。

もはや現代においてモノと情報の境目は溶けはじめており、その傾向はますます加速していくでしょう。

これからを生きる人達にとってプログラミング技術は必須であるという認識のもと、政府も小学校からのプログラミング学習必修化などを推し進めています。

なぜなら、情報を最も効率よく処理する方法こそがプログラミングだからです。

そんなわけで今日は、これからプログラミングの学習を始める人に向けて、優秀なプログラマーであるためのの素養について語られた、業界で有名な格言についてご紹介します。

スポンサードサーチ

プログラマーの三大美徳

4651601648 4a02680ea7 z

さて、プログラマー業界においてとても重要な3つの格言があります。
すなわち

  1. 怠慢であれ
  2. 短気であれ
  3. 傲慢であれ

これをプログラマーの三大美徳と言いますが、これはプログラミング言語「Perl」を開発した「Larry Wall」という人が語った言葉です。上から重要な順番で並んでいます。

字面だけ見るとプログラマー最悪ですね!
まあしかし中を読むとなかなか深みのある言葉だと思います。
以下に説明をしていきます。

怠慢であれ

原文はこちら

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer.

和訳するとこんな感じですね。

全体的なエネルギー消費を減らすために最大限の努力をすること。それは、他の人々に役立ち、労働力を節約できるプログラムを書くことであったり、同じ質問に何度も答える必要のないように文書化すること。したがって、プログラマの最初の大きな美徳です。

例えば僕は、水車や風車を見ると、これを開発した先人の素晴らしさを感じます。

一度作ってしまいさえすれば、自然の力を動力源とし、それをもとに様々な機械を接続して自動的に24時間休みなく動かすことができるからです。

それらを開発するのは並の努力ではなかったに違いありませんが、それが完成したことで、人々は機械がもたらす労働力の分、楽をすることができるようになりました。

「怠慢であれ」とは楽をするための労を惜しむなということであると思います。

短気であれ

原文:

The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least that pretend to. Hence, the second great virtue of a programmer.

和訳:

コンピュータが機能していないときに感じる怒り。これにより現在のニーズに反応するだけでなく、ニーズを予期するプログラムを書くことができます。少なくともそうしようとする。したがって、プログラマの第2の大きな美徳です。

物事を常に先読みしておくと言うことでしょうね。

これも結局、上の「怠慢であれ」に繋がってくると思うんですが、その場しのぎの解決策を講じたところで、すぐに問題は再浮上してくるわけで、怠慢な人間にとってそれは許容しがたいことなんですよね。

あと、プログラミングには多くの試行錯誤がつきものです。

プログラムを書く→テスト→プログラムを書く→テスト→プログラムを書く→テスト

と完成まで延々とやっていくのですが、そのプロセスがゆっくりだとまったく仕事が終わりません。

ゆえに優秀なプログラマーというのは試行に対しての結果待ちの時間をいかに短くできるかという事に執心します。

ここでは、そういう短気さのことも言っている気がします。

傲慢であれ

原文:

Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer.

和訳:

神の罰が下るほどの過剰なプライド。他の人が文句をつけようのないプログラムを書き、それを維持管理する姿勢。 したがって、プログラマの3番目の大きな美徳です。

自分の仕事に対して、傲慢に見えるほどのプライドを持てということですね。

プライドを持つためにはどうすればいいのでしょうか。

僕が思うにそれは自分の仕事をよく理解するということと、加えて自分に対する自分への期待を裏切らないようにひたむきに最善を尽くし続けることだと思います。

こういうことを書いていると「僕が一番ガンダムをうまく使えるんだ!」という名言が思い起こされますね。

彼もまた傲慢であったのでしょう。

スポンサードサーチ

プログラマーという人種

5307654241 1ca723e937 z

冒頭でシステムエンジニアはプログラマーである必要がないと言いましたが、全てのプログラマーはシステムエンジニアでなければならないと思っています。

加えてこれは持論ですが、これからを生きる全ての人々はプログラマーの素養を持っておく必要があると思います。

ここでプログラマー的な人とはどういう人のことを言うのだろうかと考えてみたのですが、簡単に言うと、物事を最小単位に切り分けて(分解して)考えることのできる人と言えるかも知れませんね。

どんなに複雑なシステムであっても「ひとつのことを上手くやる」機能の集合体と言えます。

「ひとつのことを上手くやる」機能、それらを組み替えることで無限の可能性が生まれます。

いかに本質をすばやく掴み、最小の労力をもって、最大の成果を求めることができるか。

プログラマーの三大美徳はつまり、そういうことを言っているのだと思います。

コンピューターの本質に触れる

ちなみに、コンピューターの本質を掴むにはUnixかLinuxを使ってみるのが一番です。

Linuxはラズベリーパイがおすすめです。

低価格でLinuxをフルで動かせますし、自宅のファイルサーバーくらいには使えますよ。

もうちょっとお金がある人はMacを買うとUnixが使えますのでおすすめです。

これまでいろいろなノートPCを使ってきましたが、ノートPCのジャンルではやはりMacbookが最高です。

MacbookPro ME865J/Aが届いたので開けてみた、その所感。

LinuxとUnixについて学ぶには、このブログでは何度も言っていますがこの本が最強だと思います。

リナックス(Linux)入門におすすめの学習本!漫画で最高にわかりやすい「シス管系女子」レビュー

これまで買ったUnix、Linux本の中でも圧倒的に読みやすいし理解しやすいので、まだご覧になっていない方は是非。


三大美徳はより良いシステムを構築する者であるための心構えを教えてくれています。

上記の美徳を一つでも欠く人は良いプログラマーではありませんし、既に3つの美徳全てを持っている人はプログラムが書けずともプログラマーであると言えると思います。

僕はたまに、人生とは要するに、自分にとって有利なシステムをいくつ持てるかというゲームのようにも思えるんですよね。

皆さんにおかれましても、プログラマーの三大美徳を参考に自分にあった良いシステムを構築することで人生を豊かにしていただければと思います。

ではではー。

 

この記事が気に入ったらいいね!しよう
🍀

更新情報をお届けします

関連記事

  1. Linux

    僕らが24時間休まず接続している「サーバー」の正体って知ってます?

    サーバー、いい響きですね〜好きです!携帯電話やスマホを持ってい…

  2. Mac

    MacbookがWindowsノートPCより優れていると感じた4つの理由

    先日、自分のMacBookもだいぶ古くなったなーと思い、買い替えを検討…

  3. Mac

    壊れたCFカードから写真データCR2を取り出すことに挑んだ記録 その2

    ふて寝して翌日。途方にくれた僕はこんな顔をして過ごしていました。…

  4. コンピューター

    プログラミングの勉強、上達を目指す人におすすめの方法

    今回の記事は、現在プログラミングに興味があって、これから始めようかなと…

  5. ウェブサービス

    今ままでdisってごめん!このタブレットやっぱり即買だわ(笑)Amazon Kindle Fireが…

    そろそろかなあ〜(そわそわ)と家の中で過ごしていると、チャイムの福…

  6. Linux

    Macbookのパフォーマンスを最大限引き出す!僕がMacbookでLinuxを使う理由とその方法 …

    さて、今日は前回に引き続き第2回目となります。前回の記事はこちら…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

最近の記事

スポンサーリンク

  1. レビュー

    最近買ってよかった家電 – 快適な温湿度を求めて
  2. 日記

    仕事が大好きな職人だった、爺ちゃんの話
  3. ニュース

    熊本の地震で最も安心・有効と思われる寄付先
  4. レビュー

    スリにはご用心!東京で電車に乗る前に知っておくべき3つの事
  5. 日記

    「日々を大切に生きる」の具体的なこと
PAGE TOP