プログラミングって何なん?後編

前回は、プログラミング言語について書きました。
今日はCPUとプログラミング言語について説明します。

プログラムとCPU

前回、コンピュータに命令するための呪文がプログラミング言語です、と説明しました。

ここでいうコンピュータとは、厳密には「CPU」という小さなキカイのことです。

Intel CPU Core i7 2600K Sandy Bridge bottom右の写真はインテルという会社のCore i 7 というCPUの裏面です。大きさは数センチくらい。中はびっしりと小さな電子回路が詰まっています。

写真に写っている金色の小さなポチポチは、すべて端子です。
この端子一つ一つから電気信号を入出力できるようになっています。一瞬で色々な計算をさせることができます。

「でも、電気信号とプログラミング言語というのは違うものでしょ?」と思った方、鋭いですね!

CPUに命令するためのプログラミング言語は、0と1だけで表されます。
この0は電気信号のオフ(電圧が無い状態)、1は電気信号のオン(電圧がかかった状態)としてCPUに伝える事ができます。

でも、映画とかに出てくるプログラミング言語って0と1じゃないですよね。もっと何かこう…英語みたいなやつです。

プログラミング言語の翻訳

先ほど「プログラミング言語には色々な種類がある」と書きました。CPUの種類ごとに作られたものを機械語といいます。機械語は0と1で表されます。

プログラミング言語には、機械語のほかに高級言語と呼ばれるカテゴリのものがあります。高級といっても値段が高いわけではなくて、より表現力が豊かである、という意味です。

コンピュータに何か命令したいニンゲンにとっては、0と1でプログラムを書くよりも、英単語で書けた方がラクです。なので、英単語で書き表せるような高級なプログラミング言語を作って、普段はソレを使ってプログラムを書きます。実際にCPUに命令するときには、その高級言語で書かれたプログラムを機械語に翻訳してから使います。

この翻訳のことを「コンパイル」と言います。コンパイルをするためのプログラムもあって、それはコンパイラと呼ばれます。


解説は以上です。

プログラミング言語とは、どのようなものなのか、イメージできるようになっていただけたら幸いです。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。