Spieleprogrammierung... Noob's Fragen...
-
otze schrieb:
spieleprogrammier bücher sind schlecht, da sie ein C+ sind, dh eine mischung aus C und C++,und somit schlechter Stil, der code ist nicht zum abschreiben, falls man nicht wert darauflegt, von echten profis ausgelacht zu werden
carmack scheint das beispiel schlechthin für furchtbaren code zu sein, ausgelacht hat ihn noch keiner. spieleprogrammierer haben da halt eine "etwas" andere mentalität als anwendungsprogrammierer und sagen sich "ich benutz oo soweit, wie es mir in den kram paßt und der rest kann mir gepflegt gestohlen bleiben". wer darauf besteht, daß das verwenden von klassen sofortigen zwang zur folge hat nur noch c++ zu verwenden und sich deswegen lieber an der formatierten ausgabe mit cout einen abbricht statt printf zu verwenden, der wird in dem beruf sicher nicht glücklich *fg*
davon abgesehen, wer legt fest, was c ist und was c++? was in c vorhanden war, wurde in c++ nicht komplett neu implementiert. sind zeiger plötzlich tabu und man sollte nur noch die c++ referenzen benutzen? funktionszeiger ignorieren und lieber ableiten bis zum erbrechen?
wenn dann noch code dazukommt, der einfach nur als beispiel einen bestimmten punkt deutlich macht, dann schenkt man sich eben vieles.
in einem opengl buch, das teilweise c++ benutzt sind immer noch malloc und free angesagt. schlimm? nicht wirklich, genau genommen erspart man sich damit sogar gleich peinliche fehler, wenn man schlampt und delete statt delete[] aufruft (speicherleck) oder umgekehrt (ziemlich sicherer crash). ändert aber nichts daran, daß man new und delete trotzdem noch für klassen braucht (sonst kann man sich konstruktor und destruktor auch halb schenken). und puristen wird halt gerne schlecht, wenn sie in ihrem geliebten sauberen c++ plötzlich ein malloc sehen. mir persönlich schnurz, ich benutze, was mir in dem moment sinnvoller scheint. genau wegen der freiheit benutze ich ja c++ und mache einen großen bogen um java ,-)
-
nich schonwieder diese diskussion
Erstmal Vorweg: bis zur Entwicklung von Doom3 hat Jon Carmack nur C programmiert, und da der sourcecode von Doom3 nicht offen liegt, kann sich keiner von uns eine Meinung über seinen C++ stil bilden, um den es hier ja geht.
Eine Sprache ist mehr als nur eine ansammlung von Sprachmitteln, die man beliebig kombinieren kann. Hinter einer Sprache steckt eine Philosophie, ein Pardigma.
"ich benutz oo soweit, wie es mir in den kram paßt und der rest kann mir gepflegt gestohlen bleiben"
OO ist ein solches Pardigma, aber C++ bietet soviel mehr, dass man auch sogut wie jede andere Programmiertechnik benutzen oder zumindest nachstellen kann, und Deshalb ist C++ eine multiparadigm language. Klassen sind in C++ nicht mehr als eine weitere lösungsmöglichkeit für ein Designproblem, ein Werkzeug, mehr nicht.
Dh wer Krampfhaft versucht, in C++ reines OO zu betreiben hat eh die Sprache verfehlt,dazu ist C++ bei weitem nicht konsequent genug.
Dein kommentar über cout und printf lass ich mal aussen vor, jedem hier wird wohl klar sein, dass printf unglaublich fehleranfällig ist-im gegensatz zu cout.Der Unterschied zwischen C und C++ sind die Sprachmittel. zwar ist in C++ 99% von dem enthalten, was C bietet, aber die neuen Sprachmittel verändern den Stil ungemein. Dh man hat nicht nur von der Syntax der beiden sprachen große unterschiede, sondern auch in der Philosophie. C++ ist unglaublich komplex, deshalb ist es auch schwer diese Sprache wirklich zu lernen(und einen standardkonformen compiler dazu zu finden ;)). Die komplexität kommt von der Flut an neuen Designmöglichkeiten. Ich könnte auf die schnelle mal 5-6 möglichkeiten nennen, ein Objekt mit einem Anderen zu verknüpfen,und jede dieser möglichkeiten kann man irgendwo gebrauchen, weil es immer ein Designproblem gibt, welches genau das braucht.
Was ich mit "C+" bezeichne ist die verwendung der neuen Sprachmittel von C++ um die programmierweise von C zu unterstützen. C+ ist C mit Klassen,dh der versuch alten C Code in gruppen zusammenzufassen,im endeffekt also eine vergewaltigung beider sprachen. Und was ist nun so schlimm daran? Ein Beispiel: im Scherfgen Buch wird ein Texturmanager Programmiert. Kern des ganzen soll eine linked list sein-die er natürlich von Hand implementiert. An der Stelle hab ich mir gedacht "typischer fall von one-liner std::list<...>..."
im weiteren Codeverlauf kamen dazu noch typische C++ Sprachelemente, und am ende hatte man Code in dem sich C Schafe und C++ Kühe fröhlich auf der selben weide tummelten, will sagen: der Code war garnichts,er war nicht gut lesbar, da der Stil nicht konsistent war(wobei ich glaube, dass wenn er sich nicht mit dem interface von den texturen und ihre verwendung hätte rumplagen müssen, ein halbwegs lesbarer C code hätte rauskommen können). Die teile funktionierten zwar zusammen, aber lesar war was anderes :D.
-
otze schrieb:
aber C++ bietet soviel mehr, dass man auch sogut wie jede andere Programmiertechnik benutzen oder zumindest nachstellen kann, und Deshalb ist C++ eine multiparadigm language.
Um genau zu sein OOP und Prozedurale P...
-
Sgt. Nukem schrieb:
otze schrieb:
aber C++ bietet soviel mehr, dass man auch sogut wie jede andere Programmiertechnik benutzen oder zumindest nachstellen kann, und Deshalb ist C++ eine multiparadigm language.
Um genau zu sein OOP und Prozedurale P...
mehr-.-
-
Noch mal zur Trigonometrie, ihr benutzt vermutlich den Taschenrechner dafür, dort heißt arcsin und arcos meist sin^-1 und cos^-1
-
@WirrWar2850
Heyy da ist mir ja einer ziemlich ähnlich
hab auch mit 11 jahren angefangen zu proggen
progge auch fast vier jahre
bin auch in der 9.klasse (aber nicht durchgefallen)
bin bald 15
... und ein n00b was 3d proggr. angeht (nagut ich hab mit openGL schon ein paar sachen gerendert aber keine games etc)
Du hast nicht zufällig ICQ?
-
Ich hab ICQ
. Hier ist meine Nummer: 291-168-990
Kannst mir deine Nummer ja dann zuschicken...MfG WirrWar2850.
-
Haben sich ja zwei gefunden. Romantisch, ehrlich
-
Ahvolon[F-Bytes] schrieb:
Haben sich ja zwei gefunden. Romantisch, ehrlich
Nicht sentimental werden... :p
-
Ich finds auch lustig, man findet nicht oft Leute, die die gleiche Erfahrung haben wie man slebst, entweder sind sie um vieles besser oder schlechter... So wie hier gefällt mir das besser...
.
MfG WirrWar2850.
-
WirrWar2850 schrieb:
man findet nicht oft Leute, die die gleiche Erfahrung haben wie man slebst, entweder sind sie um vieles [...] schlechter...
Ja, so sieht es wohl aus. An der Spitze ist es einsam.
Bye, TGGC (Für echte Fans)