Wurde C mit Assembler gemacht?

...komplette Frage anzeigen

3 Antworten

Nicht ganz. Die ersten C-Compiler wurden mit B programmiert, dem Vorgänger Cs. Danach wurde C mit C entwickelt, da es ja schon minimalistische Compiler gab. Man könnte trotzdem sagen, dass C in Assembler programmiert wurden, da der B-Compiler in Assembler programmiert wurde.

GluecklicheHuhn 11.08.2016, 20:17

War Assembler eigentlich die erste richtige Programmiersprache? Wenn dann müsste ja so ziemlich alles von Assembler gestammen haben.

0
spriday 12.08.2016, 11:49
@GluecklicheHuhn

Nein, streng genommen war "Plankalkül" von Konrad Zuse die erste Programmiersprache. Diese war aber nur ein Konzept. Die erste "richtige" Programmiersprache war ARC Assembly.

0

Die Antworten vor mir helfen dir eigentlich nicht weiter, denn es handelt sich dabei um die ersten beginne der Programmiersprache C, nicht um das Procedere, wie heute Compiler geschrieben werden.

Ein Compiler ist ein Programm, welches einen Sprachcode (also was in C geschriebenes) in ein maschinenausführbares Programm verwandelt (bzw. in einen Zwischencode, es gibt fast immer den "Linker").

Das seit vielen Jahren gängige Verfahren, um neue Compiler zu generieren ist, diese in der selben Sprache zu entwickeln und dann mit einem Compiler aus der Vorserie ein ausführbares Programm zu erzeugen.

Dieser Compiler wird aber niemals das Licht der Welt erblicken, er wird nur genutzt, um den selben Sourcetext zu kompilieren, und diese Version ist es, die ausgeliefert wird.

Es mag einmal Compiler gegeben haben, die in Assembler geschrieben waren, aber seit vielen Jahren (30 bis 40) wird es nur noch Compiler geben, die auf die oben genannte Art erzeugt wurden. Bei Compilern ist das Laufzeitverhalten (also die Geschwindigkeit) nicht so entscheidend, daher macht die Entwicklung in direktem Assembler keinen Sinn, die Fehleranfälligkeit von direkter Assembler-Programmierung ist ein weiterer Grund, auf Hochsprachen bei der Compiler-Programmierung zu setzen.

In BCPL hat Thomspon das gemacht. 

Giving just a summary of what he wrote there, use his article for the finer details. C started with the BCPL language, Ken Thomson had access to a compiler for it that ran on their General Electrics 635 main frame. Unhappy with the language, Thomson used BCPL to write a compiler for the B language, an evolutionary step beyond BCPL that removed some of the technical problems in BCPL.

They used B to create programs on their PDP-7 minicomputer, although most of them were little more than toy programs, the machine had very restricted hardware capabilities. One important step taken by Thomson was to rewrite the B compiler in B itself. A common bootstrapping step.

That compiler was then gradually tweaked, through a short-lived intermediary step called NB (New B) to start resembling C. The PDP-11 minicomputer was instrumental in that step, giving them enough room to improve the language and compiler.

Was möchtest Du wissen?