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

carli

unregistriert

1

12.11.2009, 21:41

Naja, Delphi.... wir schreiben in Freepascal, das hat den Vorteil, dass man den Compiler bloß auf ner anderen Plattform anschmeißen muss und schon erzeugt man ohne Codeänderung ein plattformunabhängiges Programm (trifft sich gut - ich bin Linuxer und die Nutzer haben Windows)

2

12.11.2009, 22:09

Ist in C++ auch möglich ;)

carli

unregistriert

3

13.11.2009, 07:51

Zitat von »"Deppomat"«

Ist in C++ auch möglich ;)

muuuuhaha
hast du schonmal einen Datei-Existenz-Check in C++ plattformunabhängig gemacht, ohne pro unterstütztem Betriebssystem weitere 3 Zeilen zu lassen?

Hast du schonmal eine GUI gebaut, ohne 2 Versionen des Codes zu schreiben oder massig DLLs mitzuliefern?

hast du schonmal ein build-Script gesehen, das auf allen Plattformen funktioniert und nur aus einer Zeile besteht?

Quellcode

1
lazbuild src/gwx.lpi

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

13.11.2009, 12:32

OT:

Zitat von »"carli"«

Zitat von »"Deppomat"«

Ist in C++ auch möglich ;)

muuuuhaha
hast du schonmal einen Datei-Existenz-Check in C++ plattformunabhängig gemacht, ohne pro unterstütztem Betriebssystem weitere 3 Zeilen zu lassen?

Hast du schonmal eine GUI gebaut, ohne 2 Versionen des Codes zu schreiben oder massig DLLs mitzuliefern?

hast du schonmal ein build-Script gesehen, das auf allen Plattformen funktioniert und nur aus einer Zeile besteht?

Quellcode

1
lazbuild src/gwx.lpi

zu 1: boost::filesystem::exists (boost ist schon fast c++ standard ;) ) oder ohne boost _stat (teil der c lib).

zu 2: das ist ein wenig "Äpfel mit Birnen", weil ihr müsste ja auch was mitliefern. Eine sehr schöne und noch schlanke Variante für c++ ist CEGUI.

zu 3: wieder so ein Vergleich. Man nehme cmake und hat da auch nur eine cmake file. Gut die ist intern natürlich ein wenig komplexer, aber das aufrufen sieht ähnlich aus.

Zum Thema:
Sehe ich das richtig, dass ihr die Skriptsprache selbst entwickelt habt? Wenn ja wieso habt ihr euch gegen gängige Varianten entschieden? (Reine Neugier)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

carli

unregistriert

5

13.11.2009, 13:42

@C++:
nein. Bloß weil ihr keine andere Sprache kennt (ich kenne C++ und weiß, auf was ich mich sonst einlassen würde :o Buildsystem - Headers - Das Grauen in Person), müssen wir die noch lange nicht nehmen.
Es gibt viele Sachen, die haben sich einfach aus driftigen Gründen durchgesetzt (Windows, C, Ottomotor, Mehrwertsteuer), obwohl es bessere Alternativen gibt - aber nur wenige Leute, die bereit sind, umzudenken.
C++ ist in den 70er Jahren entstanden, wurde allein für Unix entwickelt. Problem: Unix kennt keine DLLs, also braucht man wieder einen riesen-Workaround.... es geht alles. Die Frage ist nur: mit welchem Aufwand?
Wenn du bereit bist, mehrere hundert Arbeitsstunden damit zu verbringen, 2 Buildsysteme zu bauen und das Programm nach C++ zu übersetzen? gerne. (wobei ich C++ nur nutze, wenn ich dazu gezwungen werde.)

Edit: ich hab mal ein C++-Projekt angefangen (mitarbeiten ist sowieso kein Problem), es scheiterte daran, dass wir für jede Plattform einen Entwickler brauchten, der das entsprechende Buildsystem gepflegt hat. Wir waren nur noch damit beschäftigt, uns mitzuteilen, welche Sources neu hinzugekommen sind und welche Libs dazugelinkt werden - das ist einfach verschwendete Zeit gewesen, in der man schon zig andere Sachen programmiert bekommen hätte.

Fazit: es geht alles, die Frage ist nur: Wie unsauber und mit welchem zusätzlichen Zeitaufwand..... (denk mal drüber nach)


@Scriptsprache:
Ja, die haben wir selber entwickelt - einfach, weil wir eine konkrete Vorstellung davon hatten, wie die Scripts aussehen sollten, was sie können sollen.

Finde mir mal eine Scriptsprache, die Klammern {} verwendet, objektorientiert ist, Integers, Floats und Strings beherrscht, Operatorüberladungen und außerdem sich noch eventuell in JIT-Code übersetzen lässt. -->selbst Java würde da rausfliegen, weil Java keine Operatorüberladungen kennt.

dv

Frischling

Beiträge: 30

Wohnort: Südamerikanischer Dschungel

  • Private Nachricht senden

6

13.11.2009, 22:27

Zitat von »"carli"«

@C++:
nein. Bloß weil ihr keine andere Sprache kennt (ich kenne C++ und weiß, auf was ich mich sonst einlassen würde :o Buildsystem - Headers - Das Grauen in Person), müssen wir die noch lange nicht nehmen.
Es gibt viele Sachen, die haben sich einfach aus driftigen Gründen durchgesetzt (Windows, C, Ottomotor, Mehrwertsteuer), obwohl es bessere Alternativen gibt - aber nur wenige Leute, die bereit sind, umzudenken.
C++ ist in den 70er Jahren entstanden, wurde allein für Unix entwickelt. Problem: Unix kennt keine DLLs, also braucht man wieder einen riesen-Workaround.... es geht alles. Die Frage ist nur: mit welchem Aufwand?
Wenn du bereit bist, mehrere hundert Arbeitsstunden damit zu verbringen, 2 Buildsysteme zu bauen und das Programm nach C++ zu übersetzen? gerne. (wobei ich C++ nur nutze, wenn ich dazu gezwungen werde.)

Edit: ich hab mal ein C++-Projekt angefangen (mitarbeiten ist sowieso kein Problem), es scheiterte daran, dass wir für jede Plattform einen Entwickler brauchten, der das entsprechende Buildsystem gepflegt hat. Wir waren nur noch damit beschäftigt, uns mitzuteilen, welche Sources neu hinzugekommen sind und welche Libs dazugelinkt werden - das ist einfach verschwendete Zeit gewesen, in der man schon zig andere Sachen programmiert bekommen hätte.

Fazit: es geht alles, die Frage ist nur: Wie unsauber und mit welchem zusätzlichen Zeitaufwand..... (denk mal drüber nach)


Ohne jetzt auf diese .. ahem .. Aussagen zu C++ selbst einzugehen, sollte euch klar sein, dass solche Probleme trivial sind, verglichen mit dem Rest. Aber das werdet ihr hier wohl eh von selber lernen.
~dv();

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

7

13.11.2009, 22:50

"Finde eine Skriptsprache..." das ist einfach: Squirrel! Klein, leicht, lustig. Oder etwas stabiler, weit verbreite, mit einem echt topp Syntax, mit boost.python wohl auch recht einfach einzubinden, aber ohne {} (was nicht wirklich ein Verlust ist, siehe dazu entsprechende python einführungen): Python!
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

carli

unregistriert

8

14.11.2009, 09:26

Die Frage ist nicht, welchen Aufwand man von Anfang an hätte (jaja, es wären nur weitere 12 Stunden Arbeit), sondern wieviel Mehraufwand es bereiten würde, alles neu zu schreiben, wenn es sowieso doch funktioniert.

Ich will jetzt keinen Flamewar anfangen Freepascal vs C++ oder ToastScript vs Phyton (Phyton ist lahm und zu unsicher - da kann man sogar auf Dateien direkt zugreifen --- einfach nur weird), da gibts genug Flamewars, einfach mal googeln, da könnt ihr die Pro- und Kontra-Argumente sehen.
Das Problem beim C++-Nutzen wäre, dass wir keine Windoof-Entwickler haben und somit niemand, der Lust hätte, einen Windoof-Port zu erstellen. (was natürlich den Fans, alles Windowser, nicht zugute kommen wird - die Fans können sich die Engine selber kompilieren. Undzwar ohne einen einzigen Linker Error - ich seh doch, wie verarmt die Sprache C++ ist, weil die meisten Foreneinträge nur Linker Errors sind.)

Wir haben es so festgelegt, wir haben Gründe dafür. Wenn sich natürlich jemand die Mühe macht, das umzuschreiben: Gerne, wir sind GPL und es kann jeder das Projekt portieren und selbst weiterentwickeln.

@Flonk: Ja, aber es fließt noch nicht (das Wasser ist im alten Projekt gwX, in der ToastEngine sind wir noch nicht so weit)

goldfisch007

Alter Hase

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

9

14.11.2009, 12:51

hmm python flamewar....

ach egal kenn mich eh nich so aus, auch wenn ich der aussage "python sei langsam" erstmal wiedersprechen würde. ich kenn da nen par ordentliche programme die zu 90% in python geschrieben wurden....

aba das sieht alles schick aus
und jedem das eine ;)
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

10

14.11.2009, 13:54

Python ist langsam?? Das es langsamer als C++ ist, wäre mir logisch, aber langsam ist es bestimmt nicht, sonst würde es nicht in der Battlefield-Reihe genutzt werden ;D. Und ich glaube vor allem für Hobby Projekte sollte man sich nicht zu C++ zwingen, nur weils schneller ist, die meisten PC´s sind heute schnell genug auch ein Python Programm gut laufen zu lassen!
Neben bei ist die Entwicklungsgeschw. deutlich höher als in C++ !
Errare est humanum. -Windows ist menschlich ;-)

Werbeanzeige