コンピュータの基本
ほとんどのコンピュータは次の装置で構成されています(大まかにですが)。
入力装置
演算装置 (CPU: Central Processing Unit 中央処理装置)
記憶装置 (Memory)
制御装置
出力装置
これらをプログラム言語を使って動かしていくわけです。
実のところスマートフォンなどもコンピュータになります。
コンピュータそのものを制御しているオペレーティング・システム(OS: Operating System)というものがあり、
アプリケーションなどはこのOSの管理下で動作しているのですが、ここでは特に詳しくは説明しないでおきます。
CPUが理解できるのはネイティブコードでは、開発効率がよくありません。
次は コードは Intel x86ネイティブコードの抜粋です
code: x86 nativecode
00411390 55 push ebp
00411391 8B EC mov ebp,esp
00411393 81 EC CC 00 00 00 sub esp,0CCh
00411399 53 push ebx
0041139A 56 push esi
0041139B 57 push edi
0041139C 8D BD 34 FF FF FF lea edi,ebp-0CCh 004113A2 B9 33 00 00 00 mov ecx,33h
004113A7 B8 CC CC CC CC mov eax,0CCCCCCCCh
004113AC F3 AB rep stos dword ptr es:edi こんなプログラムを書くのは大変なので、
いろいろなプログラミング言語が使われています。
インタプリタとコンパイラ
プログラミング言語で書かれた文字列(ソースコード)を、コンピュータ上で実行可能な形式(オブジェクトコード)に変換することをコンパイルといいます。C や FORTRAN などが代表的なものです。
コンパルしなければ実行することができないわけです。
これに対して、インタプリタはプログラミング言語で書かれたソースコードないし中間表現を逐次解釈しながら実行します。
Python, Java, Ruby, Perl などが多くの言語があります。
余談
車の機構や構造を理解していなくても運転できたりするように、コンピュータの構造を詳しく知る必要は、今の段階では必要はありません。
しかしながら、ブラックボックスが進みコンピュータに対する理解が失われたおかげで、日本のコンピュータのハードウエアを取り巻く状況は悲惨なものになっているのも事実です。
DRAMメーカがなくなった
最新CPUを製造できる最先端の半導体工場がなくなった
プログラミングを学習していく中で、コンピュータへの理解も進んでいくことを期待しています。