プログラミングについて勉強するために、まずプログラミングとは何かを解説していきます!
さっそくプログラムを書き始めるのもいいんですが、おそらくいきなり書き始めても「何のためにこれをやってるんだろう、意味わからん」ってことになってしまいがち。
そんなわけで、まずはプログラミングをすることで何ができるのか、プログラムとはどういうものなのか、という雰囲気をつかむところから初心者の方向けにわかりやすくまとめていきたいと思います。
目次
プログラミングとは何か? プログラミングを行う意味
ざっくり言うと、プログラミングはコンピュータに指示を与えておくことです。
例えばパソコンのキーボードで「A」のボタンを押すと、画面に「A」という文字が入力されますよね。
これは実はあらかじめ「パソコンにキーボードを押したら画面に文字を表示する」という指示が与えられているからです。
これはキーボードのボタンを押した場合だけではありません。
他にも「スマホの画面をタッチしたときにアプリが起動する」、「グーグルで検索ボタンを押すと検索結果が表示される」、「ショッピングサイトで購入ボタンを押すと服がカートに入る」というのもそうです。
コンピュータなどの電子機器はどれも自ら意思を持っているわけではありません。
すべてプログラミングがなされていて、「○○を与えたときに××を行う」という指示がインプットされているから人間の予期したとおり動くようになっているというわけ。
ふだん何気なく使っているコンピュータやスマホ、アプリはすべてあらかじめ指示が与えられていて、そのとおりに動いているんですね。
このコンピューターにあらかじめ「○○したときに、××する」という指示を与えておくことを「プログラミング」と言います。
プログラムとは何か? プログラムの意味
そしてコンピュータに指示(プログラミング)を行う際は、コンピューターが理解できる言葉を使って行います。
この言葉のことを「プログラム」と言います。
そして、このプログラムをコンピュータに保存しておくと、そのプログラムによって書かれた指示をコンピュータが理解して、そのとおりに動いてくれるようになります。
実際のプログラムは例えばこのようなものです。
if input == 'A' p 'Aボタンが押されました。' end
「なにこれ 難しい……」
見慣れないと何が書いてあるかわからないと思うんですが、慣れてしまえば簡単なのでひとまずここでは大丈夫。
具体的なコードの書き方は、また次回以降で説明していきますね。
プログラミング言語の種類
そして「プログラム」にはいろんな種類の言語があります。
例をあげると、Ruby、PHP、Python、JavaScript、Java、Swift、C などなど。ほかにも数え切れないほどたくさんあります。
それぞれの言語によって得意なことは違うので、ウェブサイトを作るのか、PCで動くソフトウェアを作りたいのか、アプリを作りたいのか、用途によって使用する言語は変わります。
そう考えると、最初に学ぶ言語は自分のこれから作りたいものが何かを想像して、それと似たようなものを作るためによく使われている言語から勉強するのもアリですね。
例えばこのサイトでは、自力でウェブアプリケーションが作れるようになることを目標としているので、ウェブアプリケーション開発によく使われている Ruby や Ruby on Rails について解説しています。
言語ごとの文法の違い
それぞれの言語の大きな違いは文法が違うところです。
さきほどのコードを見てましょう。
これは Ruby という言語のコードです。
if input == 'A' p 'Aボタンが押されました。' end
これは PHP。
if ($input === 'A') { echo 'Aボタンが押されました。'; }
そしてこっちは Python。
if input == 'A': print('Aボタンが押されました。')
これ、書き方は違うんですが、どれも同じ内容のコードです。
よく見るとちょっと似てません?!
文法は違えどプログラムの概念はどれも一緒で、考え方は同じです。
日本語の「ありがとう」は、英語の「Thank you」と音は違えど、親切にされたら感謝するという概念は同じですよね。
プログラミング言語もそうで、書き方は違っていても考え方は同じ。
だから1つの言語をしっかり掴んでおけば、2つ目の言語は早く習得できるようになるとも言えます。
まずは1つの言語をしっかりマスターできるようになると、プログラマーへの道が開けていくと思います。
プログラムの3つの動き方
プログラムの基本的な動き方は3つ。
プログラムは一見難しそうに見えるんですが、もとをたどっていくとパーツの組み合わせで、以下の3つの動きにそって動いています。
上から順番に進む
プログラムは上から順番に実行されます。
どこかの行を飛ばして進むことはありません。1行目、2行目、3行目……と順番に処理が進んでいきます。
条件分岐(もし○○ならば、××する)
AパターンとBパターンで実行したい処理を分岐させたいときに、条件文を使います。
例えば時間が午前なら「おはよう」、午後なら「こんにちは」とページ上に表示させたいときなどに使います。
Ruby のプログラム例を出すとこんな感じ。if という文法を使います。
if Time.now.hour < 12 puts 'おはよう' else puts 'こんにちは' end
繰り返し(同じ処理を○○回 反復する)
同じ処理を繰り返し行いたいときは繰り返し処理を使います。
例えばユーザー1からユーザー10までの情報をひとつずつ表示して、ページにユーザー情報一覧を表示したいときなどに使います。
以下は1に3をかけて答えを表示し、その答えにさらに3をかけて答えを表示……を10回繰り返す Ruby のプログラム例です。times という文を使います。
a = 1 10.times do a = a * 3 puts a end
身の回りのいたるところで使われているプログラミング
プログラムを一度 書いておけば、コンピューターがそのとおりに動いてくれるし 1秒間にたくさんの処理を実行してくれるので、機械的な作業は人間がやるよりも早く正確にやってくれます。
そのため、社会のいたるところでプログラムが使われるようになりました。
ということは、プログラミングを覚えることで世の中で動いているさまざまなシステムの裏側のしくみを理解することができるだけでなく、自分でいつもやっている事務的な作業を自動化させたり、ウェブサイトをつくったり、アプリを作ったりすることができるようになります。
このサイトでも実際に Rails を使ってウェブアプリケーションを作っていきます。
ぜひここからプログラミングを始めてみてください。
次の記事 プログラミング初心者は何から勉強すべき?