Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 29. listopad 2007, 19:27:13 Předmět: |
|
|
frca napsal: |
rezna napsal: |
Ale v tom C neudela celou hru. Prevede tam jen casove opravdu narocne operace ktere to C zvladne rychleji. Ale 75% kodu napise v C# a usetri tim cas a nervy. |
Jenom pro zajímavost, která z her tady prezentovaných je takto udělaná?  |
Treba Krkal (jsem ale linej sve pokroky poradne publikovat). Je to mix C++ a C#, oba jazyky jsou super na urcite veci.
Napriklad komponenta Runtime - ta se stara o beh skriptovanych objektu, komunikaci, memory management,... je v C++ - musi bezet rychle a C++ se hodi, proroze muzu vyuzit pokrocilou praci s pointry a sablonami.
Naproti tomu treba kompilator je napsany v C# - velmi efektivni programovani, prehledne, malo nachylne na chyby. Vyuziva se objektove orientovany programovani, kolekce a generiky.
Pak kdyz clovek dela nejake editory ci IDE, tak je C# (ci jiny .NET jazyk) jasnou volbou. Graficky engine byl puvodne C++/DirectX, ale planujeme novou verzi a abychom to meli rychleji hotovy, tak zkusime C#/XNA.
Protoze nemam moc casu, tak volim radeji rychly a spolehlivy vyvoj (C#) nez C++ s "lepsi" portabilitou. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 29. listopad 2007, 20:42:48 Předmět: |
|
|
frca napsal: |
rezna napsal: |
Ale v tom C neudela celou hru. Prevede tam jen casove opravdu narocne operace ktere to C zvladne rychleji. Ale 75% kodu napise v C# a usetri tim cas a nervy. |
Jenom pro zajímavost, která z her tady prezentovaných je takto udělaná?  |
mnemonicuv Wintermute engine, Augi delal na hre ktera je bud cela v C# nebo napul C++/C#
z Ackovych her je takovych minimum, protoze stavi na starych frameworcich v C++, nicmene u tech se zase spousta kodu vyskytuje v Lua/Pythonu - vlastne cely system (design) hry - pouze samotny engine je C++
memovy/falcanovy publikovane hry jsou dnes uz snad ciste C# |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 29. listopad 2007, 21:18:55 Předmět: |
|
|
Dá se v tomto směru vyměnit C# za Javu? |
|
Návrat nahoru |
|
 |
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 29. listopad 2007, 21:29:54 Předmět: |
|
|
vicemene ano - java ma native-binding ktery dovoluje neco podobneho jako bud C++/CLI nebo propojeni C++/C# projektu
co se tyce potom samotneho prechodu C#/Java je to vlastne jedno v cem pises. |
|
Návrat nahoru |
|
 |
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 29. listopad 2007, 21:38:08 Předmět: |
|
|
jeste doplneni - pokud chces Javu protoze ta bezi i na linuxu tak vez ze pro C# je tam projekt Mono |
|
Návrat nahoru |
|
 |
Augi

Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 29. listopad 2007, 22:54:17 Předmět: |
|
|
rezna napsal: |
frca napsal: |
Jenom pro zajímavost, která z her tady prezentovaných je takto udělaná?  |
mnemonicuv Wintermute engine, Augi delal na hre ktera je bud cela v C# nebo napul C++/C# |
Jj, byla to závodní hra - v C++ byla fyzika, zbytek v C#. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. listopad 2007, 23:57:29 Předmět: |
|
|
frca napsal: |
Jenom pro zajímavost, která z her tady prezentovaných je takto udělaná?  |
Pokud děláš hru, čas od času potřebuješ narychlo zbastlit nějakej editor. Pak C#/Java je k nezaplacení.  _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Tomas_Dejmek
Založen: 28. 07. 2007 Příspěvky: 7 Bydliště: Visual studio
|
Zaslal: 19. leden 2008, 21:14:53 Předmět: |
|
|
Nečetl jsem teda celý thread, ale chtěl bych také trochu ždůranit to, že C++ je stlále vyvíjeno, vytváří se nový standard ISO/ANSI již asi od roku 2004 a jeho vydání se plánu kolem roku 2009, jde o projekt s pracovním názvem C++0X o kterém tady sice něco zaznělo, ale ten thread mi přišel trochu divný.
Pak bych ještě vyjádřil názor, myslím, že to jaký používá člověk jazyk jestli C++, C#, Javu... je celkem jedno, jde oto jak ten jazyk ovládá. Důležité u programátora je umět programovat, myslet jako programátor, pak už co to je za jazyk nehraje tak velikou roly. Samozřejně že teba assembler už neni top a nikdo ho nedoporučí, ale jestli použiju C# nebo Javu... Výhoda je když znáte více jazyků. |
|
Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 19. leden 2008, 21:32:47 Předmět: |
|
|
OT: roly Chudák růže... _________________ Mám strach |
|
Návrat nahoru |
|
 |
Tomas_Dejmek
Založen: 28. 07. 2007 Příspěvky: 7 Bydliště: Visual studio
|
Zaslal: 19. leden 2008, 22:39:11 Předmět: |
|
|
růže už neletěj. No tak jsem se uklap no. Včera jsem moc nespal.. Sice nevim jak to je možní (y je daleko od i). |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 20. leden 2008, 00:03:09 Předmět: |
|
|
Znovu-rozjíždět starý thread je vrcholem nevychovanosti. O C++0x se už ví asi tak 2 roky, takže s tím díru do světa neuděláš. No a jinak - za poslední rok se hodně událo, teď to vypadá, že si to bere nějaké prvky z Javy a C# a přidává jenom nějaké maličkosti navíc, lambda kalkul taky. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 22. leden 2008, 21:34:34 Předmět: |
|
|
neprocital jsem cely thread ale neda mi to napsat par vet.
c++ rad mam a momentalne zabira drtivou vetsinu meho programatorskeho casu. Presto chci napsat neduhy a obskurnosti ktere na nem nemam rad (spousta z nich jsou jen muj osobni nazor):
- pretizeni operace/operatoru ++x slouzi zapis operator++(X&), ale k pretizeni x++ deklarace operator++(X&, int).
- string x("test") vytvari instanci string x, ale string x(); je deklaraci lokalni funkce ktera vraci string. snizuje to citelnost..
- z ctor/dtor nelze volat virtualni funkce (vtable lifetime)
- STL iteratory jsou jen hromada pointeru a "nic" nevi o kontejneru (instanci kterou iteruji) - nasleduji mozne efekty jako interator nad destruovanym prvkem (expirace iteratoru) ci celym destruovanym kontejnerem, reseni chyb z pohledu iteratoru atd..
- nedoresene vyjimky.. vyhozeni spec. vyjimky v "locknute" zone (mezi mutex_lock/unlock) vznika deadlock + mozny leak.
- smart-pointers - u velkeho projektu jsou spis na obtiz nez k uzitku.
atd..atd.. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 10. únor 2008, 02:06:36 Předmět: |
|
|
quas4 napsal: |
- nedoresene vyjimky.. vyhozeni spec. vyjimky v "locknute" zone (mezi mutex_lock/unlock) vznika deadlock + mozny leak. |
Obal mutex do objektu, v konstruktoru zamkni, v destruktoru odemkni. Mutex deklaruj lokálně v bloku. Po vyhození vyjímky z uzamčené části se ti to automaticky odemkne tím, že se zavolá destruktor toho objektu --> žádnej deadlock.
Nezmínils největší problém C++, kterej mě nějakou dobu docela sere - #include. Ve větším projektu je docela peklo zařídit správné pořadí includů a hrozně to protahuje kompilaci, přitom je to úplně zbytečná a zastaralá věc ze 70. let. Viz jak to řeší Java, C#, ... _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Tringi

Založen: 28. 07. 2007 Příspěvky: 290
|
Zaslal: 10. únor 2008, 02:23:41 Předmět: |
|
|
Eosie napsal: |
quas4 napsal: |
- nedoresene vyjimky.. vyhozeni spec. vyjimky v "locknute" zone (mezi mutex_lock/unlock) vznika deadlock + mozny leak. |
Obal mutex do objektu, v konstruktoru zamkni, v destruktoru odemkni. Mutex deklaruj lokálně v bloku. Po vyhození vyjímky z uzamčené části se ti to automaticky odemkne tím, že se zavolá destruktor toho objektu --> žádnej deadlock.
Nezmínils největší problém C++, kterej mě nějakou dobu docela sere - #include. Ve větším projektu je docela peklo zařídit správné pořadí includů a hrozně to protahuje kompilaci, přitom je to úplně zbytečná a zastaralá věc ze 70. let. Viz jak to řeší Java, C#, ... |
Pokud vím proposalů je několik, do C++0x se to nestihne, ale něco je opatrně slíbeno do TR2. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 10. únor 2008, 03:16:35 Předmět: |
|
|
Tringi> Tak to doufám, že pohnou zadkem.
quas4 napsal: |
smart-pointers - u velkeho projektu jsou spis na obtiz nez k uzitku. |
Myslíš kvůli cyklickým referencím? Ty jsem konečně vyřešil (před pár dny), u sebe umím najít libovolnou množinu objektů, mezi kterými se cyklí smart-pointery, popsat ji grafem a uvolnit ji. Sice to řešení není úplně zadarmo (musí se u objektů udělat jednoduchá reflexe), ale dá se to celkem pohodově používat. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
|