プログラミングとはそもそも何?今さら人に聞けないプログラミングの話。

プログラミング超入門

目次

この記事の要点

「プログラミング」とは何かについて、ものすごく簡単に解説します。

 

プログラミングとは

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_6333-460x460.jpg
初子さん

先生!突然なのですが、「プログラミング」ってなにか教えて下さい!

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_4985-300x300.jpg
筆者

● 「プログラム」とは、コンピュータに命令をする文字のこと
● 「プログラミング」とは、プログラムを書く行為のこと

なので、「プログラミングする」という言葉遣いは正しいですが、「プログラムする」という使い方は誤りです。
「ボウリングする」と同じ言葉の使い方というわけですね。

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_6333-460x460.jpg
初子さん

なんとなくわかりました。。。が、イメージ出来ません

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_4985-300x300.jpg
筆者

どうやったらイメージできるようになるかは、このページの後半で分かりやすく解説しますね。

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_6333-460x460.jpg
初子さん

ちなみになんですけど、「プログラム」と「コンピュータ(パソコン)」って何が違うんですか・・・?

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_4985-300x300.jpg
筆者

一般家庭や仕事場で広く使われているノートパソコンとプログラムの関係は、家と家の中の物の関係に似ています。

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_6333-460x460.jpg
初子さん

うんうん!

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_4985-300x300.jpg
筆者

どういうことかというと、家は、キッチンやお風呂やリビングを始め、排水管や配線などの沢山のモノで構成されていますよね。
いくら同じ水が蛇口から出るからと言って、洗面台をキッチン代わりに使うのは、凄く使いにくいです。
つまり、目的を持った機能が沢山集まって、ひとつの家ができているわけです。

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_6333-460x460.jpg
初子さん

確かに言われてみれば!

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_4985-300x300.jpg
筆者

これはパソコンでも同じことです。
パソコンは、沢山のプログラムが集まったもので、各々のプログラムには別々の目的が存在しています。
電卓のプログラムから、インターネットをするためのプログラムまで様々ですね。

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_6333-460x460.jpg
初子さん

電卓とかって、ソフトやアプリって呼ぶものじゃないんですか?

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_4985-300x300.jpg
筆者

それも正しいです。
ただ、ひとまずは、呼び方が違うだけで同じものであると考えて、差し支えありません。
他にも、パソコンはOSやBIOSに始まり細かく言えばトランジスタとか・・・
数え切れない要素から構成されていますが、知らずにいてほぼ問題ありません。

より詳細を知りたい方は、Wikipediaを読むとかなり詳しくなれそうです。w

コンピュータープログラミング英語Computer Programming)とは、ある特定のコンピューティングの結果を得ることを目的として、実行可能コンピュータープログラムを設計・構築するプロセスのことである。プログラミングが関係するタスクの例としては、アルゴリズムの生成、アルゴリズムの正確さとリソースの消費量のプロファイリング、選択したプログラミング言語でのアルゴリズムの実装(これは一般にコーディングと呼ばれる)などがある[1][2]。プログラムのソースコードは、コンピューターCPUで直接実行される機械語ではなく、プログラマーが理解できる1つ以上のプログラミング言語で書かれる。プログラミングの目的は、あるタスク(オペレーティングシステムのように複雑な場合もある)をコンピューター上で自動化する1連の命令を見つけることで、与えられた問題を解決することである。

「プログラミング」『フリー百科事典 ウィキペディア日本語版』より。
2021年2月10日 (水) 8:00 UTC
URL: https://ja.wikipedia.org/wiki/プログラミング

さて、ここまで読んで「要するにプログラミングって何?」と感じた方が多いと思いますので、
以下では具体的なお話をします。

プログラムを語る上で必要なキーワード、「0と1」

まずはじめに、この部分がよく分からなそうだなと、
直感で感じた方は次の見出しまでスクロールして下さいw

コンピュータやプログラムの処理は、全て、0と1の組み合わせで全てが成立しています。

どういうことかというと、コンピュータやプログラムを動かす元となっている「電気」の
オン(1)とオフ(0)で全て計算されているということです。

0と1の組み合わせで計算をすることを、2進数と言い、普段僕たちが足し算/引き算で使うのは

10進数なのですが、、難しい話は置いておいて、、
要するに、プログラムで動くモノの一番分かりやすい例は「お湯沸かし器」です。

ティ○ァールや象○のお湯沸かし器をイメージして下さい。
水を入れて電源を入れたあと、100度まで沸くと、自動的に沸かすのを止めます。
99度まではひたすら電気を流し続け、100度になると電気の流れを止めます。
さらには、止まると同時に音声やランプで知らせてくれます。
人がガスコンロを使ってお湯を沸かすと、お湯沸かし器のようにはいきませんね。

お湯沸かし器は、非常にシンプルな機械ですが、このように、プログラムによって、
様々な条件を組み合わせていくと、より複雑なプログラムができます。

ここで覚えておいて頂きたい大事なことは1つ、どんなプログラムも、
1つ1つ細かくみれば、「0か1」であるということです。

さてここまでお話すると、こんな人が多いでしょうか?

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_6333-460x460.jpg
初子さん

なんとなくわかったような・・・・そうじゃないような・・・
けど、結局、プログラムって目に見えないからイメージできません!

https://www.programmingblog.jp/wp-content/uploads/2021/01/IMG_4985-300x300.jpg
筆者

確かに、プログラムは、目には見えないので分かりにくいです。

ではここからは、何個かイメージが付きやすくなるような例え話をします。

プログラムとはなにか、イメージで捉えるための3つの例

1つ目:「分岐点」に近い

先ほどは、お湯沸かし器の例を挙げました。
もう1つ、イメージを持っていただくために、例を挙げます。

普段から多くの人が電車に乗っています。通勤や通学や買い物、または旅行の際にも使いますね。

さて、車掌さんが開けてくれる電車のドアですが、これも一部プログラムで動いてるはずです。
想像してみて下さい。車掌さんが「開」を押したら、どんな時でもドアが開いてしまうとしたら・・・?
間違って「開」を押してしまうことも無いとは言い切れませんし、結構恐ろしいですよね。

しかし、当然のことですが、そんなことはありません。
電車のドアは電車速度の有無によって、ドアの開けるボタンが効くかどうか「分岐」させているはずです。

これは、プログラムによりコンピュータが働いたことによる動作の「分岐」です。
プログラムは、「分岐点」に近いものだと覚えておきましょう。

2つ目:「記憶」の役割

もう1つ、例を挙げます。

友達から、東京駅で売ってるあのお土産がすごく美味しかった!!という話を聞いたとします。
その後、そのお土産が気になり、インターネットで検索したとします。

すると、1度検索して以降、インターネットで何か調べ物をする度に、そのお土産が広告として
Webページに表示されたり、You○ubeで動画を見る度に、広告動画としてそのお土産の宣伝が流れたとします。

良い捉え方をすると、ものすごく自分がしたことを覚えててくれますよね。

そうです、一度覚えると忘れないのがプログラムです。
プログラムは、「記憶」に長けているものだと覚えておきましょう。

3つ目:完璧に「論理的」

最後にもう1つ、例を挙げます。

と言いつつ、例は同じ、お湯沸かし器ですw

これは仮の話ですが、先程の「分岐点」に近い役割があるプログラムに、
水温が50度になったら再沸騰させるという「分岐」を追加したとします。

電源を入れると、まず100度までいき沸騰し、電気が止まり、水温が下がっていきます。
その後、50度まで下がったタイミングで電気が入りし、再び100度になると電気が止まります。

その後、50度になると再度電気が入り・・・となり、電気代が凄いことになってしまいそうです。

しかし、プログラムは、どこまでいっても論理的で、プログラミングされた通りに動きます。

プログラムは「論理的」であると覚えておきましょう。

最後に

さて、楽しんで頂けたでしょうか。少しでもプログラミングが身近に感じて頂けたら幸いです。

今日のところは、長くなってきてしまったので、この辺で終わりにします。

次回は、プログラミングが、具体的に何に利用されているかなどをまとめます。
最後までお付き合い頂きありがとうございました。

関連記事

特集記事

コメント

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

TOP