@
Phoenix
In der Regel halte ich mich von der aktiven Teilnahme an solchen Diskussionen zurück - aber hier kann ich einfach nicht anders...
Daß Du - bedingt durch deine Arbeit und Deinen Brötchengeber bereit bist, alles zu schwören, was die Leisungsfähigkeit und Vorteile EURER Software anbelangt, ist irgendwie verständlich und nachvollziehbar.
Ungeachtet dessen ist gut programmierter nativer Code systembedingt schneller als ein gleich gut programmierter interpretierter (managed) Code. Denn ein Prozessor kann eben keinen
prozessorunabhängigen Code (z.B. NET) ausführen - denn das ist ja genau die Philosophie, die dahinter steckt: Die Hardware-(Prozessor-)unabhängigkeit. Und diese Übersetztung benötigt Zeit - egal wie klein sie auch sein mag.
Natürlich ist ein optimiertes NET-Programm schneller als ein schlampig programmiertes und/oder umständlich compiliertes natives Programm - egal ob Delphi, C oder sonstwas.
Ich habe schon unter Windows 3.1 auf einem 220MHz-Rechner (oder waren's 230MHZ?) halbtransparente Fenster über den Desktop gezogen (das war ein Programm zur Vorbereitung von Dia-Shows). Dazu hatte ich handoptimierten Assemblercode (inline mit Delphi) und jede Menge Tricks benutzt. Mach' das bitte mal mit NET...
Natürlich ist das heute mit Prozessoren oberhalb der 2GHz-Grenze kein Problem mehr. Es stehen Mehrkern-CPU und die entsprechenden Grafikbeschleuniger zu Verfügung.
Genau aus diesem Grund programmiere ich schon immer mit Rechnern der unteren Leistungsklasse: Wenn meine Programme dort laufen, habe ich die Gewißheit, daß sie auch auf schnelleren PC's ohne Leistungseinbußen funktionieren.
Noch eine Bemerkung zur NET-Philosophie: Logischerweise ist der
integrierte Funktionsumfang einer Laufzeitbibliothek von hunderten Megabyte größer als bei einem nativen Programm von meinetwegen 2MByte (wenn ich's noch einmal durch den Delphi 5-Compiler jage, bleiben davon noch ca. 500kByte übrig).
Wenn ich zum Beispiel auf einem virtuellen Server mit einem Windows-System ein kleines Datenbanktool von ca. 1MByte Größe nutzen will und anschließend erst noch NET nachinstallieren soll, um das Progrämmchen überhaupt nutzen zu können, dann kocht es in mir - und ich suche nach dem erst besten nativen Tool.
Wozu - um alles in der Welt - soll ich zu einer interpretierten Sprache greifen, wenn ich ausschließlich für Windows programmiere? Weil es "moderner" ist? "Cooler"? Weil haufenweise neue Sprachkonstruktionen enthalten sind, die ich nicht mal ansatzweise benötige!?
Nenne mir bitte nur eine einzige Sache, die ich mit nativem Delphi
nicht hinbekomme, sondern nur mit NET (abgesehen von der - eingeschränkten - Plattformunabhängigkeit!