そもそもプログラミングって何?簡単に説明する

#技術系
written by 銀太

こんにちは!

もうそろそろ梅雨ですね。。。

緊急事態宣言も続き、梅雨に入りでダブルパンチですね〜

夏に入るまで修行だと思って今年の梅雨は乗り切ろうと思います!

皆さんも頑張りましょうねー!

 

まぁ、そんな話はさておき今回は、プログラミングって何なのよって事を記事にしてこうと思います。

プログラミングとは?

そもそもプログラミングって何のかって簡単に説明すると、「コンピューターの指示書を書くこと」になります。

と言ってもいまいちピンとこないですよね。。。笑

もっと砕いて説明したいと思います!

皆さんプログラムと言う言葉はご存知でしょうか?

プログラミングと言う言葉に対して理解が無くても、プログラムと言う言葉は皆さん聞いた事があるのではないでしょうか?

例えばコンサートのプログラムだったり、運動会のプログラムだったり、思えば聞いた事のあるフレーズですよね。

プログラムの和訳を見てみたらこんな感じになっていました。

programとは
→プログラム、番組表、計画、予定、予定表、(教育・科目の)過程(表)、カリキュラムetc…
※weblio参照

言葉の成り立ちから説明をすると、「プログラミング = Programming」つまりプログラミングとは「プログラム(指示書)をする(書く)こと」を意味します!

コンピューターにプログラム(指示書)通りに動いてもらうプログラム(指示書)を書く事がプログラミングになりますね。

ですが、コンピューターは人間が作ったのに人間の言葉をそのまま理解出来ないので、コンピューターが理解出来る「プログラミング言語」を用いて指示書を書かないとコンピューターが指示書通りに動いてくれないんですよね。

そこで次はパソコンに動いてもらうために必要なプログラミング言語について話したいと思います!

プログラミング言語とは

コンピューターに日本語の指示書で動くようにお願いしてもプログラムは動いてくれないです。

何故なら、コンピューターはコンピューターが理解出来る言葉を使わないと動いてくれません。

コンピューターは人間の使う言葉が通じないので、コンピューターに指示書通りに動いて欲しい場合は、コンピューターが理解出来る、「プログラミング言語」を使用しないとコンピューターは動いてくれません。

プログラミング言語に関してなのですが私たちが普段使用する、「日本語」や「英語」のようにプログラミング言語にも様々な言語が使われています。その種類は何と200種類越えらしいです。

私達が使う言語は国によって言語を使い分けるって感じですが、プログラミング言語においては作成する指示書の内容によって使う言語を使い分けるって形になります。

と言ってもどういう使い分けの仕方をするか分からないですよね笑

そこで次はプログラミング言語の種類とどんな用途で使い分けるか説明しますね!

プログラミング言語の種類と用途

プログラミング言語では、作りたい物から逆算して、それに適した言語を使用する事になっています!

コンピューターに向けた指示書を作成する時には適切な言語を使って指示書を作成しようねって事になります!

 

これから紹介するのはプログラム言語を大きく分けた区分になります。

・組み込み系言語
・ソフトウェア系言語
・ウェブ系言語
・アプリ系言語
・その他(機械学習、IoT系など)

これだけ言っても分からないですよね。笑
どんな用途で使い分けるか簡単に説明してこうかと思います!

組み込み系言語

組み込み系言語とは、機械に組み込まれてるいるコンピュータを動かすために使う言語になります、意外と気付いてないところで結構使われてるかと思います。

例えば冷蔵庫、テレビ、自動車、スマートフォン、パソコン、ドローンなどなど。。

例えばですが、炊飯器の加熱機能を自動で制御するためのプログラムや自動車の制御装置などに組み込まれるプログラムなど電子機器を正常かつ安全に動作させるためにプログラムを書いていきます。

これから紹介する言語に関しては「ふ〜〜ん、そんなんがあるんだね」程度で見てもらえれば良いです笑

主な言語
C、C++、Java、Microsoft Visual C++、Microsoft Visual Basic、C#、COBOL、BASIC、Pascal など

上記のプログラミング言語を使ってコンピュータを動かすためのプログラムを作成する感じになっています!

ソフトウェア系言語

ソフトウェア系言語とは、OS上で起動するソフトウェアを動かすために使う言語になります。

例えば、WindowsやMac上で起動するExcel、Word、Powerpointといったソフトウェアや、Internet Explorer、Google Chrome、Safariなどのブラウザ…などで使用されていますね。

毎日使ってるGoogle Chromeには感謝でしかないです!

主な言語
C、C++、C#、Java、Microsoft Visual Basic など

ウェブ系言語

ウェブ系言語とは、Internet Explorer、Google Chrome、Safariなどを使用してアクセスするページを動作させるために使う言語になります。
例えば、ホームページやウェブサービス、SNS…などで使用されていますね。

WEBブラウザ上で利用できるFacebookやtwitterのようなSNSや口コミ情報が集まっているサイトやAmazonなどのECサイトなどすべてWeb系言語によって作られたプログラムになりますね。

これらは皆さんが良く目にしたりする機会が多いプログラミング言語ではないでしょうか?

主な言語
HTML、CSS、JavaScript、PHP、Ruby、Ruby on Rails、Python、Go、Scala、Perl など

アプリ系言語

アプリ系言語とは、スマートフォンやタブレット上で起動するアプリを動作させるために使う言語になります。

App Store や Google Play Store などに公開されているアプリが当てはまりますね。

きっと誰もが一度はハマったことがあるスマホアプリなどは全てこのアプリ系言語に区分されるって感じですね。

「Suica」とか「PayPay」とかはアプリ系言語の区分になりますね!皆さんが一番身近に使用されてるアプリが多いかと思います。

そんな皆さんが使ってるアプリの指示書を書くために使用されてるのがアプリ系言語となっています!

主な言語
Swift、Java、Objective-C、Kotlin、JavaScript、React、React Native など

その他(機械学習系、IoT系など)

最後に、機械学習やIoTに使われている言語もあります。

機械学習とは簡単にいうと、人間が行う学習能力と同様の機能をコンピュータで実現する技術のことをいいます。

VRとは簡単に説明すると自分の周囲には実際ない空間があるように見えます。

ARとは簡単に説明すると現実の空間には実際ないものを、あるように見せます。

※IoTについては以前GOAT社員の「ま。」がご紹介しているので、そちらを参照してください!
IoTとは?モノがインターネットにつながる?レベル別に説明します!

主な言語
・機械学習−Python、C、C++、JavaScript、R、Julia
・IoT系−Python、C、Java など
・VR・AR系−Unity、C#、BluePrint など

長い説明になってしまいましたが結構色んな用途に別れて色んなプログラミング言語が使われているって事は分かってくれたでしょうか?

そして色んなとこでプログラミング言語が使用されていて私達の生活に凄い密接に関わってる事も分かりましたね!

終わりに

私達の生活の中には、様々なプログラミング言語を使用したプログラムが色んなところで動いてるってことが分かりましたね!

プログラミングって凄いですね!

最後まで読んで頂いた方はありがとうございます!それでは良い1日を!