#01「プログラミング20言語習得法」【技術書#01】
プログラムはコンピュータに対する命令
コンピュータは0と1しか理解できない→これをバイナリと呼ぶ
2つの状態を表すにはスイッチで十分→コンピュータはスイッチの集合体
スイッチひとつが1ビットの情報を持つとする→8ビットで1バイト
コンピュータへの司令としてのバイナリは機械語と呼ばれる
0と1だけでは大変なので、いくつかの処理をまとめてしまったものをアセンブリ言語という→CPUの挙動も配慮しないとダメで扱うのが大変→CPUの挙動を気にしなくてもプログラムが書ける高級言語が誕生
言語(アセンブリ、高級)をバイナリに翻訳するソフトを言語プロセッサという(アセンブリ:アセンブラ、高級:コンパイラ、インタプリタ)
○高級言語のプロセッサについて
・コンパイラ方式:プログラムを一度にバイナリに翻訳してコンピュータに与え実行する方式(cf.作成された実行可能ファイルは、コンパイラが無くても実行できる。ただし、異なる機種のコンピュータでは実行できない)
ex)C,FORTRAN
・インタプリタ:プログラムを1行ずつ変換して実行する方式
ex)BASIC,Ruby
・仮想マシン方式:プログラムをコンパイラでマシン語に近いもの(中間ファイル)に翻訳。実行の際にインタプリタを用いる。(中間ファイルの時点で、機種専用にせずに、最後のインタプリタで区別をする)
ソフト(さわれない)↔ハード(サワれる)
ソフトは基本と応用に分かれる
・基本ソフト:OSがメイン→コンピュータのハードを動かし、管理している
ex)Windowsはマイクロソフトが提供しているOS。それで動いているパソコンはWindowsマシン
MacOSもOS
・応用ソフト:ワープロ、表計算、ゲームソフトなど→アプリとも呼ばれる
・ミドルウェア:データベース管理システム(DBMS)やネットワークを管理するシステム
GUI:グラフィティカル
CUI:キャラクター→コマンドプロンプト(プログラマーっぽいやつ)
プログラムの動作は大きく分けると、入力→処理→出力
プログラム構造は、順次構造、反復構造、選択構造 の3つがある
プログラムの方針は、
手続き指向:プログラムの処理を順を追って考え、それらを細分化して、それらを実行する関数を作成する手法 ex)C