コンピューター

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

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

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

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

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

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

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

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

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

スポンサードサーチ

プログラマーの三大美徳

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が有利」と感じる理由次のページ

関連記事

  1. コンピューター

    最高にオススメできるキーボード!HappyHackingKeyboardLite2を買い直しました。…

    先日の話ですが、以前に友人からいただいて使っていたHappy Ha…

  2. お金

    三菱東京UFJ(MUFG)も扱い始める「仮想通貨」、時代は変わり続けるよ!

    もしも10年前に戻れるとしたら・・・皆さんは何をするでしょうか。ぼ…

  3. ゲーム

    「連鎖ノ試練」 答え合わせ- エンジニア専用RPG CODE QUESTで使ったコード

    ツイッターを見ていたら面白そうなツイートが流れてきた。┏┳┳┳…

  4. コンピューター

    ディストピアを食い止める意思を。コンピューターの発展の先にある未来の話

    僕はコンピューターが大好きです。人類が誕生してかれこれ500万年か…

  5. ウェブサービス

    新しい習慣を作りたい人に教えたいタスク管理ツールToodledo

    タスク管理という言葉をご存知だろうか。グーグルで検索すると、タスク…

コメント

  • コメント (0)

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

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

  1. レビュー

    パナソニックの食器洗浄機NP-TH1を3ヶ月使用してみての感想
  2. 日記

    僕達にとって、選択できるという事が必ずしも良い事とはかぎらない
  3. レビュー

    Bluetoothイヤフォンをまだ持ってない人に見てほしい。Tenswall イ…
  4. コンピューター

    写真や画像を一括でリサイズできるrubyプログラミング
  5. 人間関係

    背中合わせの優しさと臆病さ
PAGE TOP