Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

21

17.10.2012, 01:19

Was die Wahl der Sprache betrifft, so stimme ich zu, dass es dafür noch zu früh ist. Aber ich möchte doch eine persönliche Erfahrung diesbezüglich mit euch teilen: Ich würde niemals mehr einen Renderer in C# schreiben. Und der Hauptgrund dafür ist nicht, wie viele jetzt natürlich gleich denken, die Performance. Die ist auch ein Grund, aber die Performance war bisher eigentlich über mindestens 90% des Weges immer ausreichend. Ein wirklich großes Problem ist imo das Ressourcenmanagement. Der Garbagecollector macht den Umgang mit unmanaged Ressourcen, wie sie in dem Zusammenhang einfach allgegenwärtig sind, zur unglaublichen Qual. Hätte ich den ganzen Renderer damals in C++ geschrieben und nur die Oberfläche in C#, wär das Ding vermutlich sehr viel sauberer und vor allem wesentlich weniger verbugged gewesen. C# ist ideal für die schnelle Entwicklung interner Tools (Map Editor etc.) und dafür würde ich es auch empfehlen; aber wenn ihr keine fertige Engine oder sonstige high-level Libraries verwenden wollt, dann wäre mein Rat, zumindest den Unterbau in C++ zu schreiben. Und zwar weil das mit C++ meiner Erfahrung nach sehr viel einfacher, sauberer und sicherer geht als mit C#. Darauf aufbauend kann man ja durchaus mit C# arbeiten.

PS: Die Tatsache, dass man in C++ einfach sehr viel leichter optimieren kann, wenn das mal notwendig wird, sollte man auch nicht unterschätzen. Ich sagte, die Performance von C# war für mich bisher immer über mindestens 90% des Weges ausreichend...wenn man dann auf einmal gegen Ende des Projektes, wo es davor nie irgendwelche Probleme gab, völlig unvorhergesehen auf die Performanceschallmauer trifft und sich die letzten 10% des Weges mühsam gegen den GC erkämpfen muss, ist das auch nicht besonders angenehm, das könnt ihr mir glauben...

Das ist zumindest meine Erfahrung. Ich hab damals nur einen kleinen OpenGL Wrapper in C++/CLI geschrieben und ansonsten alles in C# und am Ende des Projektes hätte ich mir gewünscht, dass ich wesentlich mehr davon (nicht alles, aber mehr; im konkreten Fall z.B. gewisse Datenstrukturen, die sich in C# einfach nicht gut umsetzen lassen) in C++ geschrieben hätte...

Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von »dot« (17.10.2012, 01:52)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

22

17.10.2012, 06:39

Aber vielleicht will ich es gar nicht lernen. :whistling:

Das ist aber eine ziemlich schlechte Einstellung für einen Software-Entwickler. Wir alle müssen immer wieder andere Sprachen lernen. Und da ist C# sogar eine sehr gute Wahl. Schlimmer wäre, wenn man Dir Basic aufdrücken wollen würde oder Algol oder anderweitig alten Krempel.
Ich war auch nicht begeistert, als ich C# lernen sollte für den Beruf. Aber es ging schnell, hat sehr viele sehr geile Features und ist meiner Meinung nach die bequemste Art highlevel zu entwickeln. So oder so, Du solltest mal einen Blick drauf werfen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

23

17.10.2012, 07:59

Ich habe auch mal abgestimmt für C++
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

24

17.10.2012, 11:27

aber wenn ihr keine fertige Engine oder sonstige high-level Libraries verwenden wollt, dann wäre mein Rat, zumindest den Unterbau in C++ zu schreiben. Und zwar weil das mit C++ meiner Erfahrung nach sehr viel einfacher, sauberer und sicherer geht als mit C#. Darauf aufbauend kann man ja durchaus mit C# arbeiten.

Das ist halt die Frage. Ich persönlich denke, dass es für ein erstes Projekt evtl. gar nicht so schlecht wäre, auf eine fertige Library zurück zu greifen. Denn einen performanten Renderer selber zu schreiben ist jetzt auch nicht die einfachste Aufgabe. Und da es zu Beginn des Projekts ohnehin unklar ist, wie viele der aktuell motivierten dauerhaft zu begeistern sind bzw. wie gut ein jeder programmieren kann, würde ich beim ersten Projekt vllt. darauf verzichten eine eigene Engine zu schreiben.

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

25

17.10.2012, 12:22

Ich hab jetzt hier für nichts gestimmt, da mit die Sprache eigentlich egal ist. Ich kann alle mehr oder weniger...

Mfg Harry222

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

26

17.10.2012, 15:19

C++ ganz klar, ES GIBT KEINEN ANDEREN WEG IHR UNGLÄUBIGEN! :D

Nee ich hab schlicht C# noch nie ausprobiert. Ist mir aber auch Wurst, solange ich es nicht brauche...

Yannic

unregistriert

27

17.10.2012, 15:36

Oder wir basteln als Forenprojekt einen C#++-Compiler, der alle tollen Dinge der beiden Sprachen vereint :thumbsup:
Scherz, aber ich bin immer noch der festen Überzeugung das man den Großteil in C# schreiben sollte, allein weil man dann die Möglichkeit des Vita-/Xbox 360-Supports hat.
(Außer es wird jetzt supertoll und wir kriegen ein Devkit, unwahrscheinlich)

FSA

Community-Fossil

  • Private Nachricht senden

28

17.10.2012, 15:54

Also ich bin immer noch für C++. C# kann ich nicht und habe auch nicht vor es zu lernen.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

29

17.10.2012, 16:01

Nach meiner Lernerfahrung dürfte ich nach ~1 Woche recht "gut" drin sein.
Aber vielleicht will ich es gar nicht lernen. :whistling:

MfG
Check

Nach einer Woche sieht der Code aber auch entsprechend schlecht aus. ;)

Yannic

unregistriert

30

17.10.2012, 16:02

Genau deswegen habe ich in dem Haupt-Thread meine Kontaktdaten ausgegeben, damit man sich mal zusammen setzt und in Ruhe diskutiert.
Ich würde z.B. auch auf C++ wechseln, wenn das Sinn macht. ;)

Werbeanzeige