ロコログ

ロコログ

理系大学生と一緒に生活のコツを探しましょう

MENU

【大学生 プログラミング 入門】#02 プログラミングとは?イメージを解説

 

f:id:daigaku00:20201105112437j:plain



f:id:daigaku00:20201103170157p:plain


Pythonのインストールは出来たけどプログラミングって実際どんな感じなの?イメージ湧かないや。

f:id:daigaku00:20201103172307p:plain


たしかにやったことないと、見た感じではわけわからないしイメージつかないよね。じゃあ今回はプログラミングの簡単なイメージを解説することにしよう。

 

 

「まだPythonのインストールが済んでないよ」って方は下のリンクでPythonを写真を交えてわかりやすく解説しておりますので良ければそちらも併せてご覧ください。


daigaku00.hatenablog.com

 

 

 

余談ですが、筆者はわけわからない長いコードを書き連ねていく何かよくわからない凄いことっていうイメージでした。

 

目次

 

 

 

●プログラミングの大まかなイメージ

f:id:daigaku00:20201111154320j:plain

 

 

プログラミングを始めたて、あるいはこれから勉強しようと思っている方のプログラミングへのイメージは大体先ほどの筆者と同じように何か難しいことをパソコンの画面の上でやっているイメージではないでしょうか。

 

f:id:daigaku00:20201103172418p:plain


それも間違っていませんが、それだとよくわからないのでここからはたとえ話をすることで分かりやすく説明してみます。

 

●プログラミングは料理のレシピ

f:id:daigaku00:20201111171300j:plain

 

プログラミングは時に料理を作るときに参考にするレシピにたとえられます。

 

f:id:daigaku00:20201103170916p:plain


はい?全然違うじゃん!!

f:id:daigaku00:20201103170451p:plain


まあまあ、ゆっくり説明するからちょっと待って。

 

プログラミングと料理のレシピの共通点は以下のようになります。

 

✅単語、略語、記号など使う語彙が限られている。

✅何をどこでいうかという構文規則がある。

✅やるべきことが順に並べられている。

✅同じ作業の繰り返しがある。

✅ときどき、別の作業を参照しなければならない。

✅内容についてある程度知っていることを前提としている。

ゴールが決まっている。

 

これだけだとわかりにくいと思いますのでさらに解説します。

 

 

 

 

 

単語略語記号など使う語彙が限られている。

f:id:daigaku00:20201111172600j:plain


料理のレシピに出てくる日本語というのはある程度決まっていて、料理用の単語を理解さえすれば日本語が多少不自由でも難なく読解できます。

これはプログラミングでもおなじで、コードが英語であるために

 

f:id:daigaku00:20201103170849p:plain


プログラミングって英語だし、まずは英語の勉強から始めた方が良いのかな?

と考える人もいるかと思いますが、プログラミングで使う英語の語彙は料理のレシピに比べてもかなり少ないです。その単語の意味さえ覚えていれば英語がさっぱりできなくても問題ありません。

 

 

 

 

何をどこでいうかという構文規則がある。

f:id:daigaku00:20201111171436j:plain


料理のレシピなら最初に材料が書かれていて、その材料も最初に書かれるのはメインになる食材で、下に行くほどに副菜、調味料といった風になっていたりしますよね。

プログラミングにも同じように「ここで改行するなら事前に()が必要」といった風なルールのようなものがあります。

 

 

 

 

やるべきことが順に並べられている。

f:id:daigaku00:20201111172658j:plain


料理のレシピは手際よく作業がこなせるように、順序だてて書かれています。

そのためレシピ通りに作れば、多くの場合、同じ料理を作るのでも、より早く、あるいはよりおいしく、あるいはより洗い物が少なくできるはずです。とにかくレシピ通りに作業をすれば絶対に失敗しないはずです。

プログラミングも同じで、パソコンにやってほしいことをやってほしい順に書いていきます。

 

 

 

 

同じ作業の繰り返しがある。

f:id:daigaku00:20201111171552j:plain


玉ねぎを2コ切るときを考えます。切り方をレシピで指定されている場合、1つ目の玉ねぎをレシピ通りに切り終わったら同じ要領で2つめもレシピ通りに切りますよね。

これは1つ目と全く同じ作業を2つ目に対しても行っているわけでこれは作業の反復(ループ)です。歌でも(※繰り返し)ってありますよね。

それと同じでプログラミングもパソコンに時に同じ作業を反復させることができます。

 

 

 

 

ときどき、別の作業を参照しなければならない。

f:id:daigaku00:20201111171707j:plain


料理を作るとき、たとえばカレーは手元にないけどカレーのアレンジレシピが食べたくなって、アレンジ料理のレシピが手元にあるとします。

そうすると一度カレーを作る必要があって、そのためにアレンジレシピのページを離れて、カレーのレシピのページを見なければなりません。このことはカレーのアレンジレシピを作るためにカレーのレシピを参照したといえます。

同じようにプログラミングでもコンピューターに別の作業を参照させることができます。

 

 

 

 

内容についてある程度知っていることを前提としている。

f:id:daigaku00:20201111171750j:plain


料理のレシピには余程丁寧な本を除いて、「包丁で手を切ると危険だ」とか、「火をつけた鍋は熱いから注意しろ」だとか、「まな板の使い方はこうだ」とかは書いていません。

つまりこの料理のレシピを書いた人は作る人にある程度の料理に関する知識があるものと思って書いています。

プログラミングも同じでコンピューターに足し算をさせるのに足し算とは何たるかをわざわざコンピューターに教える必要はありません。

 

 

 

 

ゴールが決まっている。

f:id:daigaku00:20201111171825j:plain


私たちが料理をするときはレシピに添えられたおいしそうな写真をみて、同じようにできるように頑張ります。

プログラミングも同じでコンピューターが命令通りに動いてくれるように頑張ってコードを書くわけです。

 

 

 

 

プログラミングと料理のレシピの対応

 

f:id:daigaku00:20201111172744j:plain

ここまで読んでいただいた方ならもうお分かりかと思いますが、

料理のレシピを

 

料理研究家がだれでも料理を作れるように料理の手順をわかりやすく順番に書いたもの」

 

だとすれば、プログラミングは

 

「私たちがコンピュータでも作業をこなせるように作業手順をわかりやすく順番に書いたもの」

 

であるといえます。

 

 

まとめ

 

f:id:daigaku00:20201103170157p:plain


なるほどプログラミングってパソコンにやってほしいことを順番に書いて行くことだったのか。

f:id:daigaku00:20201103170451p:plain


うん、大体そんなイメージであってるよ。

まとめるとプログラミングとは簡単に言うと

「コンピュータにしてほしい作業があるときに、その作業の手順を教えてやることでコンピュータにその作業を出来るようになってもらう」

ってことです。

次回からはいよいよ本格的にプログラミングで使う関数について勉強していきましょう。