回答編集履歴
1
追記
answer
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
「C言語」は実行できないよ。実行できるのは機械語(バイナリの実行ファイル)だよ、ということを常識として知っておくといいですね。
|
1
|
+
「C言語」は実行できないよ。直接実行できるのは機械語(バイナリの実行ファイル)だよ、ということを常識として知っておくといいですね。
|
2
2
|
|
3
|
-
機械語は人間には読めませんが、CPUには意味がわかる、というものです(厳密な話をしだすと、「機械語命令列」の前にOS宛のヘッダとか色々ついてる可能性はあるんですが、割愛)。
|
3
|
+
機械語は人間には読めませんが、CPUには意味がわかる、というものです(厳密な話をしだすと、「機械語命令列」の前にOS宛のヘッダとか色々ついてる可能性はあるんですが、割愛。また、機械語ですらない可能性もあるのだが(Javaの方式とか)それも割愛)。
|
4
4
|
|
5
5
|
Cのコンパイラはこのバイナリの実行ファイルを生成します。
|
6
6
|
|
7
|
+
ではRubyの実行環境は何かというと、こいつ自身はバイナリの実行ファイルです(だと思います)。要は、これ自体が一つのソフトウェアです。
|
8
|
+
|
7
|
-
|
9
|
+
どんなソフトウェアなのかというと、ファイルに書かれた文字列を読み込んでそれに応じて色んな計算や処理をしてくれるというものです。こういうものをインタプリタと言います。
|
10
|
+
(実際はJITとかやり方がいろいろありますが、割愛)
|