Fernando J. Corbató nannte in seiner Preisverleihung 1990 in Turing Gründe, warum komplexe Systeme unweigerlich versagen. Abschließend gibt er einige Vorschläge zur Verringerung der Ausfallwahrscheinlichkeit. Er nennt eine Idee wie folgt:
Die Verwendung von eingeschränkten Sprachen für das Design oder die Synthese ist eine leistungsstarke Methode. Indem Programmierern oder Designern nicht gestattet wird, irrelevante Ideen auszudrücken, wird der Bereich möglicher Fehler wesentlich eingeschränkter.
Was meint er mit "eingeschränkter Sprache"?
Für einen Moment habe ich über Constraint-Programmierung nachgedacht . Bei der Einschränkungsprogrammierung geht es jedoch darum, den Lösungsbereich des Programms zu beschränken. Es ist ein Werkzeug, das einen Programmierer befähigt. Das Feature, auf das sich Corbató bezieht, scheint etwas zu sein, das die Programmiererin tatsächlich einschränkt oder sie zumindest mehr dazu veranlasst, terseren Code zu schreiben.
Mein zweiter Gedanke ist, dass er sich auf konservative Programmiersprachen bezieht . Corbató erhielt seinen Turing-Preis für seine Arbeit in den 1960er und 1970er Jahren. Ich verstehe, dass er sich mit vielen Lochkarten befasst hat. Ich habe noch nie eine Lochkarte gesehen, daher weiß ich mit Sicherheit nicht, wie man eine programmiert, aber ich denke, dass die Lochkartenprogrammierung äußerst liberal ist. Ich vermute, dass die Begriffe Typprüfung, statische Analyse usw. einfach nicht existierten. Bezieht sich Corbató vielleicht auf die Idee von Sprachen, die den Entwickler davon abhalten, dumme Fehler zu machen? Dies scheint auch nicht der Fall zu sein. Sicherheitsprüfung und Datenmodellierung haben nichts mit Knappheit zu tun, wovon er anscheinend spricht, wenn er erwähnt, "keine ... irrelevanten Ideen zuzulassen".