Die Idee ist von der Tatsache inspiriert, dass Operatoren wie +, -,% usw. als Funktionen mit einem oder zwei übergebenen Argumenten und ohne Nebenwirkungen angesehen werden können. Angenommen, ich oder jemand anderes schreibt eine Sprache, die die Übergabe von mehr als zwei Argumenten verhindert und auch nur über den Rückgabewert funktioniert:
a) Würde eine solche Sprache zu einem einfacheren Verständnis von Code führen?
b) Wäre der Ablauf des Codes klarer? (In mehrere Schritte gezwungen, mit möglicherweise weniger versteckten Interaktionen)
c) Würden die Einschränkungen die Sprache für komplexere Programme übermäßig sperrig machen?
d) (Bonus) sonstige Kommentare zu Vor- / Nachteilen
Hinweis:
Es müssten noch zwei Entscheidungen getroffen werden - die erste ist, ob Benutzereingaben außerhalb von main () oder dessen Äquivalent zulässig sind und welche Regeln für die Übergabe von Arrays / Strukturen gelten. Wenn beispielsweise eine einzelne Funktion mehrere Werte hinzufügen soll, kann die Einschränkung umgangen werden, indem sie in einem Array zusammengefasst wird. Dies könnte gestoppt werden, indem nicht zugelassen wird, dass ein Array oder eine Struktur mit sich selbst interagiert. Auf diese Weise können Sie beispielsweise jede Zahl abhängig von ihrer Position durch einen anderen Betrag dividieren.
result = f(a)(b)…(z)
. Dies ist in der ML-Sprachfamilie wie Haskell der Fall, aber auch konzeptionell in anderen Sprachen wie Lisp, JavaScript oder Perl.