Ich suche nach der am besten geeigneten Programmiersprache, die diesen Anforderungen am besten entspricht (in der Reihenfolge ihrer Wichtigkeit):
Kann mit einem anderen „Master“-Programm kommunizieren, das auf derselben Maschine läuft (dieses könnte zum Beispiel in Python entwickelt werden, ist aber noch nicht definiert).
Freizügig: Das Programm sollte Syntaxprobleme haben können, aber es sollte kein Problem sein, bis dieser Teil des Codes tatsächlich ausgeführt werden muss. Nicht klar genug? Überprüfen Sie dies (in js):
function OK() {
return;
}
Function notOK() {
“~ù*^ SOME MESS HERE THAT HAS NO SENSE $”ér+
}
OK(); // perfectly run
NotOK(); // crash only when it reaches this instruction
Minimalistisch: Je weniger Anweisungszeichen, desto besser (Brainfuck ist ein extremes Beispiel für eine solche Programmiersprache, da sie nur 8 Anweisungen benötigt ;) ). Natürlich wird eine schwache Typisierung bevorzugt.
Für diesen Moment denke ich an die Verwendung von JS und node.js, aber vielleicht haben Sie einen besseren Vorschlag ...
Danke für deinen hilfreichen Rat!
Beifall
Mehr zu diesem Projekt:
In diesem Projekt zielen wir darauf ab, das Verhalten und die Evolution von Bakterien zu reproduzieren. Jedes Skript repräsentiert ein Bakterium. Daher wird es oft kopiert, aber einige zufällige „Mutationen“ werden auf den Code angewendet (Löschen, Hinzufügen oder Ändern eines Zeichens im Code). Wenn der neu generierte Code brauchbar ist, dann existiert das Skript weiter. Andernfalls wird es gelöscht.
Das gesagt,
Entschuldigung, ich weiß, dass dieses Projekt albern klingen mag: D
Lua könnte die Rechnung erfüllen. Es ist ziemlich einfach, was die Sprachen angeht, und es wird so interpretiert, dass es nicht fehlschlägt, bis die anstößige Anweisung angetroffen wird.
Beachten Sie, dass es Literatur zu diesem Konzept des sich entwickelnden Codes gibt. Ich denke, Sie möchten vielleicht den AST anstelle des Codes selbst weiterentwickeln.
Güttli
Alexandre Guillot
ivwan
Mawg sagt, Monica wieder einzusetzen
Mawg sagt, Monica wieder einzusetzen