18/5/20 コンパイラ

プログラミング教室の説明会に行くと、大抵RubyPHPを押して来るのね。で、同じ指示をするのに、Java だとこんなに書かなくちゃいけないけど、Ruby だよこんなに短くて良いんだよと。

 

違う文字打ってるのに、何で同じ物が表示されるの?

これ普通の疑問だよね。説明会で聞いてみても良かったかなって思ったけど、自分で検索した。だって色々想像しちゃったからさ。

 

私の想像

前に図書館で借りた本から、パソコンってこう言う事↓してるんだって理解してたので、

プログラミング言語でコードを打つ。

コンパイラ機械語に変換。

③パソコン(多分CPU )が処理して表示。

 

考えた案が3つ···イメージも合わせて書いとく

コンパイラってのが優秀で色んな言語を変換出来る。···コンパイラトリリンガル以上

⑵そもそもコンパイラの機能に合わせて言語が開発されている。···プログラミング言語は方言

コンパイラは言語毎に種類がある。···コンパイラバイリンガル

 

頭の中でそれぞれ検証

⑴パソコン売る時にコンパイラの性能に依って値段変わるはず。そんなの見た事ないのでこれは違うな。

じゃ、⑵か⑶。

 

そもそもコンパイラってどこにあるんだ?

⑵ならパソコンの中、⑶ならパソコンの外。

あぁ、パソコンの外なら⑴も有り得るか。

 

ここで検索

コンパイラはソフトウェア!つまりパソコンの外が正解。

 

ん?ソフトウェアなら自作出来るよね?って調べたら、自作した人いた。凄い。

 

私の理解

プログラミング言語を作るとはコンパイラを作ると言う事。

コンパイラは基本⑶だが、⑴の性能の物もあるだろうし、コンパイラの使い易さに依っては、コンパイラの作者と言語の作者が違う⑵もありそう。