18/5/20 コンパイラ
プログラミング教室の説明会に行くと、大抵Ruby かPHPを押して来るのね。で、同じ指示をするのに、Java だとこんなに書かなくちゃいけないけど、Ruby だよこんなに短くて良いんだよと。
違う文字打ってるのに、何で同じ物が表示されるの?
これ普通の疑問だよね。説明会で聞いてみても良かったかなって思ったけど、自分で検索した。だって色々想像しちゃったからさ。
私の想像
前に図書館で借りた本から、パソコンってこう言う事↓してるんだって理解してたので、
①プログラミング言語でコードを打つ。
③パソコン(多分CPU )が処理して表示。
考えた案が3つ···イメージも合わせて書いとく
⑴コンパイラってのが優秀で色んな言語を変換出来る。···コンパイラはトリリンガル以上
⑵そもそもコンパイラの機能に合わせて言語が開発されている。···プログラミング言語は方言
⑶コンパイラは言語毎に種類がある。···コンパイラはバイリンガル
頭の中でそれぞれ検証
⑴パソコン売る時にコンパイラの性能に依って値段変わるはず。そんなの見た事ないのでこれは違うな。
じゃ、⑵か⑶。
そもそもコンパイラってどこにあるんだ?
⑵ならパソコンの中、⑶ならパソコンの外。
あぁ、パソコンの外なら⑴も有り得るか。
ここで検索
コンパイラはソフトウェア!つまりパソコンの外が正解。
ん?ソフトウェアなら自作出来るよね?って調べたら、自作した人いた。凄い。
私の理解
・コンパイラは基本⑶だが、⑴の性能の物もあるだろうし、コンパイラの使い易さに依っては、コンパイラの作者と言語の作者が違う⑵もありそう。