最近、プログラミングという言葉を聞く機会が増えてきていませんか??
テレビやニュースサイトを見ているとよく耳にするようになってきたプログラミング。
2020年に小学校の義務教育に組み込まれることからスタートし、2021年には中学校、2022年には高校で必修化。そして2024年には大学入学共通テストに導入が予定されています。
また、大学生の就職したい企業ランキング上位にもIT企業の名前が多く入ってくる時代となりました。
今回はそんなプログラミングとはそもそも何か??についてまとめました。
目次
プログラミングとは何か??
コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。(Wikipedia参照)
何を言っているかよくわからないですよね・・・
programmingという単語は分解すると「program+ing」と言うことになります。
そもそも、program/プログラムとは「計画」「予定表」などが日本語での意味となります。
「Ex:大会のプログラムが決定しました。」など、このような意味で使われることは聞いたことがありますよね??
要は、コンピュータがproguram(計画)通り動くように支持(ing)を出すということとなります。
programming(プログラミング)とはコンピュータに計画通り動くように支持を出す作業という意味となります。
コンピュータのプログラムとはコンピュータが実行する作業を順番に書いてあるマニュアルや計画表です。
プログラミングでできることは??
プログラミングと聞けば魔法のように感じている人が多いと思いますが、実際はそんなことは全くありません。
上記の章で説明したとおりですが、コンピュータを動かす計画表なので計画表通りにしか動きません。
みなさんが使っているスマホアプリ….
(Facebook、LINE、Instagram、Twitter、Youtube、TikTok、パズドラ・・などなど全部!!)
このアプリも一つ一つの動きはすべてプログラム(計画表)に書かれていることなんです。
画面をタップしたら次のページに移るといったことからプログラムに組み込まれています。
組み込まれていない動作が起こることは「バグ」と呼ばれています。
スマホから始まり、プレイステーションや任天堂のゲーム、エアコンや冷蔵庫、オーディオなどなど・・これらの中身はすべてプログラムで動いています。
プログラミング言語とは何か??
何かで見たことがあるかもしれませんが、コンピュータが直接理解できるこの0(ゼロ)と1(イチ)が並ぶ情報を「機械語」といいます。
下記の画面です。
コンピュータは実はこの「0」と「1」のみで動いているんです。
この機械語は直接人間が見てスムーズに理解することはほぼ不可能です。
そこで人間が書くことができて、機械語にも変換ができる中間言語の立ち位置でとして「プログラミング言語」というものが作られました。
簡単に言えば、人と機械の間に立つ翻訳屋さんと思ってください。
ただ、翻訳屋さんに伝えるにも特殊な言語が必要であり、私達人間が理解してプログラミングしてあげないといけないのです。
プログラミング言語は、最終的にコンピュータが理解できる形の「機械語(0と1の羅列)」に変換されて動作しています。
プログラミング言語の種類は??
人間同士が会話するために使っている日本語や中国語、英語などは「自然言語」と呼ばれまています。プログラミング言語もこの自然言語と同じ理由で存在しています。
日本人が外国人と話すためには外国語を覚えるか、外国人が日本語を覚える必要があります。
プログラミング言語はその目的によって色々な言語があるのです。英語のように比較的広く使えるものがあったり、超狭い範囲でしたつかえないものがあったりとイメージしてください。
例えば・・・
- Webサイトを作るなら「HTML/CSS」
- iPhoneアプリを作るなら「Swift」
- Androidアプリを作るなら「Java」
- 価格comのようなサービスを作るなら「Ruby」
- AI/人工知能を作るなら「Python」
などなど、こちらは超メジャーなものを説明しましたが、実際はスマホ、ゲームやパソコンで動かすアプリケーションからWebブラウザで使うものなど多数の言語が存在します。
おおよそプログラミング言語はマイナーなものなどまで含めると200種類は超えています。
(実際に世の中でメインに使われるものは数10種類くらいでしょうか。)
そしてプログラミング言語は英語以上の幅広い世界共通の言語と認識していてください。
プログラミングとは?のまとめ
プログラミングの意味は理解できましたでしょうか??
実際にプログラミングを実施してみると、普段使っているスマホやネットがどう動いているか理解できます。
えー・・・めんどくさーって感じることもできます 笑
※めんどくさいことをショートカットするためにプログラミング言語には色々な関数と呼ばれるものなど深く深く色々なものがあります。
ぜひ、プログラミングとは何?から実際に動かして体で理解してみてください。