質問: **一番最初にC言語の開発をした人はどうやってコンパイラを用意したのでしょうか??** gccはC言語でできていると思います。 makeによってコンパイラであるgccをコンパイルすることができると思いますが、makeもC言語でできているんでしょうか? その場合、**makeをコンパイルするためのコンパイラがまた必要になりますよね?** 永遠に終わらないんですが・・・ 一度作ってしまえば、使い回しができそうですが、**最初にコンパイラをどのようにして作り上げたのでしょうか?** アセンブリ言語でひたすら書くんでしょうか? make - デバイスドライバのコンパイルやカーネルのコンパイルに使われる。 gcc - ユーザーアプリケーションのコンパイルに使われる。 2つの違いがよく分かりません。なんでgccではデバイスドライバのコンパイルができないのでしょうか? コンパイラにも種類があるということですよね? わかる方教えてください。
回答: デニス・リッチー自身が書いたC言語誕生の歴史が以下にあります The Development of the C Language (Dennis M. Ritchie) The Evolution of the Unix Time-sharing System (Dennis M. Ritchie) * C言語コンパイラはB言語コンパイラで作成された(C言語は当初New Bと呼ばれていた) * C言語を作るのに用いたB言語コンパイラは、B言語自身で記述されたもの * 最初のB言語コンパイラはTMGという言語で作成された 使用したTMGコンパイラが何で作られたかは明確に書かれていませんが、TMG登場以前のUnix上のプログラムは全てアセンブラで書かれていたとあるので、最初はアセンブラで作成されたはず