Ich wollte nur fragen, ob es möglich wäre, eine Sprache mit einem Typ-System zu konstruieren, die die Speicherverwaltung Probleme lösen kann (Speicherlecks, Dangling Pointers, Doppel free()
, etc.), indem automatisch versucht, die Richtigkeit eines Programms zu beweisen mit seinen Typen als Propositionen wie mit einem integrierten coq-artigen Theorembeweiser (in der Denkweise von Programmen als Beweisen)?Lösen Sie die Speicherverwaltungsprobleme, indem Sie die Programmkorrektheit wie mit coq?
Gibt es ein grundlegendes logisches Problem bei diesem Ansatz (Stopp-Problem vielleicht?) Oder ist es nur undurchführbar? Danke für alle Antworten und es tut mir leid, dass ich nicht so versiert in diesem Bereich bin, will nur aus Neugier wissen;)
Ja, indem Programmierer niemals direkten Zugriff auf Zeiger erhalten. Ähnliches geschieht in Linux mit dem 'ln'-Befehl. Normale Benutzer können damit keine Verzeichnisse verknüpfen. Verzeichnisse können nur mit dem Befehl 'mkdir' erstellt werden. Dies verhindert Speicherverwaltungsprobleme des Dateisystems. – shawnhcorey