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
|
Zaslal: 13. leden 2016, 14:31:34 Předmět: Je C++ zastarale oproti C#? |
|
|
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 |
|
 |
mar
Založen: 16. 06. 2012 Příspěvky: 610
|
Zaslal: 13. leden 2016, 14:59:13 Předmět: Re: Je C++ zastarale oproti C#? |
|
|
No, myslím že se nám z toho časem vyklube flamewar
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
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 |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 13. leden 2016, 15:08:06 Předmět: |
|
|
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 |
|
 |
perry

Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 13. leden 2016, 20:17:41 Předmět: |
|
|
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 |
|
 |
Dlaha

Založen: 30. 07. 2007 Příspěvky: 598 Bydliště: Olomouc
|
Zaslal: 13. leden 2016, 22:13:12 Předmět: |
|
|
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 |
|
 |
pcmaster

Založen: 28. 07. 2007 Příspěvky: 1827
|
Zaslal: 14. leden 2016, 10:39:26 Předmět: |
|
|
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 " _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
 |
Pinsirus

Založen: 13. 01. 2016 Příspěvky: 37 Bydliště: Slovensko
|
Zaslal: 14. leden 2016, 10:57:44 Předmět: |
|
|
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 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 |
|
 |
gindar

Založen: 05. 10. 2007 Příspěvky: 86
|
Zaslal: 14. leden 2016, 13:42:39 Předmět: |
|
|
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 |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 14. leden 2016, 13:44:24 Předmět: |
|
|
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 |
|
 |
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 14. leden 2016, 14:27:35 Předmět: |
|
|
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
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?  |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 14. leden 2016, 14:47:26 Předmět: |
|
|
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 |
|
 |
mar
Založen: 16. 06. 2012 Příspěvky: 610
|
Zaslal: 14. leden 2016, 15:37:11 Předmět: |
|
|
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?  |
|
Návrat nahoru |
|
 |
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 14. leden 2016, 16:28:18 Předmět: |
|
|
mar: Tak jasne, neumi to vsechno (zatim) 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 |
|
 |
perry

Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 14. leden 2016, 17:53:24 Předmět: |
|
|
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 |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 14. leden 2016, 18:24:13 Předmět: |
|
|
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 |
|
 |
|