.[ ČeskéHry.cz ].
Je C++ zastarale oproti C#?
Jdi na stránku 1, 2  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
Pinsirus



Založen: 13. 01. 2016
Příspěvky: 37
Bydliště: Slovensko

PříspěvekZaslal: 13. leden 2016, 14:31:34    Předmět: Je C++ zastarale oproti C#? Odpovědět s citátem

Zdravim, mam zaujem začat sa učit C++ a to aj v oblasti vyvoja hier, mam skusenosti s Javou (ktoru som sa učil skrz toho aby som lepšie pochopil principy OOP) kde som nakodil aj svoju prvu jednoduchu hru ( za pomoci canvasov, Jswing a pod. - čiže žiadne zvuky, animacie..). Na internete je mnoho diskusii o tom, či je lepšie C++ alebo C#, mam toho už dost načitane(nejake tie plusy a minusy každeho z jazykov) avšak trapi ma otazka, je C++ oproti C# naozaj zastarale? Oplati sa ho učit v tomto odvetvi?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 535

PříspěvekZaslal: 13. leden 2016, 14:59:13    Předmět: Re: Je C++ zastarale oproti C#? Odpovědět s citátem

No, myslím že se nám z toho časem vyklube flamewar Smile

Pokud chceš psát opravdu hardcore věci, tak asi C++. Kromě těch jmenovaných jsou i jiné zajímavé jazyky, ale už dávno v tom nemám přehled.

V C# jsem viděl spoustu vynikajících věcí, že jsem docela koukal, nicméně osobně mám výhrady vůči jazykům, kde jsi omezen VM, ve kterém běží.

V C# neuděláš intrinsics a nenapíšeš si úplně low level věci. V C/C++ toto omezení nemáš, nicméně zase máš teoreticky větší zodpovědnost za to, co a jak píšeš.

Pro mě osobně není volbou žádný jazyk s GC. Používat garbage collector je jako žít na dluh, půjčovat si můžeš rychle, ale dřív nebo později to budeš muset vrátit Smile
A je jedno jak moc je ta GC implementace state of the art.
Navíc GC za tebe magicky nevyřeší všechny problémy se správou paměti; musíš nulovat reference (abys přerušil chain, který vede k některému rootu) nebo používát weak reference
(mimochodem je důvod, proč GC-based jazyky mají weak reference, i Lua je má, resp. myslím weak keys/values v tables)

Kdybych ale neměl jinou možnost a mohl bych si vybrat pouze mezi C# a Javou, vybral bych si C++ (jinak asi radší C# než Javu, ale v žádném z těchto dvou jazyků jsem nic většího nepsal)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1481
Bydliště: Telč

PříspěvekZaslal: 13. leden 2016, 15:08:06    Předmět: Odpovědět s citátem

C++ neni zastaralé, spíš naopak, pořád to frčí dopředu. Práce v oboru se dá najít s objema jazykama. Ale ujasni si, co bys dělal nejraději. Jestli Low-level výkoné věci a knihovny, nebo herní kód v menším studiu. V prvním případě je volba C++, v druhém C#. Ale je to zjednodušený pohled.

Teď co to obnáší: Naučit se C++ tak, aby to mělo smysl a bylo to výkonější než C# a vypadalo to dobře... to je spíš životní styl, než úkol na nějaký časový úsek. U Csharpu je to jinak. Tam je všechno daný a jasný. Nic se nedá pokazit, vše je bezpečný a hodný. Snad i styl psaní kódu je daný. A samozřejmě máš k dispozici hotový framework, kde je všehno. Vlastně to je (asi) podobný jako ve světě Javy.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 870

PříspěvekZaslal: 13. leden 2016, 20:17:41    Předmět: Odpovědět s citátem

C++ není zastralé. Cca. v roce 2011 chytilo nový dech (C++11) a od té doby je imho nejvíc se měnící a pokročilý jazyk (C++14, připravuje se C++17). Java šla do háje už dávno, C# se celkem drží.
V C# se píše rychleji a snáz, naopak v C++ máš vyšší výkon. Např. na matematiku je jednozačně C++.
Příklad z praxe: Teď jsem něco psal v C# a Math.Netu... běželo to asi minutu. Po přepsání do C++ s Eigenem to běží ani ne 5s. Nakonec mám v C# volání C++ Dll... takže i umět oboje se rozhodně využije a pak můžeš balancovat a používat co potřebuješ podle výkonu / rychlosti vývoje.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Dlaha



Založen: 30. 07. 2007
Příspěvky: 598
Bydliště: Olomouc

PříspěvekZaslal: 13. leden 2016, 22:13:12    Předmět: Odpovědět s citátem

Začínat v Javě nebo C# má podle mě jednu obrovskou nevýhodu. Nenaučíš se, nebo hodně těžce, jak správně zacházet s pamětí a jak po sobě uklízet. To je podle mě zásadní věc a už jsem viděl spoustu kódu v C#, které v tomhle hodně hřešily. To se mi vždycky posteskne, že se na školách teď vyučuje Java namísto Object Pascalu.

Nedá se říct, co je lepší a co horší. Osobně bych ale začal v něčem bez garbage collectoru.
_________________
Other Inside
Greenlitnuto!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
pcmaster



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

PříspěvekZaslal: 14. leden 2016, 10:39:26    Předmět: Odpovědět s citátem

Ako pise perry, C++11, C++14 a pripravovane C++17 su velmi moderne a pekne jazyky.

Odpoved je ale oboje - C++11 i C#.

"Cim viac jazykov ovladas, tym viackrat mozes dostat po hube Very Happy"
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Pinsirus



Založen: 13. 01. 2016
Příspěvky: 37
Bydliště: Slovensko

PříspěvekZaslal: 14. leden 2016, 10:57:44    Předmět: Odpovědět s citátem

Vdaka za vaše odpovede, popravde som sa bal, že kym by som sa naučil ako tak kodit v C++, vymenili by ho za modernejšie jazyky typu už spominany C#(mam v plane zbehnut najprv Mistrovstvi v C++ pre pochopenie jazyka ako tak a neskôr game tutorialy-takže je mi jasne že to nebude za mesiac). Avšak vaše prispevky ma upokojili Smile a po skuškovom sa na to s najväčšou pravdepodobnosťou vrhnem a uvidim. Predsa len pocit, mat všetko maximalne pod kontrolou je super ( aj ked za cenu väčšej obtiažnosti a migrenam? )
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
gindar



Založen: 05. 10. 2007
Příspěvky: 86

PříspěvekZaslal: 14. leden 2016, 13:42:39    Předmět: Odpovědět s citátem

Moje cesta byla JavaScript > Python > C > C++. A hodne to bolelo. Kdybych mohl vratit cas, tak zacnu s zakladem C a pak rychle k C++ a skriptovaci jazyk.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1481
Bydliště: Telč

PříspěvekZaslal: 14. leden 2016, 13:44:24    Předmět: Odpovědět s citátem

Cesta Pascal->C/C++ byla podle mě nejlepší. Ale dneska se pascal už bohužel moc nepoužívá. Každopádně to nebolelo.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Radis



Založen: 29. 03. 2014
Příspěvky: 225

PříspěvekZaslal: 14. leden 2016, 14:27:35    Předmět: Odpovědět s citátem

Umet C++ je vzdycky vyhoda, ale je potreba opravdu hlavne na performance-critical veci. Gameplay se da nad C++ game enginem skriptovat skoro v cemkoliv, vykon tady neni zase takovy problem a mnohem vic jde o efektivitu vyvoje, citelnost a udrzovatelnost kodu. Na indie scene (a mobilni AAA scene) v praxi mnohem vic vyuzijes C#.

Ja bych sel byt tebou nejdriv do C#, protoze na uplneho zacatecnika muze byt C++ trochu moc silna kava Smile

mar: kdyz uz jsi nakousnul ty intrinsics, mozna by te mohlo zajimat, ze Mono JIT umi emitovat SIMD instrukce uz asi 8 let a .NET JIT uz tak rok nebo dva.

]semo[ tys preskocil QBasic? Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1481
Bydliště: Telč

PříspěvekZaslal: 14. leden 2016, 14:47:26    Předmět: Odpovědět s citátem

Ano, přeskočil jsem QBasic a bohužel i assembler.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 535

PříspěvekZaslal: 14. leden 2016, 15:37:11    Předmět: Odpovědět s citátem

Radis napsal:
mar: kdyz uz jsi nakousnul ty intrinsics, mozna by te mohlo zajimat, ze Mono JIT umi emitovat SIMD instrukce uz asi 8 let a .NET JIT uz tak rok nebo dva.

A co třeba bit scan? Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Radis



Založen: 29. 03. 2014
Příspěvky: 225

PříspěvekZaslal: 14. leden 2016, 16:28:18    Předmět: Odpovědět s citátem

mar: Tak jasne, neumi to vsechno (zatim) Smile Ale proste psat celkem vykonny kod se v C# da pekne a JIT jde hodne dopredu. Navic C# ma veci jako unsafe a fixed, takze kdyz clovek chce, tak muze dost optimalizovat i rucne.

Proste ideal je umet oba jazyky a pouzivat je podle situace. A ne za kazdou cenu ten komplikovanejsi, ale vykonnejsi a bez GC.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 870

PříspěvekZaslal: 14. leden 2016, 17:53:24    Předmět: Odpovědět s citátem

Na C# se mi líbí reflexe... to je něco, co C++ neumí a umět nejspíš nikdy nebude, ale občas se hodí pokud něco např. potřebuju alokovat z "konfiguráku" a beru v potaz, že je to pomalé.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1481
Bydliště: Telč

PříspěvekZaslal: 14. leden 2016, 18:24:13    Předmět: Odpovědět s citátem

Reflexe může být, ale neni součástí jazyka. Viz Qt nebo Unreal.

Když už jsem to QTčko zmínil...možná by stálo za to, vyzkoušet pro první oťukání C++ právě QtCreator. Je to komplet vývojový prostředí i s frameworkem a při prvních krocích to člověku myslím trochu pomůže a ukáže alespoň nějaký styl.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
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 1, 2  Další
Strana 1 z 2

 
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