Ich suche speziell nach sprachlichen Einflüssen (im Gegensatz zu Framework). Auf den ersten Blick scheint C # eine Weiterentwicklung von C / C ++ oder Java zu sein. Aber wir wissen, dass C # den gleichen Designer wie Delphi hat, und er erkannte sogar einige Ähnlichkeiten an und sagte: "Gute Ideen gehen nicht einfach weg." Das einzige Beispiel, das ich für etwas in C # sehe, das nicht in Java oder C / C ++ enthalten ist, sind Eigenschaften. Ist es das? Gibt es noch andere
8
variant
seit so ziemlich ewig in diesem Typ zur Verfügung hatte, wieder zu implementieren ...Antworten:
Nicht so viel, was für den Programmierer sichtbar ist, aber ziemlich viel hinter den Kulissen, aber viele davon befanden sich in der IDE und im Windows Forms Control-Design und nicht in der Sprache selbst. Ich verwende Delphi 7 seit ungefähr 10 Jahren und C # für ungefähr 5, also habe ich ein paar aufgegriffen:
1) Die Ankereigenschaft ist identisch mit Delphi
2) Die Standardposition des Formulars
3) Die Objekthierarchie für die Steuerelemente
4) Der Formulardesigner fühlt sich im Allgemeinen sehr ähnlich - ich kann meinen Finger nicht genau darauf legen.
Einige Dinge in der Sprache selbst sind mir aufgefallen:
1) Bestimmte Datentypen, auch bekannt als Währung / Dezimalzahl
Einige Dinge in der Sprache, die sehr unterschiedlich sind:
1) Konstruktorvererbung (Delphi wird verwendet, um alle Konstruktoren an Basisobjekte zu erben, die in nachgeordneten Klassen nicht erneut definiert werden mussten)
2) Delphi hatte die Möglichkeit, die Sichtbarkeit einer Methode oder Eigenschaft in Nachkommenklassen herabzustufen, aber den Polymorphismus intakt zu halten, C # erlaubt dies nicht (ich vermisse dies sehr)
Ich habe wahrscheinlich jede Menge Dinge verpasst. Bitte fügen Sie sie hinzu, wenn Sie an sie denken.
quelle
CanWoozle
Eigenschaft true zurückgibt, eine verwendbareWoozle()
Implementierung bereitstellen muss , eine bestimmte abgeleitete Klasse jedoch immer false zurückgibtCanWoozle
und eine rechtmäßig unbrauchbareWoozle
Implementierung hat, gibt es keinen Grund, warum die abgeleitete Klasse ihrWoozle
Mitglied verfügbar machen muss .Anders war bis Delphi 3 bei Borland - er war der ursprüngliche Architekt von Delphi sowie Turbo Pascal. Wenn Sie Delphi 1 laden, rufen Sie die About-Box auf und geben Sie AND ein. Sie erhalten ein Bild von Anders, das Sie anblinzelt.
Als er Borland für MS verließ, machte er zunächst J ++, was Sun ein wenig "verärgerte". Dann erstellte er C #. Die Punkte, denen Sie beitreten sollten, stammen von Borland Object Pascal -> Java / J ++ -> C #
C # ist der Versuch von Microsoft, ein besseres Java zu erstellen. Als alter Delphi-Codierer würde ich akzeptieren, dass sie wahrscheinlich erfolgreich waren.
quelle