Vielleicht mal zur Erklärung, warum ich frage und warum C und nicht C++.
Ich spiele immer noch mit den völlig unsinnigen Gedanken, mir meine eigene Basic-Programmiersprache zu gestallten. Und als Basis dann C und nicht Assembler. Aus mehreren Gründen. A) Ich kann kein Assembler. B) Um dann auch noch optimierten Code zu schreiben, reicht mein wissen erst recht nicht. C) C ist deutlich leichter zu lernen D) Ist nahezu überall verfügbar.
Wenn man sauber definiert und erstmal nur die C-ANSI-Standard-Bibliotheken nutzt, hat man ein schönes Grundgerüst, das sogar auf einen ATARI-ST laufen würde, wenn man einen C-Compiler findet.
Was PureBasic imo ausmacht, sind die mitgelieferten Bibliotheken. Das alles zu erarbeiten wird ein Eck lang dauern. Eine Warper-DLL darf man ja nicht verwenden und es ist ja nicht schwer zu verstehen warum.
Noch einen Vorteil würde es geben: Man kann theoretisch relativ leicht C-Bibliothek einbinden bzw. generell C-Code.
Ein paar Sachen hab ich mir schon überlegt, was ich gerne umsetzen würde. Declare möchte ich bspw. komplett abschaffen. Mag für höhere Programmiersprachen dazu gehören, ich finde in einen Basic hat das nicht sooo viel zu tun. Einen Variablen-Typ "Auto" möchte ich hinzufügen. Der Typ wird dann bei der Benutzung festgelegt. Bspw. ein a="hallo" würde a automatisch zum String machen. Ein anschließendes A=1 würde dann ein Fehler verursachen. Wer den Typ lieber manuell festlegen will, kann das mit a\s machen - \ wird ein Typ und Konvertierungszeichen. Damit wird dann der . für Strukturzugriffe frei - und damit benutzt wie bei jeder anderen Programmiersprache. Und bei Pointern möchte ich eine Typensicherheit einführen. ein " b="hallo" : a\*i = @b " würde ein Fehler verursachen weil @b ein String-Pointer zurückgibt, *a aber als Pointer auf Integer angelegt wurde. ein " B="Hallo":a\*i=(@b)\*I " würde wieder gehen, weil der Pointer "Konvertiert" wird.
Ob das ganze überhaupt was wird? Keine Ahnung, ich plane erstmal und sammle. Gerade das mit den Pointer ist noch so ein Ding. *\ gefällt mir noch nicht so ganz.
Ich hab mir jetzt erstmal "C von a bis z" gekauft und werd da erstmal rumexperimentieren. Notfalls erschlag ich damit ein paar Fliegen - der Wälzer wäre dick genug

Einen bescheuerten Namen hätte ich sogar "Basil - a BASIc Language"
