Thread 'return' und 'or': Operatorenrangfolge (12 answers)
Opened by Crian at 2005-02-07 17:49

murphy
 2005-02-07 20:16
#51575 #51575
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Meiner Meinung nach ist return eine "Unfunktion" schlechthin, genauso, wie auch der Aufruf einer Funktion an sich keine Funktion ist. Das Erzeugen und Verlassen eines Stackframes gehört auf allen mir bekannten modernen Computerarchitekturen zu den elementaren Operationen und kann gar nicht durch Funktionen einer Hochsprache ausgedrückt werden.

Im Gegensatz dazu sind Operationen wie exit oder die tatsächlich Funktionen, die sogar zurückkehren könnten, wenn sie denn wollten, da sie eben wie Funktionen unter Erzeugung eines Stackframes aufgerufen werden.

Return kann nur dann unter Umständen als funktionsähnliches Objekt gesehen werden, wenn man sich in einer Welt bewegt, die das Konzept eines Stacks nicht kennt und ganz andere Formen von Funktionsaufrufen benutzt. Das ist aber bei Perl nicht der Fall.

Abgesehen von solch theoretischen Überlegungen ist es schlicht unpraktisch, return nicht das niedrigste mögliche Binding zuzuweisen. Und es ist auch im Vergleich zu anderen Sprachen recht ungewöhnlich.
When C++ is your hammer, every problem looks like your thumb.

View full thread 'return' und 'or': Operatorenrangfolge