C# macht nur .NET Programme,
Win32 geht nicht.
Der Unterschied zwischen Delphi und C# ist vor allem der Hersteller. Am Ende entstehen tun in beiden Fällen aber ähnliche .NET Programme (sog. Assemblies). Hier mal ein paar meiner 2 Cents, wo die Vorteile von beiden Seiten liegen:
C#
+ Sehr robust und für das .NET Framework geschrieben. Delphi hat viele Altlasten.
+ Recht stabile und schnelle
IDE. Delphi 2005 ist die fehlerhafteste
IDE die ich jemals erlebt habe.
+ Ist in .NET der Standard
+ Man ist in .NET immer an der Spitze der Zeit. In wenigen Wochen kommt C# 2.0. Bis Delphi featuremäßig da nachgezogen hat wird es eine Weile dauern (vor allem bis das dann genauso stabil läuft was es ja für 1.1 heute immer noch nicht tut)
+ Geringere Lernkurve als Delphi.
Delphi
+ Es gibt eine
VCL.NET mit der man alte Software in überschaubarem Zeitaufwand portieren kann.
+ Ein Sprachdetail: Klassenreferenzen sind meiner Ansicht nach besser gelöst. Z.B. Kann man von Klassenreferenzen Methoden aufrufen, sogar Constructoren. In der .Net Welt sind solche Aufrufe aber natürlich proprietär und wohl auch nicht besonders schnell, da das Framework das denke ich nur mit Umwegen zulässt.
+ Die
IDE hat heute schon Refactoring.
+ Man kann via Sourcecodesharing Units schreiben, die sowohl in
Win32 und .NET funktionieren.
+ Delphi kann Dlls hart ins Programm verlinken (zumindest, wenn diese auch in Delphi geschrieben sind).
+ Es ist verdammt teuer und Upgrades kosteten bislang auch ein Vermögen (will hoffen, dass sich das für Delphi 2006 ändert. Denn Delphi 2005 ist nicht verwendbar und nur wegen Bugfixes gebe ich keine Hunderte Euros aus).
Solche Listen kann man ewig fortsetzen...Im Moment finde ich, dass der Sieg eindeutig auf der Seite von C# liegt. Auch wenn Delphi einige Vorzüge hat...die Stabilität macht alles zu nicht.
Nur meine Meinung aber vielleicht kommen ja noch mehrere darunter
P.S.: Noch eines zum Thema "Delphi ist nicht verwendbar": Es kommt sehr darauf an, was man tut. Ich habe eine
Win32 CMS Anwendung komplett mit Delphi 2005 erstellt. Hatte zwar einige viele Macken, aber es hat funktioniert. Möchte man aber zum Beispiel
COM Objekte programmieren, so sollte man sich Delphi 2005 aus dem Kopf schlagen, da einfach zu viele
IDE Fehler drin sind (kommt schon mal vor, dass die
IDE einfach Sourcecode von einer Stunde vorher wiederherholt und damit die Arbeit weg ist).
P.P.S.: Ich bin dabei seit Pascal 5.5 und Delphi seit Version 1. Borland muss sich dringend was einfallen lassen....
P.P.P.S.: Meine Arbeitskollegen (die mit C# arbeiten) müssen sich auch ständig meine stundenlangen Complaints zum Thema Delphi 2005 anhören