Hallo,
ich informiere mich gerade über die Geschichte von Computern und bin bei dem Teil der Programmiersprachen angelangt. Vieles habe ich verstanden, doch manches noch nicht so ganz. Deshalb wollte ich hier mal nachfragen. Vielleicht kann mir ja jemand helfen.
Ich habe gelernt, dass der Compiler und der Interpreter den Code in einer Programmiersprache in eine Sprache übersetzt, welche die Maschine, also der Computer, also z.B. die CPU lesen kann. Die Unterschiede der beiden kenne ich auch schon. Nun habe ich noch gelernt, dass die Sprache nicht immer direkt in Einsen und Nullen übersetzt wird, sondern erst in eine Zwischensprache. Eine Zwischensprache kann z.B. "C" sein. Zusätzlich gibt es dann auch noch die Assemblersprache, welche ganz knapp über den Einsen und Nullen existiert und je nach System anders aussehen kann.
Nun verstehe ich aber manche Dinge noch nicht ganz:
Das sind erstmal meine Fragen dazu. Es ist wirklich ein sehr interessantes Thema und ich finde es wichtig das alles zu verstehen. Mich regt es immer innerlich auf, wenn ich etwas mache, aber den Hintergrund gar nicht verstehe. Ich kann viel gelassener an die Sache heran gehen, wenn ich verstehe was unter der Haube abläuft...
Vielen Dank und noch einen schönen, sonnigen Tag!
ich informiere mich gerade über die Geschichte von Computern und bin bei dem Teil der Programmiersprachen angelangt. Vieles habe ich verstanden, doch manches noch nicht so ganz. Deshalb wollte ich hier mal nachfragen. Vielleicht kann mir ja jemand helfen.
Ich habe gelernt, dass der Compiler und der Interpreter den Code in einer Programmiersprache in eine Sprache übersetzt, welche die Maschine, also der Computer, also z.B. die CPU lesen kann. Die Unterschiede der beiden kenne ich auch schon. Nun habe ich noch gelernt, dass die Sprache nicht immer direkt in Einsen und Nullen übersetzt wird, sondern erst in eine Zwischensprache. Eine Zwischensprache kann z.B. "C" sein. Zusätzlich gibt es dann auch noch die Assemblersprache, welche ganz knapp über den Einsen und Nullen existiert und je nach System anders aussehen kann.
Nun verstehe ich aber manche Dinge noch nicht ganz:
- Ist die Assemblersprache auch eine Zwischensprache? Oder kommt die sowieso immer zwingend zum Einsatz und ist dann immer zwischen Zwischensprache und Maschinensprache, sofern es eine Zwischensprache gibt?
- Wenn ich nun eine Programmiersprache erfinden will, dann muss ich ja die Sprache an sich erfinden (Syntax usw.) und einen Compiler/Interpreter schreiben, welcher dann meine Sprache in Maschinensprache übersetzt, richtig?
- Aber wenn mir das zu schwer ist, kann ich ja auf z.B. "C" als Zwischensprache zurückgreifen und muss nur bis dahin übersetzen, bin dann aber auf die C-Funktionalitäten begrenzt, richtig?
- Ich nutze Python Scripts, welche ich in VSC laufen lasse. Ich habe als Addon "Python" installiert. Dadurch bekam ich dann den Interpreter, richtig? Denn nun kann ich meine Scripts direkt in der Umgebung laufen lassen.
- Wie findet denn aber dann die Übersetzung in Maschinensprache statt? Ich kann mir nicht vorstellen, dass dieses Addon mit dem Interpreter meinen Code direkt in Maschinensprache übersetzt und es an meine Hardware weiterleitet.
Das sind erstmal meine Fragen dazu. Es ist wirklich ein sehr interessantes Thema und ich finde es wichtig das alles zu verstehen. Mich regt es immer innerlich auf, wenn ich etwas mache, aber den Hintergrund gar nicht verstehe. Ich kann viel gelassener an die Sache heran gehen, wenn ich verstehe was unter der Haube abläuft...
Vielen Dank und noch einen schönen, sonnigen Tag!