皆さんは「プログラマー」という職業について、どれくらい知っていますか?恐らく「プログラミングが仕事の人」くらいの認識しかないという方がほとんどだと思います。実はプログラマーは職業柄、強いこだわりを持つ人が多く、独特の雰囲気がある世界なのです。
2020年には小学校で必修化されることがニュースになり、近年ますます注目を集めているプログラミング。元プログラマーである私の経験も踏まえつつ、知られざるプログラマーたちの世界をご紹介しましょう。
小学校で必修化!プログラミングとは?
プログラミング(programming)とは、計画(プログラム)を立案するという意味ですが、一般的には「コンピューターを動かす命令文を作る仕事」を指します。コンピューターはプログラムによる命令がなければ動きません。テレビゲームで遊ぶときも、リモコンでチャンネルを変えるときも、エアコンの温度を変えるときも全部組み込まれたプログラムによって動いているのです。
プログラミングにできることはとにかく多彩
最近の家電は、カメラなどを使って人を検知したり、自動で動いてくれたりなど、ビックリするような機能がどんどん出てきていますね。また車もより安全に、ゲームもよりリアルになっています。
もちろんこれらもプログラミングによって動いているわけです。仕組みは分からなくても、「プログラミングはとにかく色々なことができる」ということが分かりますね。
プログラミング言語とは?
少し話を戻しましょう。プログラミングは命令文を作ることだと解説しましたが、実はこの命令文には色々な言語が存在します。有名どころだとCやJava、Rubyなどが挙げられますが、これら「プログラミング言語」にはそれぞれ特徴があるのです。
例えばRubyは日本人が開発した言語で、学びやすさに定評があります。Javaは歴史が長く、複雑な処理が素早く行えるためアプリの開発などに採用されていますが、慣れないと扱いづらいのが難点です。
プログラミングができて当たり前の時代に?
すでに子供向けのプログラミング教室などが盛況ですが、2020年には小学校で必修化されることが決まっています。従って、プログラミングができる人はより増えていくことでしょう。
ちなみに、プログラミングを行う人は「プログラマー」と呼ばれます。次はその「プログラマー」という仕事についてお話しましょう。
何が面白いの?独特な空気感があるプログラマーの世界
プログラミングの魅力はいろいろあります。例えば「コンピューターが思い通りの動きをしてくれたとき」は喜びを感じる瞬間でしょう。試行錯誤を繰り返し、自分が開発に携わった製品が世に出るときも嬉しいものです。
この辺りはプログラミングを知らない人でも理解できると思いますが、上級者にしか分からない楽しさも存在します。上級者プログラマーの世界を少し覗いてみましょう。
上級者はコードの「美しさ」にこだわる
プログラミングに使われる命令文は「コード」と呼ばれていますが、このコードを「いかに効率良く書くか」がプログラミング上級者のこだわるポイントです。
理由は簡単、「同じ動きをするなら短い方が見やすいし処理も速い」からです。そして徹底的に無駄を排除し、最大限の効率を追求したコードには「美しさ」を感じるのです。
美しいコードはコピーされる!?
実はこの「美しいコード」は、ある意味ひとつの作品として同じプログラマーからも評価されます。コードはコピーすれば誰でも再利用できますから、「よく使われる基礎的な動き」を美しく書き直すことができれば、多くの人が恩恵を受けるからです。
「他人のコードをコピーするなんて!」と思われる方がいるかもしれませんが、プログラミングの世界でコピーは日常茶飯事。特に開発現場では全て一から手打ちしていては、時間がいくらあっても足りません。良いものは流用し、必要最低限の作業にだけ集中すれば効率的ですよね。優秀な開発者ほど、全体的な効率を重視するものです。
聞いて納得!「プログラマーの三大美徳」
実は、このような行動は「プログラマーの三大美徳」に通じています。「プログラマーの三大美徳」とは、怠惰・短気・傲慢のことで、プログラミング言語Perlの開発者でも知られる「ラリー・ウォール氏」が提唱しました。一見、美徳とはほど遠い響きの単語ばかりですが、解説を聞けば納得できると思います。
第一の美徳「怠惰」(Laziness)
怠惰は別に仕事をサボることではありません。仕事における「無駄を嫌う気質」のことです。例えば、同じ質問が繰り返される現場では、Q&Aをまとめたものを文書として残せばもう面倒なことはしなくて済みますね。より効率を求めるのは、先ほど紹介した「コードの再利用」にも繋がります。
第二の美徳「短気」(Impatience)
短気とは、気が短い人を指します。ただし「コンピューターの遅さに対してすぐ怒りを覚える気質」のことです。「コンピューターの処理速度を上げるにはどうすればいいか」を常に考えながらプログラミングを行える人は、開発者に向いていると言えます。
第三の美徳「傲慢」(Hubris)
自尊心が強い人を傲慢と言います。自尊心が強いプログラマーは、自分が作るプログラムにも絶対の自信を持っているもの。コードの美しさを追求するのもそのひっとつです。プログラマーの傲慢さは、品質の高さに繋がります。
プログラミングには独特の面白さや奥深さがある!
「プログラマーの三大美徳」について納得いただけたでしょうか?怠惰で短期で傲慢な人は優秀なプログラマーになれるかもしれませんね。どことなく「老舗の頑固おやじ」を思わせる気質です。コードを書くのは地味な作業ですが、行っている側からすると独特の面白さや奥深さを感じているものなのだと理解してください。
プログラマーは夢ある仕事!今後どうなる?
最後に、プログラマーという仕事が今後どうなっていくかを予想してみましょう。一部では「人工知能の発達でプログラマーがいらなくなる」なんて話も出ていますが、私はそう思いません。人工知能を開発するのも保守するのも結局は人間ですから、逆に今後プログラマーという仕事はますます需要が高まるだろう思います。
プログラマーは大金持ちになれる!?
Microsoftの「ビル・ゲイツ」やFacebookの「マーク・ザッカーバーグ」をご存知でしょうか?彼らは世界の超大金持ちとして紹介されている実業家ですが、実はもともとはプログラマーでした。世界中の人が利用する何かを開発できれば、彼らのようなプログラマーになれるかもしれませんね。そういった意味でプログラマーは「夢のある仕事」とも言えます。
「プログラマー」という生き方
プログラマーの生き方は多種多様です。メーカーのエンジニアとして製品の開発に携わるのが一般的ですが、腕に自信があるならフリーランスとして働くのもひとつ。また仕事としてではなく、趣味としてアプリやゲームを開発している人も数多く存在します。
ただひとつ言えることは、日常生活で使用しているあらゆる製品のプログラムを組んだのはプログラマーであるということ。プログラマーは世界を作り、動かしていると言っても過言ではないのです。