Als «language-design» getaggte Fragen

Fragen zum Design und zur Struktur von Programmiersprachen.

22
Sind null Referenzen wirklich eine schlechte Sache?
Ich habe gehört, dass die Aufnahme von Nullreferenzen in Programmiersprachen der "Milliarden-Dollar-Fehler" ist. Aber wieso? Sicher, sie können NullReferenceExceptions verursachen, aber was nun? Jedes Element der Sprache kann bei unsachgemäßer Verwendung eine Fehlerquelle darstellen. Und was ist die Alternative? Ich nehme an, anstatt dies zu sagen: Customer c = Customer.GetByLastName("Goodman"); …

14
Warum unterstützen die meisten Programmiersprachen nur die Rückgabe eines einzelnen Wertes aus einer Funktion? [geschlossen]
Gibt es einen Grund, warum Funktionen in den meisten (?) Programmiersprachen so konzipiert sind, dass sie eine beliebige Anzahl von Eingabeparametern unterstützen, jedoch nur einen Rückgabewert? In den meisten Sprachen ist es möglich, diese Einschränkung zu umgehen, z. B. durch die Verwendung von out-Parametern, die Rückgabe von Zeigern oder die …

14
Warum ist 0 falsch?
Diese Frage mag dumm klingen, aber warum werden die meisten Programmiersprachen mit einem Wert von 0 (null) und einem anderen Wert (ganzzahlig) 0bewertet ?falsetrue String-Vergleich Da die Frage ein bisschen zu einfach erscheint, möchte ich mich ein bisschen näher erläutern: Zunächst mag es jedem Programmierer klar erscheinen, aber warum sollte …

6
Warum wird XML genau als „Sprache“ bezeichnet?
Ich habe mich gefragt, warum XML ein L im Namen hat. XML selbst "macht" nichts. Es ist nur ein Datenspeicherformat, keine Sprache! Sprachen "tun" Dinge. Die Art und Weise, wie Sie XML dazu bringen, Dinge zu "erledigen", um es in eine richtige Sprache zu verwandeln, besteht darin, seinem Stammelement xmlnsAttribute …

12
Mir wurde gesagt, dass Ausnahmen nur in Ausnahmefällen verwendet werden sollten. Woher weiß ich, ob mein Fall außergewöhnlich ist?
In meinem speziellen Fall kann der Benutzer einen String in die Anwendung übergeben, die Anwendung analysiert ihn und weist ihn strukturierten Objekten zu. Manchmal kann der Benutzer etwas Ungültiges eingeben. Zum Beispiel kann ihre Eingabe eine Person beschreiben, aber sie können sagen, dass ihr Alter "Apfel" ist. In diesem Fall …



11
Haben die Java-Entwickler RAII bewusst aufgegeben?
Als langjähriger C # -Programmierer habe ich kürzlich mehr über die Vorteile von RAII ( Resource Acquisition Is Initialization ) erfahren . Insbesondere habe ich festgestellt, dass die C # -Sprache: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } hat das C ++ Äquivalent: { …
82 java  c#  c++  language-design 




14
Warum wird der arithmetische Überlauf ignoriert?
Haben Sie jemals versucht, alle Zahlen von 1 bis 2.000.000 in Ihrer bevorzugten Programmiersprache zusammenzufassen? Das Ergebnis kann leicht manuell berechnet werden: 2.000.001.000.000, was etwa 900-mal größer ist als der Maximalwert einer 32-Bit-Ganzzahl ohne Vorzeichen. C # druckt aus -1453759936- ein negativer Wert! Und ich denke, Java macht das Gleiche. …

9
Warum Teilklassen verwenden?
Nach meinem Verständnis partialbewirkt das Schlüsselwort nichts anderes, als die Aufteilung einer Klasse auf mehrere Quelldateien. Gibt es einen Grund, dies anders als für die Code-Organisation zu tun? Ich habe gesehen, dass es dafür in generierten UI-Klassen verwendet wird. Es scheint ein schlechter Grund zu sein, ein ganzes Keyword zu …

8
Wie konnten einige Sprachgemeinschaften (z. B. Ruby und Python) eine Fragmentierung verhindern, andere (z. B. Lisp oder ML) nicht?
Der Begriff "Lisp" (oder "Lisp-like") ist ein Überbegriff für viele verschiedene Sprachen, z. B. "Common Lisp", "Scheme" und "Arc". In anderen Sprachgemeinschaften gibt es eine ähnliche Fragmentierung wie in ML. Ruby und Python haben es jedoch beide geschafft, dieses Schicksal zu umgehen, indem mehr Innovationen bei der Implementierung (wie PyPy …

10
Syntaxdesign - Warum Klammern verwenden, wenn keine Argumente übergeben werden?
In vielen Sprachen wird die Syntax function_name(arg1, arg2, ...)zum Aufrufen einer Funktion verwendet. Wenn wir die Funktion ohne Argumente aufrufen wollen, müssen wir tun function_name(). Ich finde es seltsam, dass ein Compiler oder ein ()Skriptinterpreter dies als Funktionsaufruf erfolgreich erkennen müsste . Wenn bekannt ist, dass eine Variable aufrufbar ist, …

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.