EeBlog(テクニカルブログ) :未経験からプログラマーへ

プログラミングとは?難しそうだけど未経験でも本当に大丈夫?

プログラミングの「楽しさ」が今の世界を作った

今やインターネットが当たり前で、世の中で一番重要なインフラといってもいいほどになっています。
そのインフラは何によってできているのでしょうか? 物理的な面ではサーバー、パソコン、スマートフォンなどがネットワーク回線・電波によって相互につながることで構成されますが、それらを制御するソフト的な面での答えは「プログラミング」です。

実はプログラミングによってインターネットの基礎を作りあげてきた人たちは、どこかの会社に入って仕事としてつくったわけではありません。
プログラミングが「楽しい」から、「こんなのつくったよどう?」と「自慢」したいから、「人の役に立っている」ということを実感できるから、そういった理由でつくられてきたのです。

今の世界を創ってきたその根本にあるの原動力は、プログラミングの「楽しさ」によるところが大きいのです。

プログラミングは誰にでもできます

私達がパソコンやスマートフォンなどの機械を作ることは難しいですが、それに比べるとプログラミングすることははるかに簡単です。

しかも「誰でも」「今すぐに」「楽しく」行うことができます。

敷居が高いと思っている人は結構いるのではないでしょうか?
確かに昔はかなり難易度の高いものでしたが、現在は違います。
コンビニに飲み物を買いに行くよりも手軽にプログラミングを始めることができるのです。

プログラミングって具体的にどういうもの?

プログラミングがどういうものか、少し具体的に見てみましょう。

プログラミングは「プログラミング言語」を使います。
プログラミング言語でテキストを書いて、パソコンなどの機器がそれを読み込み、そこに書かれている手順に従って動作する、といった流れになります。

プログラミング言語で書かれたテキストとはこんな感じです。

MessageApplication.sendMessage(“今日の夜ご飯はカレーだよ(^o^)”);

パッと見英語に拒否反応を示してしまう人もいるかも知れませんが、落ち着いて一つ一つの単語を順番に見ていきましょう。

なんとなく以下のように読み取れるのではないでしょうか?

MessageApplication メッセージアプリケーション
.に対して
sendMessageメッセージを送信してください
“今日の夜ご飯はカレーだよ(^o^)”送るメッセージはこれです

プログラミングの基本はこんな感じです。難しい数式とかもでてきません。誰にでも理解できる表現です。
もちろん難しい数式を使う場合もあったり、複雑なプログラムを書くこともできます。
しかし、みなさんが知っているようなアプリケーションはたいてい複数人で開発されており、複数人で開発する時に最も重要なのは、他の人にも理解できるように書く事です。

上のようなプログラミングは、単に簡単な例を出しているというだけでなく、実は「目指すべき理想的な書き方」なのです。
プログラミングは誰にでもわかりやすいシンプルな形で書くのが理想で、それが目指されているのです。

思ったほど難しいものではなさそうですよね?

理系が得意な分野で、数学・論理的思考力、英語 とかが重要?

確かにそういった力があるに越したことはありませんが、必須ではありません。
そういう力の重要性はどんなに多く見積もっても50%くらいなのではないかと、私は考えています。
では残り半分は何でしょうか? それは冒頭でもお伝えしましたが、プログラミングが本質的に「楽しい」ということです。

これは実際にプログラミングをしてみるとわかることですが、以下のような「楽しさ」があります。

  1. 頭の中にあることを具体的な形にする、モノづくり、アート、自己表現的な側面があります。
  2. 思った通りにプログラムが動くことの楽しさ。自分の思い通りに物事が運ぶと面白いですよね? 逆に上手くいかないとつまらない。そういった「ゲーム」の面白さと同じようなものが、プログラミングにはあります。
  3. 作ったアプリケーションで人の役に立つことができます。人にも自慢できます。
  4. 学びと成長。たとえば化学は理論を学んでもそれを実験するというのは簡単ではありませんが、これに対してプログラミングは簡単に試してみることができます。理論を学んだ後やおもしろいアイデアが浮かんだ時にすぐに実験することができます。「学ぶ -> すぐに実践」ができるので、学習するのが楽しくて楽しくてしかたがありません。

未経験でも大丈夫?

未経験かどうかということは本質的に重要なことではありません。
同様に、理系か文系か、数学・英語が得意か苦手かということもそれほど重要な指標ではありません。
一番重要なのはプログラミングを「楽しい」と思えるかどうかだと私は考えています。
その「楽しさ」を実感することができ、進んで学び続けることができるのであれば、プログラマーとして仕事をしていくことは可能です。

「楽しい」を仕事にできるプログラマーを目指してみませんか?