コンピュータを一言で言えば何と答えますか? 「いつも使っている機械」かな!
こんにちは!
IT・プログラミング関連講師の荒川栄一郎です。
本日は「プログラミング言語」について記述します。
プログラミング言語って何?
現在では、コンピュータは人々の生活を様々な場面で支えています。
PC(パーソナル・コンピュータ)もスマートフォンもゲーム機器も
全てコンピュータです。
我々はコンピュータを利用して
●PCであればWord、Excel、PowerPointやWebブラウザなどのソフトウェア
●スマートフォンであれば様々なアプリ
●ゲーム機器であれば、野球ゲームソフトや対戦型ゲームソフト
のようなソフトウェア(プログラム)を使用しています。
そのソフトウェアを作成することが「プログラミング」です。
プログラミングは、現在では様々なところで利用されています。
2020年度から
日本全国の小学校で「プログラミング教育」の必修化が始まりました。
「プログラミング」という言葉を聞いて
「なんか難しそうだな」と感じる方も多いのではないでしょうか。
プログラミングをするためには
「プログラミング言語」の知識が必要となります。
「さらに難しいな」と感じる方も多いのではないでしょうか。
プログラミング言語とは
人間がコンピュータに伝えたいことがある時に使用する
コンピュータ専用の言語です。
もう少し簡単に言うと
プログラミング言語とは、人間がコンピュータに伝えるラブレターです。
人間はコンピュータを愛していますので
コンピュータに実行してほしいプログラムを信用して伝えます。
コンピュータも人間を愛していますので
人間から伝えたプログラムの指示通りに実行してくれます。
しかし逆に言えば
間違ったプログラムを指示しても、その通りに実行します。
危険なことも潜んでいますので、安全面も考慮しなければいけません。
ソフトウェア(プログラム)ってどのようにして動いているの?
通常、我々が使用するOfficeやWebブラウザなどのソフトウェアは
ハードディスクなどにインストールして利用します。
SE(システム・エンジニア)やプログラマなどの開発者が作成するソフトウェアも
ハードディスクに保存して利用します。
ソフトウェアが実行される時は
そのソフトウェアが主記憶装置(メインメモリ)に読み込まれてきます。
メインメモリはコンピュータの内部に設置されており
実行するプログラム(ソフトウェア)やデータの作業場になります。
メインメモリに読み込まれてきたプログラムを
CPUが順次実行していきます。
CPUは「Central Processing Unit」の略語で「中央処理装置」という意味です。
内部には、制御装置と演算装置というものを持ち
人間で言うと「脳」に相当する部分になります。
このCPUによって
●ディスプレイ画面に出力しなさい。
●1つ目のプログラムを読み込んできなさい。
●「1+2」の計算結果は「3」です。
のように命令(指示)を出したり、計算を行わせることができます。
プログラムというものは人間が作成するもので
簡単に言うと文章で構成されています。
多くは英語ベースの文章で表記してプログラムを作成します。
プログラムは1つの文章で構成することもありますが
多くは複数の文章で構成されています。
1つ1つの文章は、どのようなタイミングで実行されているかと言うと
「クロック周波数」を発生させる装置によって順次実行されています。
クロック周波数とは、「ON」と「OFF」を繰り返す信号のことです。
例えて言うと
●旗・・・上げたり(ON)、下げたり(OFF)を繰り返すことができる
●メトロノーム・・・左(ON)、右(OFF)への移動を繰り返すことができる
●カスタネット・・・叩く(ON)、叩かない(OFF)を繰り返すことができる
のようなものです。
「ON」になる度に
1つ1つの文章をCPUが解析して
実行されていると考えてみては簡単ではないでしょうか?
プログラミング言語について
プログラミング言語には、非常に多くの種類があります。
しかしコンピュータが理解できる言語は「マシン語(機械語)」だけです。
様々なプログラミング言語があり
多くのプログラミング言語は英語ベースで表記していきますが
どれもコンピュータが理解できるものではありません。
どのプログラミング言語でプログラムを作成しても
最終的にはコンピュータが理解できる「マシン語(機械語)」に変換する必要があります。
マシン語(機械語)は「0」と「1」の数字の並びの組み合わせで構成されている
言わば暗号みたいなものですので人間には理解することができません。
そこで最初に開発されたプログラミング言語が「アセンブリ言語」です。
コンピュータはマシン語(機械語)しか理解できませんが
これを人間が書くのは分かりにくく大変です。
マシン語(機械語)を人間でも分かりやすくするために簡略化した
英単語や記号を一対一に対応させたものを「アセンブリ言語」といいます。
アセンブリ言語のようなコンピュータに近い言語のことを
「低水準言語」と言います。
その後に
プログラムを書くときは、人間が理解できる形でかけ
実行するときは、コンピュータに理解できる形に変換できるようにする
「高水準言語」が開発されていきました。
高水準言語には
●C言語
●C++
●C#
●Python
●Java
●Visual Basic
●PHP
などがあります。
プログラミング言語のまとめ
プログラミング言語って難しいと思われている方も多々いると思いますが
人間がコンピュータに伝えるラブレターです。
プログラミング言語の種類は様々なものがあり
プログラミング言語の種類によって向いている用途が異なります。
●携帯アプリに向いている言語
iOSアプリを開発したい場合は「Swift」や「Objective-C」があります。
Androidアプリを作る場合は「Java」や「kotlin」があります。
●ゲーム開発に向いているプログラミング言語
現在、ゲーム開発会社の多くでUnityという統合開発環境が利用されています。
Unityに使われることの多い「C#」や「JavaScript」があります。
●Webサイト制作に向いているプログラミング言語
「HTML」と「CSS」と「JavaScript」のようなブラウザ側の言語だけでなく
サーバ側で動く「Java」や「PHP」や「Ruby」などがあります。
●AIや機械学習に向いているプログラミング言語
AIや機械学習に用いられるディープラーニング技術において
特に存在感を発揮しているプログラミング言語が「Python」です。
PythonはWebサイト制作にも利用することができます。
●組込み系に向いているプログラミング言語
ロボットなどの制御プログラムを作成することに
利用されることが多いプログラミング言語は「C言語」です。
プログラミング言語は
人間がコンピュータに伝えるラブレターです。
もしコンピュータに興味を持たれたら少しずつ勉強してみてはいかがでしょうか?
ユーザとしては知る必要がありませんが
少しずつ覚えていくことで、点が線で繋がることも多々あります。
そうなると結構楽しくなるかもしれません。
これからIT業界を目指している人には
知っておいてほしい知識だと思いますが
少しずつ勉強していってほしいと思います。
プログラミング言語について学ぶ方法は
プログラミング言語については
新入社員研修やIT・プログラミング関連の研修で
学ぶことができるようになっています。
【IT研修】
●「コンピュータ基礎」の詳細情報
https://itlaboj.com/courses/it_training/computer_kiso/
「コンピュータ基礎」習得に必要なもの
このコースの内容は基本的に座学になりますので
PCが1台あれば十分だと考えます。
オンラインで受講される人は
「Zoom」が利用できる環境があればいいと考えます。
特にシステム開発に直結する話ではありませんが
SEやプログラマになるための最初のステップになります。
みんなが楽しみながらコンピュータの知識を習得してほしいと思いますし
将来のIT技術者を研修や動画コンテンツを通じて
育成していきたいと考えています。
私は日本全国に多くのIT技術者を育成できる研修を目指していきたいです。
そして一人でも多くの受講者に受講してもらい理解してもらえる研修を行いたいと思っています。