Als «language-design» getaggte Fragen

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

30
"Am wenigsten Erstaunen" und das veränderbare Standardargument
Jeder, der lange genug an Python bastelt, wurde von folgendem Problem gebissen (oder in Stücke gerissen): def foo(a=[]): a.append(5) return a Python-Neulinge würden erwarten, dass diese Funktion immer eine Liste mit nur einem Element zurückgibt : [5]. Das Ergebnis ist stattdessen sehr unterschiedlich und sehr erstaunlich (für einen Anfänger): >>> …

16
Warum unterstützt Java keine vorzeichenlosen Ints?
Warum unterstützt Java keine Ganzzahlen ohne Vorzeichen? Es scheint mir eine seltsame Auslassung zu sein, da sie es einem ermöglichen, Code zu schreiben, der bei unerwartet großen Eingaben weniger wahrscheinlich zu Überläufen führt. Darüber hinaus kann die Verwendung von Ganzzahlen ohne Vorzeichen eine Form der Selbstdokumentation sein, da sie darauf …

13
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 verwenden kann, wenn nur der andere …

5
Warum ist "final" in Java 8-Schnittstellenmethoden nicht zulässig?
Eine der nützlichsten Funktionen von Java 8 sind die neuen defaultMethoden für Schnittstellen. Es gibt im Wesentlichen zwei Gründe (es kann andere geben), warum sie eingeführt wurden: Bereitstellung der tatsächlichen Standardimplementierungen. Beispiel:Iterator.remove() Berücksichtigung der JDK-API-Evolution. Beispiel:Iterable.forEach() Aus Sicht eines API-Designers hätte ich gerne andere Modifikatoren für Schnittstellenmethoden verwenden können, z …



11
Was blockiert Ruby, Python, um die Geschwindigkeit von Javascript V8 zu erreichen? [geschlossen]
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Geschlossen vor 5 Jahren . Gesperrt . Diese Frage und ihre Antworten sind gesperrt, da die Frage nicht zum Thema gehört, aber historische Bedeutung hat. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Gibt es Ruby / …



12
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 einfach eine schreiben signund dann …

5
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 Array aufrufen, …

7
Warum kann ich in C # keine abstrakten statischen Methoden haben?
Ich habe in letzter Zeit einiges mit Anbietern zusammengearbeitet und bin auf eine interessante Situation gestoßen, in der ich eine abstrakte Klasse mit einer abstrakten statischen Methode haben wollte. Ich habe ein paar Beiträge zu diesem Thema gelesen und es hat irgendwie Sinn gemacht, aber gibt es eine schöne klare …
181 c#  .net  language-design 




Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.