Ich glaube es ließen sich noch zig .net-Techniken finden, warum man .net nehmen sollte.
Fakt ist, dass man ein sehr schnelles und unheimlich flexibles Programmiersystem hat (Delphi) und ein sicheres, langsameres und unflexibleres Programmiersystem (Prism, C#, Whatever).
Ich brauche ersteres für meine Kunden-Anforderungen. Es kommt einfach immer wieder vor, dass man was casten muss oder mal direkt in die CPU-Register rein muss. Und da zieht .net einfach den kürzeren.
Der Resourcenverbrauch ist im Vergleich zu Native einfach sehr viel größer. Meine Kunden haben teiweise PCs von 2002. Was soll ich da mit net ankommen? Die zeigen mir den Vogel, wenn ich sage, sie sollen das net-Framework vorher installieren.
Ah, ein "Fakt ist" am Anfang ist natürlich gut. Wir diskutieren zwar die ganze Zeit darüber, aber schon dass das mal wer gesagt hat *g*
Fakt ist: Ich halte .net für flexibler als Delphi. Zum Beispiel kann ich eine Klasse anlegen und dann in minimaler Zeit eine List<Klasse> anlegen und das in eine Listbox einfügen. Wenn man noch die toString() Methode überschreibt hat man sofort eine Objektliste die angezeigt wird. Kein casten, nichts. Wenn man dann auf die Idee kommt, man würde gerne und einfach manipulieren können nimmt man stattdessen eine BindingList<T> und schon wird alles was man an der Liste macht sofort in der Listbox gespiegelt.
Casten ist natürlich kein Problem. Und direkten Zugriff auf die CPU Register ... okay, da hat inline Assembler die Nase vorn. Ich kann aber kein Assembler, weil nie gebraucht. Sorry.
Ressourcenverbrauch, okay. Der Punkt geht an native. Und wenn du noch Krücken aus 2002 supporten musst, dann ist das eben so, da kann man nur selten etwas dran ändern.