Wie macht man eine Programmiersprache?

4 Antworten

Ich habe in den 60-ger Jahren selbst an der Entwicklung einer Programierungssprache gearbeitet. Geht man von einer vorhandenen Hardware aus, so ist deren Programmierung sehr aufwändig. Die Befehle der Hardware sind Nummern, die binär eingegeben werden müssen, ebenso die Speicheradressen. Das Problem bei den Adressen ist, dass beim Einfügen von Programmteilen sich die bereits vergebenen Werte der Adressen verschieben und man diese dann ständig umrechnen muss. Man schafft das nur bei ganz kleinen Programmschleifen, wie man sie z.B. zur Fehlersuche bei der Hardware manchmal braucht. Ein gutes Hilfsmittel ist da ein Formalismus, wo man die Befehle statt codiert in Kürzel eingeben kann und die Adressen symbolisch mit selbst vergebenen Namen. Ein Übersetzungsprogramm rechnet dann die Adressen um und erzeugt ein ablauffähiges Programm.
Man kann nun solche Programme verfeinern und für verschiedenen Bedarf optimieren. Für häufig verwendete Grundformulierungen wie z.B. Programmschleifen kann man eigene Befehle vorsehen, die dann gleich ganze Befehlsfolgen generieren oder aus Bibliotheken vorgefertigten Programmcode holen.
Der Eingabeformalismus bildet hierbei die Programmiersprache, die nur in Verbindung eines dazu passenden Übersetzers (engl. Compiler) sinnvoll verwendet werden kann. Für die Qualität einer Programmiersprache steht die Fehlererkennungsfähigkeit des Übersetzers und die Testmöglichkeit in der Entwicklungsumgebung dieser Sprache.

Wenn es sich um eine compilierte Programmiersprache handelt, ist das entsprechende Programm welches entwickelt werden muss der Compiler. 

Der Compiler ist ein Programm welches den Quelltext in Maschinensprache übersetzt. Also in eine Form bringt, die Befehle enthält, welche direkt von der CPU verstanden werden können. Anfangs schreibt man dieses Übersetzungsprogramm in einer anderen Programmiersprache, z.B. C, aber in der Regel steigt man auf die selbstentworfene Sprache um, wenn sie fortgeschritten genug ist. Der Compiler kann sich dann selbst übersetzen.

Man kann auch Compiler-Compiler verwenden wie YACC

Interpretierte Programmiersprachen funktionieren anders, sie werden zur Laufzeit übersetzt.

Da es schon genügend gibt braucht man keine neue. Ansonsten wäre ein it-Studium zu empfehlen als erste Basis.

Ich weiß , mich interessiert es nur wie Programmiersprachen entstanden sind.

0

Les mal was über Linus den Erfinder von Linux. Der hat zwar ein Betriebssystem erfunden aber das trifft es gut - das warum.

0
@hunos

... na ja, erfunden ist zuviel -- er hat Unix für den Normalbürger brauchbar gemacht,

0

Einverstanden

0

Was möchtest Du wissen?