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

51

29.05.2011, 00:06

Ja, das Problem an D ist, dass es weniger Libs gibt. Die Bibliotheken einer Sprache sind ganz entscheidend.
Ich meine, Java hat zum Beispiel eine echt dicke Bibliothek. Du lädst Eclipse runter und kannst direkt auf wer weiß was zugreifen. In C++ hast du die Wahl, die Standardbibliothek unterstützt nur relativ abstrakte Dinge, willst du z.B. eine GUI machen, geht der Spaß los, dir aussuchen zu müssen, welches Toolkit du haben willst. Ich glaube das ist auch ein Stück weit die Philosophie hinter C++, dass es theoretisch für alles die perfekte Lösung gibt. Gefällt einem die eingebaute String Klasse nicht, nimmt man eine andere oder schreibt selbst eine, die genau deine Bedürfnisse erfüllt. Das Problem daran ist, du musst für quasi alles eine Wahl treffen, und die Bibliothek erstmal installieren, während in Java alles fertig und da ist - natürlich viel weniger flexibel aber halt direkt da.
Bei sowas wie D wird man vermutlich das Problem haben, dass es für viele Dinge keine Bibliotheken in D gibt - und nur für manche D Bindings die dann potentiell noch schlechter gepflegt werden. Und naja, C++ und Java kennt jeder, man hat eine größere Community und mehr Leute, die deine Fragen beantworten können.
Lieber dumm fragen, als dumm bleiben!

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

52

29.05.2011, 01:09

Ich denke mal, das Problem wird sich mit der finalen Version von D 2 legen. Dort ist es dann einem selbst überlassen, welche Standard Bibliothek man wählt und für Tango existieren eigentlich schon einige Libs. Und evtl. lassen sich dann mit der finalen auch mehr User begeistern. D hat schon sehr tolle Features.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

53

29.05.2011, 02:35

Nur nochmal bezüglich Java, PHP und Co. in der Spieleentwicklung:
J2EE wird zum Beispiel für das Matchmaking (was den skalierbaren Teil der Anwendung ausmacht) bei "League of Legends" verwendet, siehe auch http://www.infoq.com/presentations/League-of-Legends
Wie schon von Môr angesprochen laufen FarmVille und ähnliche Systeme oft mit PHP + Memcached + SQL, siehe auch http://www.rightscale.com/info_center/wh…d-technical.php (anmeldung erforderlich)
Einer der populärsten Server für MMO Spiele basiert auf Java http://www.smartfoxserver.com/ siehe http://www.smartfoxserver.com/showcase/
Die Eve Online Server laufen mit einer Python Version (http://www.stackless.com/) siehe http://www.gdcvault.com/play/109/The-Ser…chnology-of-EVE

Wenn es um wartbare, sichere, schnell zu entwickelnde, robuste, agile, skalierbare Anwendungen geht, ist C++ selten die erste Wahl.

Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von »Chromanoid« (29.05.2011, 03:18)


Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

54

29.05.2011, 09:45

Kenn ihr den gute Bücher zu C# bzw. Xna ?

Mfg
Joxa211

ich hab mir vor einiger zeit diese 2 bücher gekauft und komm damit eig. gut und schnell voran:

für C# und das .Net framework (sehr umfangreich aber dafür äußerst genau):
[amazon]3836215527[/amazon]

und für XNA 4.0 dieses hier (is zwar englisch aber dafür echt gut. man schreibt während des buches 3 spiele (so n puzzle-spiel, nen klassischen weltraumshooter und n jump-and run. 3D wird angeschnitten, für eigene 2D spiele ist ansich alles drin :) ) :
[amazon]1849690669[/amazon]

BLU3 L30PARD

Treue Seele

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

55

29.05.2011, 11:07

D hat übrigens eine sehr gepflegt unterstützung für Gtk+.
Das Binding nennt sich GtkD und damit kann man alles machen, was man
auch mit Gtk+ machen kann (Glade files laden, etc.).
Und ich meine, ob er jetzt mit C++ und SFML anfängt oder mit D und Dgame ,
das macht jetzt auch nicht den Unterschied. Im Allgemeinen
ist D so ziemlich das selbe wie C++, nur gibt's einen Garbage Collector,
was für Anfänger Optimal ist, und die Standard Bibliothek Phobos bietet
auch viele Dinge, die C++'s std auch hat.
Allerdings ist es vielleicht wirklich besser, wenn er mit C# und XNA anfängt...
Später kann er sich ja immernoch D ansehen...

//Edit: In der SFML Community hat sich auch einiges getan.
Es gibt schon seit einiger Zeit ein neues Binding für Python,
welches SFML2 wrappt. Hier die Github-Seite.
Bei interesse kann ich ein fertiges build paket hochladen,
weil ihr sonst zuerst SFML2 erstellen müsst...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BLU3 L30PARD« (29.05.2011, 11:26)


56

29.05.2011, 18:33

Ich habe - wie Jonathan_Klein - auch mit C++ Spielereien angefangen und das hat auch bei mir geklappt. Und nun bin ich froh, dass ich eine der (wenn nicht die [bitte kein Flamewar hier, ist ein anderes Thema ;)]) mächtigsten Sprachen zur Verfügung steht.
Gruß

BLU3 L30PARD

Treue Seele

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

57

30.05.2011, 14:33

Nur weil D noch nicht so verbreitet ist, wie C++, muss das nicht heißen, dass D
nicht genauso mächtig ist. D kompiliert in Maschinencode und könnte auch
für Hardwareprogrammierung eingesetzt werden. Außerdem ist die Perfomance
vergleichbar, wenn nicht sogar dieselbe. Vorteile sind aber wie schon erwähnt
der Garbage Collector (Keine Verwaltung des Arbeitsspeichers) und es gibt
keine Header- und Sourcedateien, sondern wie in Python Module (1 Datei).
Es lohnt sich auf jeden Fall, mal einen Blick auf D zu werfen (das gilt für alle hier :D)
(Auch das war nur ein Hinweis und keine patzige Antwort ;))

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

58

30.05.2011, 14:56

Nur weil D noch nicht so verbreitet ist, wie C++, muss das nicht heißen, dass D nicht genauso mächtig ist.

Ich denke nicht dass sich an der Verbreitung groß was ändern wird. D ist nett aber das wars auch schon wieder. Es bietet keinen substanziellen Vorteil gegenüber C++ und C++ ist etabliert, die Leute können C++, die Codebase ist gewaltig, in den Compilern steckt das Know-How von Jahrzehnten, die Community bzw. generell die Menge an Informationen zu C++ ist riesig, ... Garbage Collection ist sinnvoll wenns auf möglichst schnelle und einfache Entwicklung ankommt. Dies trifft auf die Einsatzgebiete von C++ oder D nicht wirklich zu. In Garbage Collection seh ich eigentlich nur einen Nachteil denn damit funktioniert RAII nichtmehr und das halte ich für ein sehr essentielles Feature.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (30.05.2011, 15:05)


BLU3 L30PARD

Treue Seele

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

59

30.05.2011, 15:08

Der Garbage Collector lässt sich bei Bedarf in D deaktivieren ;)
Im Grunde wäre der Umstieg von C++ auf D einer mit sehr geringem aufwand.
Das einzige Problem, dass ich noch in D sehe, ist die geringe fülle an Libs
und der zu kleinen Community. Aber das wird sich mit der Zeit ändern,
schließlich existiert D noch nicht so lange ;)

Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

60

30.05.2011, 17:11

Ich kann mich ja nur immer wieder für funktionale Sprachen aussprechen. Die Denkweise ist eine andere, aus meiner Sicht ist das Programmieren selber auch wesentlich effektiver. Mittlerweile gibt es hochperformante Compiler, die locker mit gängigen C/C++-Compilern mithalten können. Der Einstieg mag für einen "imperativen" Programmierer eventuell nicht leicht sein, aber wenn man von Anfang an diese funktionale Denkweise kennenlernt stellt sich das meiner Meinung nach viel weniger schwierig an.

Sprachen wie Haskell sind zwar vergleichsweise klein, allerdings wächst Haskell stetig und das seit 15 Jahren. Im Gegensatz zu anderen "neueren" Programmiersprachen hat Haskell seinen Kern nie verloren, beinahe jede wichtige Lib ist mittlerweile in Haskell verfügbar und es gibt unzählige Packages/Libs( einfach mal im Hackage gucken ). Es existieren wunderbare OpenGL Bindings, unter anderem auch meine( Ich baue aktuell neue OpenGL Bindings für Haskell für die Versionen 2.1, 3.3, 4.1 und ES. Außerdem noch GLUT.

+1 Haskell

Werbeanzeige