サバイバル

ブロックチェーンがー!機械学習がー!プログラミングってそもそも何?

「これからの時代はプログラミングがー!AIがー!」と世間では騒がれていますが、多分皆さん「そもそもプログラミングってなんなの?」 と思っていませんか?

そこで今回は「プログラミングって一体何だよ!」という人に向けて、スライド付きでざっと説明してみようと思います。

プログラミングってなんやねん

プログラミングは簡単に言うと「めんどくさいことをパソコンにやらせるための方法」です。

おそらくプログラミングと言う言葉を聞いてみなさんが想像する画は、真っ黒いパソコンの画面に張り付いてひたすらわけのわからない英語の文字をカタカタ打ち込んでいるイメージだと思います。このイメージで間違ってはいないのですが、実際に彼らがやっていることはみなさんが想像するよりもっとわかりやすいことです。

プログラマは真っ黒のパソコンの画面上で「どんなことをパソコンにやらせたいのか」をひたすら書いているだけです!

この「どんなことをパソコンにやらせたいのか」をひたすら書いている作業のことをプログラミングと呼びます。

ケース

それでは、具体的にどのような場面でプログラミングをしてパソコンに命令を出す必要があるのか考えてみましょう。例えば、上のスライドにあるように3人の身体測定の結果の平均値が知りたいと思っていたとします。ここでは、AさんBさんCさんの3人だけなので、人間の脳みそでも比較的簡単に計算することができます。

しかし3人だけでなく100人、1000人、10000人と計算する対象データが増えていけばいくほど、人間の脳で計算を行うには限界があります。よって人間は計算が得意なパソコンにこの作業を丸投げすることになるのです。

パソコンとコミュニケーション

こう言う例を出して説明すると必ず「excelにブチ込めよww プログラミングなんかしなくていいじゃんw」と言う意見が飛んできます。はいそうです。その通りです。

しかし、ここではプログラミングの仕組みを理解するためにひとまずexcelが存在しない時代、excelと言うソフトを作った人の気持ちになって考えてみてください。

パソコンは根本的に0か1かの電気信号でしか物事を考えられません。音声認識などに慣れた現代では少し不思議かもしれませんが、パソコンにはもともと人間の言葉を理解する能力はないのです。なのでいくら人間がパソコンに向かって「身体測定の結果をまとめろ!」と叫んだところで何も起きません。これは命令こそしていますが、全くプログラミングとは呼べません。

 

あなたは同じ言葉が通じない人とどのようにコミュニケーションをとろうとしますか?

その答えは、両方が理解できる共通の認識を介して意思を伝えることです。よって、人間もパソコンもどちらも理解することのできる共通認識として「プログラミング言語」と言うツールが発明されました。

英語しか話せないAさんと日本語しか話せないBさんは、2人とも英語の文章は読めたので、英語の手紙でやり取りをすることによってコミュニケーションが取れます。Aさんが人間の言葉しか話せない人間だとして、Bさんが電気信号しかわからないパソコンだとすると、手紙の役割を果たすのがプログラミング言語です。人間は、プログラミング言語を使うことによってパソコンに自分の意思を使えることができるよになりました。

プログラミングとは

プログラミングとは、要するに「パソコンに向けて手紙を書く行為」と考えられます。Aさんが言葉の通じないBさんに向けて手紙を書いたように、プログラマたちは真っ黒の画面越しに言葉の通じないパソコンに向けてひたすら手紙を書いているのです。こうして考えてみると、あの怪しい真っ黒の画面がロマンティックにも思えなくもないような、、、

バイリンガル

言葉の通じない人間とパソコンをつなぐ手紙のような存在がプログラミング言語と先ほど言いましたが、英語、日本語、中国語など、現実世界にも複数の言語が存在するように、プログラミング言語も数多く存在します。それぞれの言語には特徴がありながらも、パソコンとコミュニケーションをとると言う最終的なやりたいことは同じです。

まとめ

プログラミングとは

めんどくさいことをパソコンにやらせるために、その命令をパソコンに伝える作業。

プログラミング言語とは

言葉が通じないパソコンと意思を疎通させるために使われる、手紙のようなツール。

記事を読む前と後で「プログラミングとは一体何か?」 について少しでもイメージが出来るようになっているでしょうか?プログラミングの概念を理解したらあとは、プログラミング言語の文法を学習して、実際にパソコンに命令をだす実践あるのみです。この記事がきっかけで一人でもプログラミングに興味を持ってくれる人が増えてくれたらいいなと思います。

お仕事決まれば全額キャッシュバック!転職特化型Ruby実践研修【ポテパンキャンプ】
集中的な8週間のマンツーマン訓練で、最先端のAIエンジニアを目指す
受講者満足度も90%以上!【WebCamp】
【WEBCAMP ONLINE】
未経験のITエンジニア転職なら【TECH::EXPERT】
ABOUT ME
gitackt
お金をかけないサバイバル術の記事を書きます。温泉と餃子が好きです。プログラミングが得意です。趣味はメルカリです。