Do nového roku jako lepší programátoři? Znovu otevíráme večerní školu programování. Nette framework, návrhové vzory, testování nebo vůbec poprvé kurzy ASP.NET dostupné odkudkoli v republice.

Diskuze: c++ vs c#

C++ C a C++ c++ vs c#

Avatar
kulacik
Člen
Avatar
kulacik:

Ahoj,jednou chci programovat hry,nebo být v nějaké velké společnosti a podílet se na vývoji nějakého velkého programu.Něco pro banky třeba,nebo nějaké velké systémy co myslíte může na to stačit c# nebo spíš radši c++ i když bych do práce nastoupil třeba až za 10 let.

Hry-myslím tím hry typu WoW,Diablo,Call of duty...
Jde mi i o to jestli bude c++ hodně žádanej.Třeba by mohl být za několik c# i lepší a výkonější než teď.

 
Odpovědět 17.2.2015 19:06
Avatar
Kafac
Člen
Avatar
Odpovídá na kulacik
Kafac:

Měl jsem podobný "problém",chtěl jsem programovat hry jako WoW nebo vyvíjet operační systém Windows.V c# se prý dá vytvořit stejná hra jako WoW,jen bude asi méně výkonější (myslím si, nejsem v tom úplný machr).Ale pro takové systémy nebo hry si myslím že c++.

Já zůstal u c# :).

Nahoru Odpovědět  +3 17.2.2015 19:09
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na kulacik
David Novák:

začni v C ;)
nauč se postupy, praktiky a přemýšlet programátorsky.. udělej konzolovou hru.

pak můžeš přejít na C++ nebo C#.. je to vcelku jedno a ani jednou volbou nic nepokazíš..

ovšem jelikož MS nedávno otevřel kód C#, perspektiva toho jazyka (a celé .NET platformy) se dost zlepšila.. navíc je to přívětivější jazyk neč C++ (to je "moloch" :D ), ale v zásadě je to jedno.. jakmile budeš umět programovat, není problém se za pár týdnů přeorientovat na jiný jazyk..

jo a co bude za 10 let ti nikdo říct nemůže.. ;)

Nahoru Odpovědět  +4 17.2.2015 19:16
Chyba je mezi klávesnicí a židlí.
Avatar
tomasmanhal
Člen
Avatar
Odpovídá na kulacik
tomasmanhal:

Pro napsání hry není mezi C++ a C# prakticky rozdíl. C++ vzniklo jako čistá objektově orientovaná nadstavba na Céčku. C# je zase vytvořený z mixu Javy a C++ čistě pro potřeby .NET frameworku. Pokud chceš dělat fakt velký hry, nebo jiný projekty, tak je to fakt jedno. Ale obecně si myslím, že C++ je rozšířenější a žádanější vzhledem k tomu, že je i starší.

Nahoru Odpovědět  ±0 17.2.2015 19:19
Kdyby nám dodali k životu zdrojový kód, vše by bylo jednodušší...
Avatar
tomasmanhal
Člen
Avatar
Odpovídá na David Novák
tomasmanhal:

Začít procedurálním jazykem je obrovskej krok dozadu, bude mít pak problém přepnout myšlení na objekty po přechodu na plusko.

Nahoru Odpovědět  +2 17.2.2015 19:20
Kdyby nám dodali k životu zdrojový kód, vše by bylo jednodušší...
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na tomasmanhal
Filip Šohajek:

Programátor, který nemá procedurální základy by se neměl nazývat programátorem. On se procedurální přístup často prezentuje jako něco, co když někdo použije, tak by jsme ho měli uvěznit a nechat ho tam, dokud nezačne používat objekty. Dá se to přirovnat k pískovišti a bábovičkám. Pokud chceš začít hned s bábovičkama, nebudeš moct, protože neznáš písek. Ale když začneš poznávat písek, tak poté můžeš používat bábovičky, a tím uspořádávat písek do celků. Zní to šíleně ale je to tak :D

 
Nahoru Odpovědět  +3 17.2.2015 19:26
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na tomasmanhal
David Novák:

Proč myslíš? Já teda takové problémy neměl.. ;)

Důvod proč začínat C je ten, že je to jednoduchý jazyk bez komplikací.. C++ a C# jsou velmi rozsáhlé s tisíci funkcemi.. a od začátku tvořit objektově? to ho jen zmate a "semele"..

prvně by měl chápat co je to algoritmus, jak ho tvořit a jak ho pak předat počítači.. objektový přístup je až "vyšší liga" a bez základů nic neuděláš.. i v C++ nebo C# bys stejně ze začátku dlouho programoval procedurálně..

Nahoru Odpovědět  +1 17.2.2015 19:29
Chyba je mezi klávesnicí a židlí.
Avatar
tomasmanhal
Člen
Avatar
Odpovídá na Filip Šohajek
tomasmanhal:

Znát klasické Céčko z tebe lepšího programátora v C++ neudělá ;-) Přestože příklad s pískovištěm zní logicky, praxe je úplně jiná. A to taková, že když přijdeš do zaměstnání, tak neřešíš klasické C, protože jádro a ovladače pro systém, kterej máš vytvořit už někdo připravil a ty už pak stavíš na vyšší úrovni ;-) Velká spousta lidí měla, má a bude mít problém s přechodem z procedurálního programování na objekty. Tak to zkrátka je a bude. Gratuluji šťastlivcům, kteří v pohodě zvládli přechod z C na C++, protože to opravdu není sranda a pokud plánuje, že za 10 let bude dělat velké hry nebo aplikace, tak ať rovnou začne objektově, protože pokud začne klasickým C, tak ztratí další roky při přechodu na objekty, které jsou prostě v dnešní době žádanější.

Nahoru Odpovědět 17.2.2015 19:32
Kdyby nám dodali k životu zdrojový kód, vše by bylo jednodušší...
Avatar
Kafac
Člen
Avatar
Kafac:

Já bych mu doporučil klidně začít s c#.Já osobně začal se c# asi první 4 měsíce,jsem se snažil pohcopit logiku,dělal jsem si různé kalkulačky s různýma operacema a teď to chápu dobře a OOP už taky umím.Ale zrovna WoW je myslím v c++ a většina takových podobných her je taky v c++,takže možná bych doporučil c++,ale třeba Hearthstone je v c# a nění to špatná hra ;).

Nahoru Odpovědět 17.2.2015 19:36
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Luboš Běhounek (Satik):

V C++ a C# se dají udělat srovnatelné hry, jen by to v C# běželo nejspíš o pár desítek procent pomaleji a zabíralo o pár procent paměti víc, ale vývoj by trval třeba i poloviční dobu, protože vývoj jde v C# mnohem rychleji.

C++ se ve hrách používá hlavně ze setrvačnosti.

Nahoru Odpovědět  +2 17.2.2015 19:46
:)
Avatar
Kafac
Člen
Avatar
Kafac:

Já osobně (jak už jsem psal) jsem zvolil c# a jsem rád,ušetříš mnoho času a nějaký velký zásadní rozdíl tam taky nebude.

Nahoru Odpovědět 17.2.2015 20:57
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Odpovídá na kulacik
Lukáš Hruda (Luckin):

C# s C++ dost dobře spolupracuje, můžeš používat oboje :)

 
Nahoru Odpovědět  +1 17.2.2015 21:37
Avatar
Kafac
Člen
Avatar
Kafac:

Škoda,že když Microsoft zkoušel OS v c# radši toho nechali.Nechali to v c++ :´(.

Nahoru Odpovědět 17.2.2015 22:39
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Kafac
patrik.valkovic:

Ono v C# se dost špatně komunikuje s HW víš?....
Obsluhu přerušení bych v tom rozhodně psát nechtěl...

Nahoru Odpovědět 18.2.2015 16:40
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na patrik.valkovic
Martin Dráb:

Pokud vím, tak důvod, proč se přestal vyvíjet Singularity OS (OS v C#) spočíval v pomalosti uvolňování paměti přes garbage collector.

A obsluhu přerušení v C# bych si uměl představit. Samozřejmě, že by adresa obslužné rutiny odkazovala někam do kódu interpreta, ale stačila by tam tenká verstva. A zřejmě by bylo nutné na takovou obslužnou rutinu v C# uplatnit přísná pravidla, co dělat může a co ne. Ale tak je tomu i v případě obslužných rutin psaných v Assembleru/Céčku.

Céčko bych nenazýval jednoduchým jazykem, rozhodně ne pro začátek. Jistě, v porovnání s C++ je to sranda. Ale za jednoduchý jazyk bez ostrých hran a jiných "zrad" považuji Pascal. Pro jeho pochopení a i používání není třeba vědět nic o ukazatelích a podobných věcech.

OOP považuji spíš za takový další krok nad procedurálním programováním, takže si myslím, že by programátor měl znát oboje.

Nahoru Odpovědět  ±0 18.2.2015 20:53
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.