Compiler sind Hilfsprogramme - sie wandeln Programmiersprachen in Maschinencode um. Wenn die Programmiersprache Software beschreibt, die gerade ein Compiler ist ...
Compiler können auch Maschinencode für andere Architekturen erstellen. Zum Beispiel kompiliert Apple iOS mit Racks von Intel-basierten Servern. Der Compiler muss den erzeugten ARM-Code nicht ausführen, sondern nur auf die Festplatte schreiben.
Compiler 2.0 muss in einer Sprache geschrieben Compiler 1.0 kann verarbeiten, aber es kann sicherlich Compiler 2.0 mit neueren Funktionen wie Optimierung erstellen. Sie können den Quellcode dann mit Compiler 2.0 neu kompilieren und eine bessere Version von sich selbst erstellen. Auch hier weiß der Compiler nicht, dass er eine andere Version von sich selbst erstellt.
Wenn wir weit genug zurück in den Nebel der Zeit gehen, dann erreichen wir einen Punkt, wo wir keinen Compiler haben - die allererste Iteration einer Hochsprache. Dann müssen wir die Bleistifte herausholen und die Bücher opcodieren und die erste in der Versammlung schreiben. Wie haben wir den ersten Assembler geschrieben? Direkte Maschinencodeeingabe, wahrscheinlich auf gelochtes Papierband oder umschaltbare Schalter an der Frontplatte.
Viele Compiler sind in der Sprache geschrieben, die sie kompilieren - Google [bootstrapping] (http://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29), um mehr zu erfahren. –
Ich denke, der _original_ Compiler wurde in C++ geschrieben. – PoweredByOrange
Nun kann ein Hammer mit einem anderen Hammer geschmiedet werden. Vorherige Version davon ... –