Tag: language-design
Ein tag für Fragen rund um das design jeder Aspekt der Programmiersprachen.
3
Antworten
Was bedeutet TypeState zu finden in Bezug auf design-Sprache? Ich sah es erwähnt in einigen Gesprächen bezüglich einer neuen Sprache, die von mozilla namens Rost. InformationsquelleAutor Brad The App Guy | 2010-07-09
9
Antworten
Warum C# ermöglichen die code-Blöcke ohne eine vorhergehende Erklärung (z.B. if, else, for, while)? void Main() { { //any sense in this? Console.Write("foo"); } } Gibt es einen Grund sollte es nicht? guter Punkt, ich hasse alle
3
Antworten
Ist es ein Kompendium von virtuellen Maschinen und Sprachen abgeleitet oder inspiriert von Lua? Durch abgeleitete, ich meine darüber hinausgehende Nutzung Einbettung und Erweiterung mit Modulen. Ich bin zu wollen Forschung die Lua-Technologie-Baum, und bin auf der
2
Antworten
In Actionscript 3 kann ich nicht erklären vars-in-Schnittstellen. Ich verstehe es nicht. Ich weiß, ich kann arbeiten, um durch das definieren von Getter und setter, aber was ist, wenn ich wollen einfach nur ein einfaches öffentliches Eigentum?
2
Antworten
Wie ich erst jetzt bemerkt, nachdem die Kommentare auf diese Antwort, Scheiben in Python 3 zurück flache Kopien von was auch immer Sie schneiden, anstatt Ansichten. Warum ist dies immer noch der Fall? Auch abgesehen von numpy
6
Antworten
Warum C# (.Net) bevorzugen stack zum speichern von Wert-Typen? Was ist der Hauptgrund hinter diesem Entwurf? Ist es, weil der lese - /schreib-Operationen auf dem stack besser nutzen der Maschine Prozessor? Auch, vielleicht können Sie begründen, warum
11
Antworten
int main() { int var = 0;; //Typo which compiles just fine } Holen Sie sich Ihre Hände auf einem mikrocontroller mit einer geringen Anzahl von Zeiten, und bald werden Sie wollen, stellen Sie die Verwendung von
1
Antworten
Warum system-Objekte wie null, true oder false haben eine Feste Objekt-id in Ruby. Auch ich habe versucht, drucken Sie die Objekt-ids der zahlen, Sie sind die gleichen, und Folgen Sie eine ungerade Anzahl Sequenz-Muster. Keine Erklärung für
6
Antworten
Weiß ich aus diese Frage, dass extension-Methoden können nur auf Instanzen der Klasse, nicht das statische Klasse selbst. Das heißt, ich kann nicht verlängern nützlich statische Klassen wie Convert und Math. Was ich wissen will ist, warum
8
Antworten
Dies ist etwas ich habe mich immer gefragt: Warum ist PHP langsamer als Java oder C#, wenn alle 3 dieser Sprachen bekommen kompiliert zu bytecode und dann von dort ausgeführt? Ich weiß, dass normalerweise PHP neu kompiliert
2
Antworten
Frage ich mich, aus einer Sprache, die design-Perspektive, warum Scala entfernt hat Java die Klassen-literal (e. g. String.class) und ersetzt es mit classOf[String], hat aber dann Hinzugefügt "literalen" mit seinen Singletons wie Singleton.type sondern so etwas wie
4
Antworten
Scala Wo kann Unterschiede zwischen einer Klasse und eines Typs beobachtet werden in Scala und warum ist diese Unterscheidung wichtig? Ist es nur eine überlegung aus der design-Sprache point-of-view-oder hat es die "praktischen" Auswirkungen bei der Programmierung
3
Antworten
Wissen Sie, wenn gibt es Zeiger in Haskell? Wenn ja: wie nutzen Sie diese? Gibt es irgendwelche Probleme mit Ihnen? Und warum sind Sie nicht populärer? Falls Nein: gibt es einen Grund dafür? Siehe auch stackoverflow.com/questions/2386210/... InformationsquelleAutor
12
Antworten
Ich habe vor kurzem angefangen zu lernen, Python und ich war ziemlich überrascht, eine 1000 Tiefe der Rekursion beschränken (Standard). Wenn du es hoch genug ist, über 30000, stürzt mit einem segmentation fault genau wie C. Obwohl
1
Antworten
In Java final bedeutet, dass eine variable kann nur zugewiesen werden, einmal, aber, dass die Zuordnung passieren kann überall im Programm. In C# readonly bedeutet, ein Feld kann nur zugeordnet werden, in einer Konstruktor, die, IMO, deutlich
22
Antworten
Gestern hatte ich eine hitzige Diskussion mit einem Kollegen, was wäre die bevorzugte Methode der Fehlerberichterstattung. Vor allem wir diskutieren über die Nutzung von Ausnahmen oder Fehler-codes für die Berichterstattung Fehler zwischen Anwendungen oder-Module. Welche Regeln Sie
3
Antworten
Dem folgenden code falsch ist (sehe es auf ideone): public class Test { public static void Main() { int j = 5; (j++); //if we remove the "(" and ")" then this compiles fine. } } Fehler
7
Antworten
Was sind die [function] - Argumente? Was werden Sie verwendet? Ich begann zu lernen Python sehr vor kurzem, ich bin neu in der Programmierung und ich entschuldige mich für diese grundlegende Frage. In jeder Python-tutorial gehe ich
6
Antworten
Ich bin neu in C# von C++ hintergrund. In C++ können Sie dies tun: class MyClass{ .... }; int main() { MyClass object; //this will create object in memory MyClass* object = new MyClass(); //this does same
5
Antworten
Sehe ich einige interessante Diskussionen hier über statische vs. dynamische Typisierung. Ich in der Regel bevorzugen die statische Typisierung, aufgrund der Kompilierung die Typüberprüfung, besser dokumentierten code, etc. Jedoch, ich bin damit einverstanden, dass Sie verunstalteten den
5
Antworten
Disclaimer: ich bin nicht gefragt wenn das upper-bound stopargument slice()und range() ist exklusiv-oder - wie um diese Funktionen zu verwenden. Aufrufe der rangeund sliceFunktionen, sowie die slice-notation [start:stop] alle beziehen sich auf Gruppen von zahlen. range([start], stop[,
3
Antworten
Angesichts dieser code: trait Base { fn a(&self); fn b(&self); fn c(&self); fn d(&self); } trait Derived : Base { fn e(&self); fn f(&self); fn g(&self); } struct S; impl Derived for S { fn e(&self) {}
9
Antworten
Den pre/post-Inkrement/Dekrement-operator (++ und --) sind ziemlich standard-programming language-syntax (für prozedurale und objektorientierte Sprachen, zumindest). Warum nicht Ruby, der Sie unterstützt? Ich verstehe, Sie könnten das gleiche erreichen mit += und -=, aber es scheint nur seltsam
5
Antworten
Ich weiß, es gibt alle Arten von counter-intuitive Eigenschaften von Java die generischen Typen. Hier ist einer in allem, dass ich nicht verstehe, und die ich bin der Hoffnung, jemand kann mir erklären. Bei der Angabe eines
5
Antworten
Entsprechend der Java-Sprache Sepecification, 3. Auflage: Es ist eine compile-Zeit-Fehler, wenn eine generische Klasse ist eine direkte oder indirekte Unterklasse von Throwable. Ich möchte verstehen, warum diese Entscheidung getroffen wurde. Was ist falsch mit generischen Ausnahmen? (Soweit
4
Antworten
In der Referenz von HttpRequest.HttpMethod.NET Framework, request-Typ wird deklariert mit System.String geben. In RFC 2616 alle HTTP-request-Methoden deklariert sind (z.B. POST, GET, PUT, DELETE...). Gibt es auch ein ähnliches Verhalten in HttpWebRequest und WebRequest Klassen .NET. Java
30
Antworten
Jemand basteln mit Python-lange genug hat gebissen (oder in Stücke gerissen) durch das folgende Problem: def foo(a=): a.append(5) return a Python-Novizen würde erwarten, dass diese Funktion immer wieder eine Liste mit nur einem element: [5]. Das Ergebnis
5
Antworten
Ich kam gerade über eine interessante situation, in JavaScript. Ich habe eine Klasse mit einer Methode, die definiert, mehrere Objekte mit dem Objekt-literal Schreibweise. Im inneren dieser Objekte, die this Zeiger verwendet wird. Aus dem Verhalten des
13
Antworten
Den C# - compiler erfordert, dass immer, wenn Sie einen benutzerdefinierten Typ definiert Betreiber == es muss auch definieren != (siehe hier). Warum? Ich bin neugierig, zu wissen, warum die Entwickler dachten, dass es notwendig und warum
7
Antworten
(Ich weiß, was die scope-resolution-operator ist, und wie und Wann es zu benutzen.) Warum C++ die :: operator statt mit der . Betreiber für diesen Zweck? Java verfügt nicht über einen separaten Betreiber, und funktioniert einwandfrei. Gibt
4
Antworten
Warum kann ich super nur mit Platzhaltern und nicht mit Typ-Parameter? Beispielsweise in der Collection - Schnittstelle, warum ist das toArray Methode nicht geschrieben wie dieser interface Collection<T>{ <S super T> S toArray(S a); } Können Sie
6
Antworten
Oft beim Lesen über Tcl (z.B. http://antirez.com/articoli/tclmisunderstood.html) Sie Lesen, dass "alles ist ein Befehl". Manchmal können Sie auch hören, wie andere Sprachen wie Tcl, "Befehl Sprachen." Mir mit meinem hintergrund in anderen Sprachen, und ich habe nur
5
Antworten
Dieser benchmark erscheint, um zu zeigen, dass der Aufruf einer virtuellen Methode direkt am Objekt-Referenz ist schneller als die Berufung auf die Referenz auf das interface dieses Objekts implementiert. In anderen Worten: interface IFoo { void Bar();
5
Antworten
Also ich weiß, dass Vergleiche auf Tupeln Arbeit lexikographisch: Tupeln und Listen werden lexikographisch verglichen mit Vergleich der entsprechenden Elemente. Dies bedeutet, dass zum vergleichen gleich, jedes element muss vergleichen Sie gleich und die beiden Sequenzen müssen
6
Antworten
So, ich war Herumspielen mit Python bei der Beantwortung diese Frage, und ich entdeckte, dass diese nicht gültig ist: o = object() o.attr = 'hello' aufgrund einer AttributeError: 'object' object has no attribute 'attr'. Jedoch mit einer
1
Antworten
Ich denken werde, möglicherweise Entwurf/Bau einer Sprache an einem gewissen Punkt, und was sind die Vorteile, Nachteile und Schwierigkeiten des Schreibens zu laufen .NET framework/CLR? Das ist ein ziemlich großer Auftrag! InformationsquelleAutor RCIX | 2009-08-12
6
Antworten
Fand ich an vielen stellen, dass : Eine Abstrakte Klasse ist eine Klasse, die verwendet werden soll als eine Basis-Klasse. Eine Abstrakte Klasse ist eine Klasse, die mindestens eine Rein Virtuelle Funktion. Aber eine Sache, die fällt
11
Antworten
Ich bin der Gestaltung einer Sprache, und Sie versuchen, zu entscheiden, ob true sollte 0x01 oder 0xFF. Natürlich werden alle nicht-null-Werte werden in true umgewandelt werden, aber ich versuche zu entscheiden, auf die genaue interne Darstellung. Was
17
Antworten
Warum macht das nicht der compiler automatisch setzen break-Anweisungen, die nach jedem code-block in-Schalter? Ist es aus historischen Gründen? Wann möchten Sie mehrere code-Blöcke ausführen? InformationsquelleAutor der Frage unj2 | 2010-04-25
6
Antworten
Gibt es eine Python-design-Entscheidung (PEP) das schließt einen sortierten container Hinzugefügt wird Python? (OrderedDict ist nicht einen sortierten container, da ist es bestellt durch Einfügung Reihenfolge.) InformationsquelleAutor der Frage Neil G | 2011-05-10
3
Antworten
einer Anweisung, die prüft, ob etwas wahr ist, und wenn nicht gedruckt eine bestimmte Fehlermeldung und beendet InformationsquelleAutor der Frage Dan | 2010-02-10
8
Antworten
Als per Kommentar unter diese AntwortReferenzen eingeführt wurden in Erster Linie zur Unterstützung von operator-überladung, welche Angebote Bjarne Stroustrup: Referenzen eingeführt wurden in Erster Linie zur Unterstützung von operator-überladung. C geht jeder Funktion argument Wert, und wo
9
Antworten
Gibt es eine Möglichkeit zu zwingen, einen (Kinder -) Klasse die Konstruktoren mit bestimmten Signaturen oder insbesondere statische Methoden in C# oder Java? Können Sie nicht offensichtlich die Verwendung von Schnittstellen für dieses, und ich weiß, dass
6
Antworten
In allen Programmiersprachen unterstützt optionale Parameter, die ich gesehen habe, es ist eine imitation, der optionale Parameter müssen am Ende der Erklärung. Benötigt keine Parameter enthalten sein können, nachdem ein optionales Element. Was ist der Grund ?
6
Antworten
Spreche ich über den "Typ(Wert)"-style-casts. Die Bücher, die ich gelesen haben, übergehen Sie schnell und sagte nur, dass Sie semantisch äquivalent zu C-style-casts, "(Typ) den Wert" sind, und dass Sie vermieden werden sollten. Wenn Sie das gleiche
14
Antworten
Warum nicht mehr mainstream statisch typisierte Sprachen support Funktion/Methode überladen durch den Rückgabetyp? Ich kann nicht jeder denken, dass zu tun. Es scheint nicht weniger nützlich oder sinnvoll als Unterstützung überlast, die durch den parameter Typ. Wie
5
Antworten
Dem MSDN-Artikel auf String Basics zeigt dies: string str = "hello"; string nullStr = null; string emptyStr = ""; string tempStr = str + nullStr; //tempStr = "hello" bool b = (emptyStr == nullStr);//b = false; string
5
Antworten
Wenn wir brauchen, um eine neue Zeile schreiben, um eine Datei, die wir haben, um zu code: file_output.write('Fooo line \n') Gibt es irgendwelche Gründe, warum Python nicht eine writeln() Methode? InformationsquelleAutor der Frage systempuntoout | 2010-04-04
3
Antworten
Las ich einen interessanten Artikel hier und es machte einen interessanten Punkt über die 'case' - Anweisung in vb.net vs der 'switch' - Anweisung in C#, dem habe ich unten eingefügt: Den folgenden Visual Basic Select Case-Anweisung
5
Antworten
Warum ist neue/override erforderlich, abstrakte Methoden, aber nicht auf virtuelle Methoden? Beispiel 1: abstract class ShapesClass { abstract public int Area(); //abstract! } class Square : ShapesClass { int x, y; public int Area() //Error: missing 'override'