Danke erstmal für die vielen Kommentare.
Zitat von
Robert_G:
Zitat von
Fingolfin:
1) Kann ich dem GC trauen?
Solange du nicht wie ein VB'ler wild drauf los erzeugst ist alles in Butter.
und
Zitat von
sakura:
Ja
Nunja, seid nicht sauer, aber ich hatte auf eine etwas technischer belegte Antwort gehofft. Aber ich nehme mal an, eure Überzeugung ist erfahrungsbedingt, also werdet Ihr damit sicher recht haben.
Zitat von
Robert_G:
Zitat von
Fingolfin:
2) PerformanceIch mache hauptsächlich Multimedia-Anwendungen mit einer gehörigen Menge beweglicher Grafik. Insofern kann es manchmal zu nicht unerheblichen Performance-Einbrüchen kommen, wenn die Bilddaten nicht definiert und regelmäßig freigegeben werden, sondern sich der GC irgendwann mal dazu bequemt, diese Objkte freizugeben.
Und du bist dir sicher, dass du da mit D32 besser dran warst? In Delphi32 gibt es einen messbaren Performance hit bei der Verwendung von Interfaces. Außerdem
Nun, ein kleine Unterschied besteht schon zwischen ein paar Interfaces und 100 MB oder mehr Grafik im Speicher.
Zitat von
Robert_G:
Warum bin ich froh, dass Interfaces in .Net mit denen aus D32 nicht viel gemeinsam haben?
Hast du schonmal versucht die Klasse hinter einer Interfaceinstanz abzufragen?
Ich kenne nur dieses scheußliche Workaround.
Ich denke, das ist Ansichtssache. Wenn ich Interfaces benutze baue ich ja gerade auf eine recht starke Abstrahierung. Mit anderen Worten, die Notwendigkeit einen Self-Parameter zu benötigen, sollte meines Erachtens bei Interfaces gar nicht zu Tage treten.
Zitat von
Robert_G:
Da du in .Net die Referenzzählung nicht mehr selbst machen muss, sieht es auch gleich viel "aufgeräumter" aus.
Das verwirrt mich jetzt etwas. In Delphi besteht doch im Grunde keine Notwendigkeit selbst an der Referenzzählung rumzuspielen?!? Das käme eigentlich nur bei der Mischung von Interface- und Objektreferenzen zum Tragen und das habe ich immer vermieden, weil es eben so stark fehleranfällig ist.
@Sakura
Nutze...
Danke für die Hinweise.
Aber das ist genau der Knackpunkt den ich meine. Ich habe das Gefühl ab sofort mehr Arbeit darauf zu verwenden, darüber nachzudenken, ob ich denn nun irgendwas in irgendeiner Form freigeben werden kann/muß/soll, als früher, als ich prinzipell alles sofort nach dem Gebrauch gefreet habe.
Der GC mag ja für viele Apps praktisch sein, aber im Arbeitsalltag kommen doch gerade diese kleinen "Sonderwünsche" andauernd vor.
Ich möchte aber auch nicht zu negativ klingen. Im Allgemeinen gefällt mir DotNet ganz gut. Vielleicht fehlt mir einfach noch der technische Sachverstand, um die Vorteile des GC zu sehen. (Wenn jemand die vielleicht mal in einem Satz niederschreiben könnte, bezugnehmend auf meine Verwunderung, wäre ich überglücklich
).
Danke auf jeden Fall für die Kommentare.