Als «language-design» getaggte Fragen

Ein Tag für Fragen zum Design eines beliebigen Aspekts von Programmiersprachen.

346
Warum müssen wir sowohl == als auch! = In C # definieren?

Der C # -Compiler verlangt, dass ein benutzerdefinierter Typ, der den Operator definiert ==, auch definiert werden muss !=(siehe hier ). Warum? Ich bin gespannt, warum die Designer dies für notwendig hielten und warum der Compiler nicht für einen der Operatoren eine vernünftige Implementierung...

240
Warum hat Python keine Vorzeichenfunktion?

Ich kann nicht verstehen, warum Python keine signFunktion hat. Es hat ein abseingebautes (was ich als signSchwester betrachte), aber neinsign . In Python 2.6 gibt es sogar eine copysignFunktion (in Mathe ), aber kein Vorzeichen. Warum sich die Mühe machen, eine zu schreiben, copysign(x,y)wenn man...

186
Warum kann ein Array nicht Iterable zugewiesen werden?

Mit Java5 können wir schreiben: Foo[] foos = ... for (Foo foo : foos) oder einfach ein Iterable in der for-Schleife verwenden. Das ist sehr praktisch. Sie können jedoch keine generische Methode für iterable wie folgt schreiben: public void bar(Iterable<Foo> foos) { .. } und es mit einem...