Diskuze: c++ vs c#
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
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# .
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" ),
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..
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ší.
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.
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
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ě..
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ší.
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 .
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.
C# s C++ dost dobře spolupracuje, můžeš používat oboje
Ono v C# se dost špatně komunikuje s HW víš?....
Obsluhu přerušení bych v tom rozhodně psát nechtěl...
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.
Zobrazeno 15 zpráv z 15.