Frage zu C++ und C#
-
Ich hab jetzt in meinem Leben mit C++ (Konsole, WinAPI, MFC) und mit C# (Konsole, WinForms) gearbeitet und muss sagen, dass mir C# weitaus besser gefällt, da man damit viel komfortabler programmieren kann. Egal ob GUI-Zeugs, Standard-Funktionsumfang oder generelle Code-Syntax. Aber ich wollte mich mal an ein Spiel wagen und dafür ist C# wegen des Zwischencodes bezüglich geschwindigkeit vielleicht nicht so geeignet. Das gleiche würde für performancekritische Sachen gelten.
Gibt es also eine Programmiersprache, die die Komfortabilität von C# beim Programmieren mit der Performanceleistung einer kompilierten C++-Anwendung in sich vereint?
-
D?
-
Hmm. Theoretisch vielleicht schon. Aber die Sprache ist meiner Meinung nach zu unbekannt und zu wenig verbreitet, um sie als ernsthafte Alternative zu sehen und tatsächlich zu verwenden. Wenn man da zB auf externe Bibliotheken zurückgreifen will, kann man sich erst mal den Wolf suchen. Und was GUI betrifft, gibt's da wohl auch nichts, was gleich mitgeliefert wird, so dass wir da wieder bei der WinAPI wären.
D hat zwar einige gute Ansätze, aber in der Praxis bräuchte ich eher etwas Etabliertes.
-
Bist Du sicher, dass die in Frage kommenden Spiele Performanceprobleme bekommen, wenn Du sie in C# implementieren würdest?
-
Was spricht gegen C#?
Natürlich kann man aus C++ mehr rauskitzeln als aus C#, aber denkst du wirklich dass du so high performance Spiele entwickeln willst dass es da einen Unterschied macht?
Und wenn doch mal etwas zu kritisch sein sollte, kannst du ja unmanaged c++ für diese stelle verwenden...
-
Zuerst habe ich mich in C# mit Spieleprogrammierung beschäftigt
und danach mit C++. Damit Du wirklich einen Unterschied in der
Performance feststellen kannst, musst Du schon ein dickes Killerprojekt
hinlegen. Mach das Zeug in C# und wenn es läuft, kannst Du es sonst
immernoch nach C++ portieren. ;P
-
Man hat mir gesagt, dass Managed DirectX irgendwie langsamer ist. Allerdings kann ich die Aussage weder bestätigen noch dementieren.
An sich habt ihr schon recht mit euren Ideen. Wenn es keinen großen Unterschied macht, kann man gleich C# benutzen. Aber ich hab trotzdem mal gefragt, weil es ja hätte sein können, dass es so eine Sprache gibt. Ich hab's nämlich ganz gern, wenn ich für alles, was ich so brauche, dieselbe Sprache nehmen kann. Was wäre zum Beispiel, wenn ich eine performancekritische Anwendung hätte? Müsste man sich dann mit C++ rumschlagen oder gäbe es da eine Alternative, die so angenehm ist wie C#?
-
D?
-
Hallo
Schau dir XNA an und du wirst sehen, dass da wirklich einiges möglich ist bevor du an Performancegrenzen kommst...
chrische