In welcher Programmiersprache wurde der C Compiler programmiert?
In welcher Sprache wurde bspw. der MiniGW dingsda Compiler programmiert? Müsste ja eigentlich Assembler sein oder eine andere denn woher soll er wissen wie er es kompiliert wird und was das alles bedeutet ohne davor selbst ein comiler zu besitzen. Theoretisch war das dann nur ein Text der deklariert wurde oder wie?
5 Antworten
der compiler generiert (mit dem linker zusammen) aus quelltext maschinenlesbaren binärcode - ein programm! in welcher sprache der verfasst ist, spielt keine rolle. wobei die meisten modernen compiler wohl in c++ programmiert sind.
stichwort: hardwarenahe programmierung (c++ ist c-kompatibel u. in c können assambler-anweisungen stehen)
Richtige Antwort, aber nicht für die Frage. Es geht um das Bootstrapping-Problem.
MinGW ist ein GNU C Compiler (GCC) für Windows. GCC ist in C geschrieben. Viele Compiler sind in C geschrieben, aber beispielsweiße clang ist in C++ geschrieben.
Natürlich kann man eine Programmiersprache nicht komplett in sich selbst schreiben. Aber Du kannst einen kleinen Kern der Sprache in Assembler schreiben, und dann den Rest der Sprache in diesem Kern ausdrücken.
Der erste C Compiler wurde in BCPL geschrieben
http://csapp.cs.cmu.edu/3e/docs/chistory.html
Dieses Dokument lässt auch einiges offen, ist aber sehr interessant.
In welcher Programmiersprache wurde der C Compiler programmiert?
Welcher Compiler? Es gibt ja Hunderte …
Der erste C-Compiler wurde wohl in Assembler von Dennis Ritchie geschrieben. Allerdings nicht unbedingt auf einer Intel-Maschine. In den 70er Jahren gab es noch reichlich Auswahl an Herstellern für Microprozessoren …
Das geht so nicht aus dem Abschnitt zur Geschichte von C in der Wikipedia hervor!
Dort steht: „C wurde 1969–1973 von Dennis Ritchie[2] in den Bell Laboratories für die Programmierung des damals neuen UNIX-Betriebssystems entwickelt. Er stützte sich dabei auf die Programmiersprache B, die Ken Thompson und Dennis Ritchie in den Jahren 1969/70 geschrieben hatten – der Name C entstand als Weiterentwicklung von B. B wiederum geht auf die von Martin Richards Mitte der 1960er-Jahre entwickelte Programmiersprache BCPL zurück.[4] Ritchie schrieb auch den ersten Compiler für C. 1973 war die Sprache so weit ausgereift, dass man nun den Unix-Kernel für den PDP-11 neu in C schreiben konnte.“
Vielleicht wurde er in „B“ oder auch direkt in Assembler geschrieben. Vielleicht hat sich Ritchie auch nur Anregungen aus den beiden Sprachen genommen, die er dann in der Sprache C umsetzte, die dann ihrerseits ein wirklicher Erfolg wurde. B und BCPL „kennt“ man noch, aber wer „kann“ die Sprachen noch?