Eine eigene Programmiersprache programmieren?

14 Antworten

"statt eine neue Programmier Sprache in Englisch"

Willst du Damir sagen, dass du sie nicht in Englisch machen willst? 😅

Woher ich das weiß:Hobby – Ich bin ein ziemlich Technik interessierter Mensch...

Natürlich ist das möglich. Solche Sprachen gibt es ja bereits, z.B. APL, hier werden Symbole verwendet statt Wörter.

Es gibt auch eine ganze Reihe Esoterischer Programmiersprachen, die bekannteste ist "Brainfuck". Brainfuck ist die denkbar einfachste Programmiersprache in Sachen Aufwand die möglich ist, denn da wird direkt eine Turingmaschine simuliert, nicht mehr und nicht weniger. Also ist damit jedes Problem lösbar (sofern man unendlich Speicher und Zeit hat), für den Menschen ist diese Sprache aber der Höhepunkt der Unübersichtlichkeit, daher der Name.

Die kleinste Umsetzung wurde in nur 96 Bytes für MS-DOS geschrieben. Das ist ein Interpreter der den Brainfuck code verarbeitet.

Möchte man das selber machen, so muß man ein Programm schreiben, dass entweder Eingaben von tastatur annimmt oder eine Datei aufruft und dann den Code abarbeitet. Die 96 Byte Version ist natürlich direkt in Maschinensprache geschrieben, geht es nicht um absolute "Kleinheit" kann man auch jede andere Programmiersprache verwenden, z.B. C, Python oder Java.

Woher ich das weiß:Studium / Ausbildung

Eine Programmiersprachen wird nicht programmiert, sondern spezifiziert, d.h. man muss ein Dokument erstellen, in dem man sie nach Wortschatz, Syntax und Semantik bis ins letzte Detail genau beschreibt.

Was danach programmiert werden muss, ist ein Interpreter oder ein Compiler.

Typischerweise besteht der Wortschatz einer Programmiersprache aus kaum 100 Worten, nicht selten sogar nur etwa 30 bis 40 (man nennt sie Schlüssewörter).

Besonders häufig zu nutzende Schlüsselwörter können durch Sonderzeichen vertreten sein (Beispiel: Die Schlüsselwort begin und end aus Pascal werden in C und all seinen Nachfolgern einfach nur noch als öffnende oder schließende geschweifte Klammer geschrieben).

Eine Programmiersprache programmiert man gar nicht.

Du müsstest einen Compiler für deine Programmiersprache programmieren (in einer beliebigen anderen Programmier- oder Maschinensprache). Sobald du einen funktionierenden Compiler hast, kannst du einen neuen Compiler in deiner Programmiersprache schreiben. Vorher müsstest du dir natürlich Gedanken über das Sprachdesign machen.

Compiler-Entwicklung ist aber so oder so nichts, was ein völliger Anfänger mal eben so macht. Dazu gehört einiges an Fachwissen im Bereich formale Sprachen, Parsing usw.

Mein Vorschlag:

Zuerst lernst du eine Programmiersprache der nötigen Abstraktionsebene. C bietet sich dafür an.

Danach beschäftigst du dich intensiv mit Compilern und lernst den "rekursiven Abstieg", Symboltabellen usw. programmieren.

Damit könntest du anfangen, zumindest die Basics einer Programmiersprache selbst zu designen.

Woher ich das weiß:Studium / Ausbildung – kompliziert