Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 45

Thema: Flamewar: C# vs. C++

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Mani Gast
    Ich dachte, alle Spiele werden mit C++ programmiert, oder werden jetzt schon einige mit C# programmiert?

  2. #2
    Das einzige Spiel in C#, das ich kenne, ist Arena Wars. Vor allem möchte ich aber anmerken, dass C# bzw. allgemein .NET praktisch nur für Windows halbwegs brauchbar ist und daran wird sich auch nicht viel ändern. Wenn man schnelle, portable Programme schreiben will, die überall laufen, dann gibt es außer C, C++ und vielleicht noch Python nicht sonderlich viele Möglichkeiten.

  3. #3
    Zitat Zitat
    C++ ist übrigens eine ausgestorbende Sprache!!!
    Wird euch jeder Student sagen der was mit Programmieren zu tun hat C# hat alle Vorteile und läuft auch stabiler.

    Um es mit meinen eigenen Worten, zitiert aus einer Email, zu sagen:

    Zitat Zitat
    Re: C++ is dead [was: Issues with standard libs]

    > C++ is dead!

    No.

    C++ sucks. Big time. It is one of the worst languages, if you want to call it that, you can imagine, inconsistent, annoying and on par with Teletubbies and meat world in general, but it *is*, in my opinion, the most powerful higher language you can use to create standard applications. Faster than Java, portable (in contrast to C# and other bogus .Netian ideas) and at least somewhat like an object oriented language.
    Most serious application development is, to my knowledge, done in C and C++ and I assume that it will stay this way until someone creates a more powerful language that is mostly compatible with what C and C++ established, which follows similar paradigms and which is, at last, somewhat more consistent.
    Ach ja, als ehemaliger Student der Informatik: Ich mag C# nicht lieber als C++.

  4. #4
    Zitat Zitat von Fansoftware Beitrag anzeigen
    C++ ist übrigens eine ausgestorbende Sprache!!!
    Wird euch jeder Student sagen der was mit Programmieren zu tun hat C# hat alle Vorteile und läuft auch stabiler.
    Fehlinformation.


    Zitat Zitat von Rpgman Beitrag anzeigen
    Ich dachte, alle Spiele werden mit C++ programmiert, oder werden jetzt schon einige mit C# programmiert?
    Fehlinformation.

  5. #5
    Zitat Zitat von Fansoftware Beitrag anzeigen
    C++ ist übrigens eine ausgestorbende Sprache!!!
    Wird euch jeder Student sagen der was mit Programmieren zu tun hat C# hat alle Vorteile und läuft auch stabiler.
    Verdammt, das muß ich meinem Prof sagen! Die Kurse Technische Informatik 1 und 2 müssen völlig umgekrempelt werden!

    Und ich bin beeindruckt - Miguel de Icaza hat es nicht nur hingekriegt, Mono schneller als die C++-Runtime zu machen, sondern es auch noch auf jede einzelne Plattform zu portieren, für die man mit C++ kompilieren kann? Wow, wirklich beeindruckend.
    Und ich dachte, daß extrem objektorientierte Sprachen generell einen Performanceverlust über teilprozeduralen Sprachen haben, weil OOP teuer ist. Und daß selbst JIT-Kompilierung interpretierte Sprachen nicht ganz so schnell wie hochoptimierten nativen Maschinencode machen kann. Wie man sich doch irren kann.

    Ich finde es auch nett, daß C♯ alle Vorteile hat, inklusive "gibt es für praktisch jedes Betriebssystem mit nativ mitgelieferten Runtimes" (inklusive Betriebssystemen wie Zeta oder Plan 9 from Bell Labs) und "hat die größte Auswahl an Bibliotheken von allen Programmiersprachen". Microsoft muß sich echt Mühe gemacht haben, um die Sauerbraten-Engine, Mikmod etc. auf C♯ zu portieren.

    Und wenn C++ wirklich ausgestorben ist, dann frage ich mich doch, womit KDE 4 programmiert wird. Oder der Großteil aller PC-Spiele. Oder der NT-Kernel (gut, der ist in C geschrieben, aber wenn C++ schon tot ist, muß es C erst recht sein).


    Nebenbei, ich frage mich wirklich, warum Microsoft den neuen Explorer nicht in C♯ geschrieben hat. Ich meine, sie hatten ja mal eine Dotnet-Version, aber die hat es irgendwie nicht in das finale Vista geschafft, so wie der Großteil der anderen Dotnet-basierten Komponenten, die eigentlich für Longhorn geplant waren.


    PS: In diesem Forum kannst du Unicode-Zeichen verwenden, schreib' also bitte "C♯" richtig. Die Version mit dem # ist nur für Umgebungen, in denen Unicode nicht zur Verfügung steht.
    PPS: Selbst wenn von heute auf morgen keine neue Software in C++ geschrieben werden würde würde C++ locker noch 30 Jahre mindestens weiterleben. Siehe COBOL und FORTRAN.

    Geändert von Jesus_666 (30.06.2007 um 23:39 Uhr)

  6. #6
    Normalerweise will ich ja nicht nachsetzen bei sowas, aber...
    Zitat Zitat von Fansoftware Beitrag anzeigen
    C++ ist übrigens eine ausgestorbende Sprache!!!
    Wird euch jeder Student sagen der was mit Programmieren zu tun hat C# hat alle Vorteile und läuft auch stabiler.
    Zugegeben, C# hat Vorteile, wenn man nur unter Windows programmiert und auch sonst nicht allzu tief in die Hardware-Materie einsteigen muss... Gehts - wie Jesus_666 es schon erwähnt hat - um zeitkritische Anwendungen oder will man seine Programme auch auf anderen Betriebssystemen außer auf Windows anbieten, ist C# nicht wirklich erste Wahl. (Warum sollte Microsoft eine Programmiersprache anbieten, die auf anderen Betriebssystemen als auf Windows läuft?)

    Geändert von Manuel (03.07.2007 um 21:34 Uhr)

  7. #7
    C++ ist Bloat. Benutzt mehr C

    --
    Ansonsten, zu C# ( <<< ja Jeez, ich bin zu faul, das jetzt korrekt zu copy/pasten. Ausserdem definiert der ECMA-Standard C#.) wurde im Prinzip alles gesagt - was man noch erwaehnen sollte, ist, dass es fast alle Nachteile von Java hat (aber dafuer nichtmal dessen mehr-oder-weniger-Vorteile). Beides Sprachen, die nur wegen der Propaganda von $grosser_Firma so erfolgreich sind.


    @ DFYX:
    Python wuerde ich nicht als ernsthafte Alternative fuer die Spiele-Programmierung ansehen (okay, 2D-Sachen wie ein simples Jump'n'Run oder Breakout kriegt man sicher mit brauchbarer Geschwindidkeit zum Laufen; aber das trifft auch auf andere Sprachen zu), die Sprache ist einfach nicht schnell genug fuer eine brauchbare, moderne (3D-)Engine. Was man natuerlich machen kann, ist, eine Engine in C(++) zu schreiben und die Spiellogik in Python zu implementieren. Das machen inzwischen ja auch einige Spielehersteller (auch wenn die meisten eher Lua als Python nehmen).

  8. #8
    Mit C++ kann man keine anständigen Spiele mehr schreiben der Perfomance verlust ist viel zu hoch.
    Ich habe übrigens geschrieben das C# oder C.Net wie man es nenne will oder wirklich heisst für Windows extrem gut geeignet ist und wer Linux Fan eher nicht.
    Ausserdem finde ich es sehr belustigen das angeblich die Sprachen so erfolgreich sind,wegen Propaganda großer Firmen.
    C# wird für sehr viele Spiele benutzt.


    Warum also sollten man sich für C# (wird "C Sharp" gesprochen) entscheiden?
    Weil C# fast alle Vorteile von C++ und Java in sich vereint.
    Dem C++ oder Java-Programmierer wird der Einstieg in C# besonders einfach fallen, da C# ein Abkömmling der C/C++ Sprachfamilie ist und somit die Syntax ähnlich wie in diesen Sprachen ist. Ein großer Vorteil gegenüber C++ ist, dass C# komplett neu entwickelt wurde und daher keine Überreste aus vergangenen Tagen wie etwa C++, das eine Weiterentwicklung von C ist, hat. Dies macht die Sprache leichter verständlich als C++. Des Weiteren wurde C# speziell für das .NET-Framework entwickelt und passt sich daher optimal in diese Umgeben ein. Aus diesem Grund eignet sich C# unter anderem auch besonders für die Entwicklung von Online-Diensten. Ein weiterer Vorteil ist, dass C# plattformunabhängig ist(ok nicht unbedingt), daher ein Programm, das mit C# programmiert wurde läuft auf jedem Betriebsystem, auf dem auch das .NET-Framework läuft. Des Weiteren ist C# vollständig objektorientiert. Selbst die Elementaren Datentypen wie Integer oder Booleans werden in C# als Objekte gesehen.
    Ein weiterer Vorteil ist, dass C# die komponentenbasierte Programmierung unterstützt, was zu mehr Produktivität führt, da einmal programmierte Programme ohne Probleme weiterverwendet werden können.

    So damit sollte alles gesagt sein....für WIndows leute ein unbedungtes muss.
    Ich habe nie behauptet das C# die bester Sprache ist.
    Schluss, aus, Baste^^.

  9. #9
    Zitat Zitat
    Mit C++ kann man keine anständigen Spiele mehr schreiben der Perfomance verlust ist viel zu hoch.
    Zeige mir auch nur eine glaubwürdige Statistik, die nicht von Microsoft stammt und deine Aussage belegt.

    Ich möchte einfach mal einen Post aus einem anderen Forum zitieren:
    Zitat Zitat
    xero.NET auf coding-board.de
    ich hab da einen benchmark... ergebnisse darf ich jedoch jetzt hier nicht veröffentlichen, da m$ das nicht will ... aber selber darf jeden den benchmark durchführen...

    hier ein auszug aus der c't: "... Microsoft verbietet selbst für die Final Version des SDK, Benchmarks ohne Genehmigung zu veröffentlichen - eine eigenwillige Auffassung von Offenheit. Mit unseren Quelltexten, die sie inklusive aller anderen Beispiele aus diesem Artikel unter den Soft-Links für diese Ausgabe finden, kann immerhin jeder selbst Geschwindigkeitsvergleiche durchführen. Der grundsätzliche Eindruck ist, dass C# und Java sich nicht viel nehmen, also deutlich langsamer laufen als in Maschinensprache kompiliertes C++. Ein überraschendes Tempo legt aber Managed C++ vor, also in MSIL-Zwischencode übersetztes C++. ..."

    hier der download zum benchmark:
    ftp://ftp.heise.de/pub/ct/listings/0204-098.zip

    bzw. auf http://www.heise.de/ct/ gehen und als softlink "0204098" eingeben
    Schon komisch, dass MS nicht will, dass Benachmarks veröffentlicht werden, wenn die Sprache doch so viel schneller ist.

  10. #10
    Zitat Zitat von Fansoftware Beitrag anzeigen
    Mit C++ kann man keine anständigen Spiele mehr schreiben der Perfomance verlust ist viel zu hoch.
    Ich habe übrigens geschrieben das C# oder C.Net wie man es nenne will oder wirklich heisst für Windows extrem gut geeignet ist und wer Linux Fan eher nicht.
    Ausserdem finde ich es sehr belustigen das angeblich die Sprachen so erfolgreich sind,wegen Propaganda großer Firmen.
    C# wird für sehr viele Spiele benutzt.


    Warum also sollten man sich für C# (wird "C Sharp" gesprochen) entscheiden?
    Weil C# fast alle Vorteile von C++ und Java in sich vereint.
    Dem C++ oder Java-Programmierer wird der Einstieg in C# besonders einfach fallen, da C# ein Abkömmling der C/C++ Sprachfamilie ist und somit die Syntax ähnlich wie in diesen Sprachen ist. Ein großer Vorteil gegenüber C++ ist, dass C# komplett neu entwickelt wurde und daher keine Überreste aus vergangenen Tagen wie etwa C++, das eine Weiterentwicklung von C ist, hat. Dies macht die Sprache leichter verständlich als C++. Des Weiteren wurde C# speziell für das .NET-Framework entwickelt und passt sich daher optimal in diese Umgeben ein. Aus diesem Grund eignet sich C# unter anderem auch besonders für die Entwicklung von Online-Diensten. Ein weiterer Vorteil ist, dass C# plattformunabhängig ist(ok nicht unbedingt), daher ein Programm, das mit C# programmiert wurde läuft auf jedem Betriebsystem, auf dem auch das .NET-Framework läuft. Des Weiteren ist C# vollständig objektorientiert. Selbst die Elementaren Datentypen wie Integer oder Booleans werden in C# als Objekte gesehen.
    Ein weiterer Vorteil ist, dass C# die komponentenbasierte Programmierung unterstützt, was zu mehr Produktivität führt, da einmal programmierte Programme ohne Probleme weiterverwendet werden können.

    So damit sollte alles gesagt sein....für WIndows leute ein unbedungtes muss.
    Ich habe nie behauptet das C# die bester Sprache ist.
    Schluss, aus, Baste^^.
    lol.

  11. #11
    Zitat Zitat von Fansoftware Beitrag anzeigen
    Mit C++ kann man keine anständigen Spiele mehr schreiben der Perfomance verlust ist viel zu hoch.
    Performanceverlust wodurch? C++ wird zu Maschionencode kompiliert und hat eine vergleichsweise winzige Runtime. Was genau macht C++ langsamer?


    Zitat Zitat
    Dem C++ oder Java-Programmierer wird der Einstieg in C# besonders einfach fallen, da C# ein Abkömmling der C/C++ Sprachfamilie ist und somit die Syntax ähnlich wie in diesen Sprachen ist.
    Gilt auch für C++ und Java. Und D.


    Zitat Zitat
    Ein großer Vorteil gegenüber C++ ist, dass C# komplett neu entwickelt wurde und daher keine Überreste aus vergangenen Tagen wie etwa C++, das eine Weiterentwicklung von C ist, hat. Dies macht die Sprache leichter verständlich als C++.
    Gilt auch für Java und D, wobei bei Java-artigen Sprachen (wozu auch alle Dotnet-Sprachen gehören) oft angemerkt wird, daß sie teilweise schwer verständlich sind, weil der Quelltext einfach zu wortreich wird.


    Zitat Zitat
    Des Weiteren wurde C# speziell für das .NET-Framework entwickelt und passt sich daher optimal in diese Umgeben ein. Aus diesem Grund eignet sich C# unter anderem auch besonders für die Entwicklung von Online-Diensten.
    Gilt auch für Java. Schon mal was von Servlets gehört?


    Zitat Zitat
    Ein weiterer Vorteil ist, dass C# plattformunabhängig ist(ok nicht unbedingt), daher ein Programm, das mit C# programmiert wurde läuft auf jedem Betriebsystem, auf dem auch das .NET-Framework läuft.
    Also auf Windows 200, Windows XP, Windows 2003 Server und Windows Vista. Damit ist C♯ genauso portabel wie C++, welches für win32 gebaut ist; man spart sich lediglich die Neukompilierung.
    Wenn man allerdings portable Bibliotheken wie wxWidgets verwendet kann man auch aufwendige C++-Anwendungen für haufenweise Plattformen schreiben. Und im Gegensatz zu Dotnet bietet wxW selbst Support für diese Plattformen und erwartet nicht, daß irgendwer die Runtime und die Klassenbibliothek reverse engineert, um überhaupt nennenswerte Portabilität zu bieten.


    Zitat Zitat
    Des Weiteren ist C# vollständig objektorientiert. Selbst die Elementaren Datentypen wie Integer oder Booleans werden in C# als Objekte gesehen.
    Was wiederum bedeutet, daß C♯ Performanceverlust bedeutet. Glaub' mir, junge, OOP ist teuer. Vollständig auf OOP ausgelegte Programmiersprachen sind cool, aber sie sind auch langsam.


    Zitat Zitat
    Ein weiterer Vorteil ist, dass C# die komponentenbasierte Programmierung unterstützt, was zu mehr Produktivität führt, da einmal programmierte Programme ohne Probleme weiterverwendet werden können.
    Zu dumm, daß komponentenorientierte Programmierung einfach nur eine andere Art ist, OOP anzuwenden. Mit C++ kann man komponentenorientiert arbeiten (siehe Bonobo) und Java tut es auch (Enterprise Java Beans).


    Zitat Zitat
    So damit sollte alles gesagt sein....für WIndows leute ein unbedungtes muss.
    Bis auf die Leute, die Wert auf Performance legen oder sich die Option der späteren Portabilität offen halten wollen. Oder die, die einfach Java verwenden und somit Portabilität gratis kriegen.

    Geändert von Jesus_666 (01.07.2007 um 14:44 Uhr)

  12. #12
    Zitat Zitat von Fansoftware Beitrag anzeigen
    Mit C++ kann man keine anständigen Spiele mehr schreiben der Perfomance verlust ist viel zu hoch.
    Ich habe übrigens geschrieben das C# oder C.Net wie man es nenne will oder wirklich heisst für Windows extrem gut geeignet ist und wer Linux Fan eher nicht.
    Ausserdem finde ich es sehr belustigen das angeblich die Sprachen so erfolgreich sind,wegen Propaganda großer Firmen.
    C# wird für sehr viele Spiele benutzt.


    Warum also sollten man sich für C# (wird "C Sharp" gesprochen) entscheiden?
    Weil C# fast alle Vorteile von C++ und Java in sich vereint.
    Dem C++ oder Java-Programmierer wird der Einstieg in C# besonders einfach fallen, da C# ein Abkömmling der C/C++ Sprachfamilie ist und somit die Syntax ähnlich wie in diesen Sprachen ist. Ein großer Vorteil gegenüber C++ ist, dass C# komplett neu entwickelt wurde und daher keine Überreste aus vergangenen Tagen wie etwa C++, das eine Weiterentwicklung von C ist, hat. Dies macht die Sprache leichter verständlich als C++. Des Weiteren wurde C# speziell für das .NET-Framework entwickelt und passt sich daher optimal in diese Umgeben ein. Aus diesem Grund eignet sich C# unter anderem auch besonders für die Entwicklung von Online-Diensten. Ein weiterer Vorteil ist, dass C# plattformunabhängig ist(ok nicht unbedingt), daher ein Programm, das mit C# programmiert wurde läuft auf jedem Betriebsystem, auf dem auch das .NET-Framework läuft. Des Weiteren ist C# vollständig objektorientiert. Selbst die Elementaren Datentypen wie Integer oder Booleans werden in C# als Objekte gesehen.
    Ein weiterer Vorteil ist, dass C# die komponentenbasierte Programmierung unterstützt, was zu mehr Produktivität führt, da einmal programmierte Programme ohne Probleme weiterverwendet werden können.

    So damit sollte alles gesagt sein....für WIndows leute ein unbedungtes muss.
    Ich habe nie behauptet das C# die bester Sprache ist.
    Schluss, aus, Baste^^.
    NACK.


    Du musst sehr, sehr, sehr viel RAM haben. Sehr, sehr, sehr viel.

  13. #13
    Zitat Zitat von Fansoftware Beitrag anzeigen
    Ein weiterer Vorteil ist, dass C# plattformunabhängig ist(ok nicht unbedingt), daher ein Programm, das mit C# programmiert wurde läuft auf jedem Betriebsystem, auf dem auch das .NET-Framework läuft.
    Das wären dann die X-Box 360 und Windows! Wirklich viel oder?

    C# ist etwas einfacher als C(++), aber von den aktuellen Möglichkeiten her, ist C++ die absolute Nr1 (Neben Pascal und den Pascal-Weiterentwicklungen wie Delphi) in allen Gebieten. Für kleinere Programme ist C# nett, aber Großprojekte sind in C(++) besser aufgehoben, da man hier nicht irgendein Framework braucht.

  14. #14
    Zitat Zitat von S.E.B.I. Beitrag anzeigen
    Das wären dann die X-Box 360 und Windows! Wirklich viel oder?
    Hey, das sind verdammt viele, überleg doch mal: X-Box 360, Windows 98, Windows 98 SE, Windows 2000, Windows XP Home, Windows XP Professional, Windows 2003 Server, Windows Vista Starter, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Business, Windows Vista Enterprise, Windows Vista Ultimate und Windows CE! Das sind 14 verschiedene! Und wenn man von der immer noch häufig anzutreffenden Version 1.0 ausgeht, kommt sogar Windows NT 4.0 dazu!

    Edit: ich hab Windows Mobile vergessen! Also sogar 15!

  15. #15
    Ich kenn mich mit Java nicht besonders gut aus aber der Propaganda großer Firmen zufolge scheint die Sprache doch ganz nett zu sein. Gibt es eine alternative die Programme erzeugt, die ohne neu kompilierung und mit einem ähnlichen Funktionsumfang für dieselben Anwendungsgebiete auf so vielen Plattformen läuft?
    Zitat Zitat
    Mit C++ kann man keine anständigen Spiele mehr schreiben der Perfomance verlust ist viel zu hoch.
    C++ ist viel toller und besser und schneller und hat nen längeren als dein C♯.

    Zitat Zitat
    Was bringt mir C hassen?
    C hassen ist etwas besonderes, nicht jeder kann das aus vollem Herzen. C hassen bringt dir die Genugtuung, dich nicht blindlings einem "Sachzwang" ergeben zu haben. Es lässt vermuten, dass du deine Entscheidungen auf der Grundlage solider Analysen und nicht der Mehrheitsmeinung fällst.
    Der Text ist klasse.

  16. #16
    Aso und wer unbedingt C# auch auf anderen Betriebssystem nutzten will sollte einfach Mono benutzten.
    Hier der Link:
    http://www.mono-project.com/Main_Page

    Das ganze läuft auf Linux, Solaris, Mac OS X, Windows, und Unix.
    Hoffe damit wäre die kompalitäts sache geklärt.

    Und nein ich bin nicht zu feige hier weiter zu schreiben,
    C++ ist vieleicht noch gut für Betriebssysteme das will garnicht abstreiten,aber dafür wurde C# net ausgelegt.
    Zudem musss man bedenken das oft 10zeilen C++ coding in C# eine ergeben.

  17. #17
    nur ist mono, wenn ich mich recht erinnere, erheblich langsamer noch als normales unter windoze laufendes C#

  18. #18
    Zitat Zitat von Fansoftware Beitrag anzeigen
    C++ ist vieleicht noch gut für Betriebssysteme das will garnicht abstreiten,aber dafür wurde C# net ausgelegt.
    Erst sagst du, dass C++ ausgestorben sei, weil es C# gibt.
    Also ist, nach deiner Meinung, C# ein vollwertiger Nachfolger von C++
    Aber nun sagst du, dass C# nicht fürs schreiben von Betriebssystemen geeignet ist.
    Denk erstmal nach, bevor du was schreibst.

  19. #19
    Also die Diskussion ist sehr interessant und um auch mal ein Statement eines Studenten hierzulassen: Wenn man bei uns mit dem Thema C# anfängt erntet man vom zuständigen Hochschulpersonal nur ein müdes (oder mitleidiges?) Lächeln, bei uns wird C und anschließend C++ gelehrt.

  20. #20
    Zitat Zitat von Kaworu Beitrag anzeigen
    Also die Diskussion ist sehr interessant und um auch mal ein Statement eines Studenten hierzulassen: Wenn man bei uns mit dem Thema C# anfängt erntet man vom zuständigen Hochschulpersonal nur ein müdes (oder mitleidiges?) Lächeln, bei uns wird C und anschließend C++ gelehrt.
    Kann ich nur bestätigen. Bei uns ists Java, Assembler und C. (Nunja, ein wenig Haskell wird uns auch noch aufgezwungen)

    C# scheint an deutschen Hochschulen auf keinerlei Intresse zu stossen,...
    (Was zB an meiner Uni kein Wunder ist, die hiesige technische Fakultät besitzt genau 2 Windows Rechner. Der Rest läuft auf Solaris.)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •