.[ ČeskéHry.cz ].
Z čeho se učit C/C++
Jdi na stránku Předchozí  1, 2, 3, 4  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 21. říjen 2009, 11:21:04    Předmět: Odpovědět s citátem

MD napsal:
A kdy sablony? a stl? A radeji zacit pracovat s char* nebo std::string? Nemyslim ted co je pohodlnejsi, ale co je pro vyuku vhodnejsi Wink

V knížce Rozumíme C++ se s tím rozhodnutím poprali dobře. Není to ani moc tlustá knížka, která by odrazovala už svým rozsahem. Doporučuji. Pro začátečníka k nezaplacení.
Jak jsem už psal, je lepší postupovat stylem dát si dva tři měsíce na čisté C++ (s touto knížkou se toho dá zvládnout dost) bez externích knihoven. Je to lepší, než si říct, že už zítra začnu programovat svou hru. Ano, možná akorát tak začneš, ale těžko ji dokončíš. Toto ukazuje praxe a je to tak minimálně v 90 % případů.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 21. říjen 2009, 12:40:04    Předmět: Odpovědět s citátem

Dnes podle mě není žádný problém v nedostupnosti C++ apod., přičemž v překladači C++ jde zkompilovat skoro každý program v C (případně s malými změnami). Mně se zdá, že OOP je na tvorbu her ideální (samostatné objekty v herním světě), čímž ale nepopírám, že ukazatele jsou také velmi VELMI důležité.
Eosie> Stačí někde prohodit číslo a hned zapisuješ kam nemáš... Když vidíš segmentation fault, tak je jasné, čím to je Very Happy
_________________
For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 21. říjen 2009, 16:04:13    Předmět: Odpovědět s citátem

Segfault je ještě hodně v pohodě, to se dá vychytat brzo. Memory leaky jsou taky v pohodě, ty se dají vychytat a opravit ještě rychleji a snadněji než segfault. Horší jsou chyby, které způsobí, že algoritmus není korektní. Na tohle už žádný jazyk nepomůže.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 21. říjen 2009, 20:14:52    Předmět: Odpovědět s citátem

Už umístění tohoto tématu mluví za vše Very Happy Nevím, proč by měla být Java kvůli garbage collectoru tak opěvovaná. Já tedy rozhodně radši jazyk, kde vím, že jsem chybu způsobil já špatným užíváním, než nevědět nic a bláhově se spoléhat na collector.
_________________
For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 21. říjen 2009, 20:40:50    Předmět: Odpovědět s citátem

if.then: pokud jde o umístění, tak souhlas. ještě chvíli a přesunu to aspoň z části do popelnice.

Pokud jde o Javu, tak tam (stejně jako v jiných jazycích) chybu způsobíš pouze špatným užíváním a pokud nějakou způsobíš, tak to zcela jistě poznáš.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 21. říjen 2009, 21:33:44    Předmět: Odpovědět s citátem

No ale kvůli jisté nedeterminističnosti tu chybu poznáš v té nejméně vhodné chvíli Smile
Jinak volbu GC vs. neGC, resp. managed vs. nativní kód, vidím v požadavcích na efektivitu a časovou náročnost programování. Pokud něco musí být efektivně nebo na to mám hafo času, tak využiji nativní kód.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 21. říjen 2009, 21:56:46    Předmět: Odpovědět s citátem

Augi: no ale jaké nedeterminističnosti? Memory leaky (které jdou udělat i s GC) poznáš po podobné době jako bez něj. Chyby spočívající v přístupu ke špatnému kusu paměti neexistují (až na NullPointerException, kterou poznáš okamžitě). A ostatní chyby se GC netýkají, takže se projeví asi tak stejně rychle jako bez něj.
Ale jinak souhlas s tím, že když něco programuju, tak chci se chci soustředit na řešený problém a ne hlídat paměť.
Jinak pokud jde o správu paměti, tak současné GC (přinejmenším ten v Javě) jsou hodně efektivní, včetně toho, že aktuální Java detekuje, jestli objekty může nechat na stacku, takže při rozumném stylu programování spousta dat přes GC vůbec neprojde).
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 21. říjen 2009, 22:25:49    Předmět: Odpovědět s citátem

PanVetvicka napsal:
Nechci být moc OT, ale budoucnost směřuje k jazykům typu JAVA/C#
Mimo jiné k vůli správě paměti....


Historie ukázala, že ve skutečnosti ani moc ne. Budoucnost je spíš částečně v objektově-funkcionálních jazycích se závislými typy a jazycích s implicitně paralelním kódem (jazyky na shadery jsou dobrej příklad). Aktuální jazyky jako C++ a Java selhávají na mnoha úrovních EDIT: a jsou mimojiné cache-unfriendly, což právě v souvislosti s paralelismem bude hrát velkou roli.

Správa paměti pomocí garbage collectoru je v některých případech spíš zbytečná nebo na obtíž, př.: numerické výpočty. Někdy se zase může dost hodit, ale jazyk by mi garbage collector neměl nutit všude.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 22. říjen 2009, 08:27:18    Předmět: Odpovědět s citátem

OndraSej napsal:
Augi: no ale jaké nedeterminističnosti? Memory leaky (které jdou udělat i s GC) poznáš po podobné době jako bez něj.
Jo, přesně na tohle jsme narážel. Hodně lidí si totiž myslí, že GC je všespásný a nemůže tam dojít k memory leakům. Ale když si tam udělají nějaké ošklivé cykly...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 22. říjen 2009, 09:24:25    Předmět: Odpovědět s citátem

Ani nemusíš mít ošklivé cykly, stačí, když ti někde zůstane pointer na celý strom obektů třeba z minulého levelu a je to v pytli Smile

Jinak Eo možná mluvil o této přednášce Tima Sweeneyho (architekt Unreal Engine), kde dependent typy prosazuje. Mimo jiné ale taky říká, že GC by mělo být i pro hry jedinou volbou. Můj názor je ten, že pokud nejste v sektoru AAA, nebo na nějaké pamětí omezené konzoli (to se týká tak 99% lidí tady Smile, tak s GC hru klidně uděláte, stejně jako ji zvládnete udělat bez GC.
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 22. říjen 2009, 09:30:55    Předmět: Odpovědět s citátem

Augi: pokud mluvime o GC a ne o pseudoGC (jako pocitani referenci), tak cykly nehraji roli. Hraje ji napriklad kolekce "neaktivnich" objektu, ktera je dostupne odnekud ze stacku a nikdo ji nevyprazdnuje.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 22. říjen 2009, 10:32:40    Předmět: Odpovědět s citátem

Jojo, to měl bejt jen takovej příklad. Chtěl jsem tím jen říct, že GC neřeší vše - pořád je třeba používat mozek...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 22. říjen 2009, 11:47:40    Předmět: Odpovědět s citátem

Slyšeli jste někdy o valgrindu? Wink
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 22. říjen 2009, 15:48:27    Předmět: Odpovědět s citátem

Myslíš ten debugovací software, co řeší všechny problémy s pamětí v C/C++ ve vlastním virtuálním stroji? Kdo by ho neznal. Wink
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1051

PříspěvekZaslal: 22. říjen 2009, 19:01:06    Předmět: Odpovědět s citátem

no myslim ze vvelmi vela ludi. kedze je linux only. len ma jednu pre mna neprijemnu vlastnost. vypisuje tony memory leakov z cudzich kniznic. neviete ako to odfiltrovat?
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4  Další
Strana 2 z 4

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna