FC2ブログ

C++講座② 低級言語と高級言語

 持病(5月病)持ちですが、がんばって2日連続で更新できました!
 前回は、「プログラムとは命令を書き連ねたものであり、CPUがその命令を一つ一つ順番に実行していくことでプログラムが動くのである」ということを学びましたね。
 ↓というわけで、今回はプログラミング言語についてです↓


 プログラムはCPUが命令を読み取ることで動くが、この命令は2進数で書かれたものである。
 2進数とは、0と1のみで表される数のことである。われわれが使用する数字は0から9までの10個の数字で表わされるので、10進数と呼ばれる。10進数では、1の次は2、2の次は3と変化し、9の次は位が1つ上がって10になる。しかし、2進数は0と1でしか表せないため、2進数だと1の次は10、10の次は11、11の次は100というように、1に1を足すだけで位が1つ上がってしまう。そのような数を2進数と呼ぶのである。
 コンピュータが扱うデータはすべて2進数である。その方がコンピュータにとって都合がいいのである。なので、CPUが読みとる命令もすべて2進数で表されたものである。このように、2進数だけで表わされるプログラミング言語(プログラムに使う言語)機械語と呼ぶ。
 しかし2進数で表された命令でのプログラミング(プログラムを作ること)はとても難しいものである。なぜなら機械語は、

0111110000001000000000101010011010111111……

というように、2進数だけで表わされたものだからである。
 この分かりにくさを改善するため、アセンブリ言語というものが開発された。アセンブリ言語は、機械語の命令部分を分かりやすい文字に置き換えたものである。たとえば、ある値を加えるという命令をADDとする(例:「ADD 6」とすると、6を加える命令になる)というようなものである。これは実際にマイコンなどで用いられたりする。しかし、機械語は1つ1つの命令が細かいため、機械語を置き換えただけのアセンブリ言語も1つ1つの命令が細かいのである。なので大きい(命令がたくさんある)プログラムになると、アセンブリ言語でのプログラミングは難しいのである。
 機械語や機械語に近いプログラミング言語を低級言語と呼ぶ。それに対し、人間に分かりやすく改良されたプログラミング言語を高級言語と呼ぶ。
 高級言語にはC言語やC++、Basic、Javaなどがあるが、それらは人間に分かりやすくしてあるがCPUはその言語で作ったプログラムを直接読み取ることはできない。そのプログラムを実行するには、高級言語を機械語に翻訳しなければならないのである。翻訳の形式にはコンパイラ形式とインタプリタ形式の2種類ある。インタプリタ形式はプログラムを起動するたびに機械語に翻訳して、プログラムを実行する形式である。それに対し、コンパイラ形式はプログラムを作るときに機械語に翻訳する形式である。なお、C++でのプログラミングにはたいていコンパイラ形式が用いられる。また、コンパイラ形式のプログラムを機械語に翻訳することをコンパイルといい、翻訳を行うプログラムをコンパイラと呼ぶ。


 ……まあ、ここら辺はあまりわからなくてもプログラミングはできますが、プログラミングの根本を知っておくことは重要なので、あえて長々と説明しています。おそらく、もう1,2回はこんな説明が続くでしょうね。
 では今回はこの辺でノシ
スポンサーサイト



コメントの投稿

管理者にだけ表示を許可する

プロフィール

ケーケー

Author:ケーケー
趣味:自作小説執筆、プログラミング、電子工作
好きなゲーム:ぷよぷよ

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR