Srovnávací graf
Základ pro srovnání | C# | C ++ |
---|---|---|
Zkompilovaný do | CLR | Strojový kód |
Paměť je spravována | Automaticky | Ručně |
Použití ukazatelů | Nepovoleno | Povoleno |
Zaměstnané | Platforma Windows většinou | Jakákoli platforma |
Aplikace | Konzole, okna, ASP.NET a mobilní aplikace. | Samostatná konzolová aplikace. |
Kódování | Zaměřeno na operační systém Windows. | Provádí se pro každou platformu. |
Rychlost | Pomaleji | Rychlejší, protože je lehký jazyk. |
Definice C #
Programovací jazyk C # je objektově orientovaný programovací jazyk, který přímo souvisí s jeho předchůdcem C ++ a C. Byl vyvinut Andersem Hejlsbergem v roce 2000. Hlavním cílem vytvořit C # je překonat omezení javy, ačkoli to se vyvinulo přes C. Jak java neměl kříž-jazyková interoperabilita, jinými slovy, java nemohl být schopný spustit program psaný v jednom programovacím jazyce s programy vytvořenými v jiných programovacích jazycích. Za druhé, Java neposkytuje plnou integraci s platformou Windows.
Java byla pro C # vždycky protivníkem. C # je standardní jazyk platformy .NET, která používá prostředí CLI (Common Language Interface) pro přenosné programy.
C # obsahuje funkce, jako je automatické sbírání odpadu, bezpečnost typu, podpora verzování, delegáti a události, webové služby, box a unboxing a dostupnost datových členů.
Charakteristika znaku C #
- Jednoduchost : C # je jednoduchý z hlediska použití operátorů a zcela odděluje booleovský a celočíselný typ dat.
- Kompatibilita : C # poskytuje interoperabilitu v rámci jazyků platformy .NET vynucením společných jazykových specifikací.
- Konzistence : Integrovaný typ systému je podporován C #, aby odstranil problém variabilních rozsahů celočíselných typů. Všechny typy považuje za objekty.
- Objektově orientovaný : Je zcela objektově orientovaný, kde vše je objekt namísto globálních funkcí, proměnných a konstant.
- Typová bezpečnost : Zahrnuje několik typů bezpečných opatření, jako jsou dynamicky přidělené objekty a pole jsou inicializovány na nulu, použití neinicializovaných proměnných není povoleno, automatická kontrola rozsahu pro pole, Nebezpečné odlitky nejsou povoleny, kontrola přetečení, atd.
- Variabilita : Povolit kompatibilitu nové verze softwarových modulů s již existujícími aplikacemi.
- Flexibilita : Ukazatele však C # nepodporují, ale přesto mohou být použity nebezpečné třídy a metody.
- Interoperabilita : C # používá objekty COM a program vyvolá libovolné nativní rozhraní API.
Definice C ++
C ++ programovací jazyk byl objeven v 80-tých letech u laboratoří AT&T Bell Bjarne Stroustrup. Tato verze byla zpočátku známa jako „C s třídami“, protože C ++ je objektově orientovaný jazyk, ale také podporuje některé z běžných primitivních typů. C ++ byl odvozen z jazyka C a má vlastnosti „blízko k problému“, stejně jako vlastnosti „blízko stroje“, které jsou zachovány v jazyce C.
Syntaxe C ++ se podobá jazyku C, ale ve srovnání s C # je zcela odlišná. Je flexibilní a zaměřuje se na efektivitu běhu a konzistentní sémantiku.
Existuje několik vlastností C ++, které jsou vyřazeny v C #, například použití maker, vícenásobné dědičnosti, ukazatele, šablony, příkazy typedef, globální proměnné, funkce konstantních členů nebo parametry, výchozí argumenty, předávaná deklarace tříd.
Charakteristiky C ++
- Přenositelnost : Když porovnáme přenositelnost C ++ s C #, kód může být spuštěn na počítači s nativním OS, ale to není případ C #.
- Závislost platformy : C ++ je jazyk závislý na platformě, kde programy napsané v operačním systému nemohou být prováděny v jiném OS.
- Rozlišování velkých a malých písmen: Velká a malá písmena jsou zpracována odlišným způsobem.
- Kompilátor-založený : C + + je řekl, aby byl kompilovaný jazyk, protože nevykonává žádný kód bez kompilace.
- Syntaxe : Pravidla programovacího jazyka jsou přísně dodržována.
- Ukazatele : Na rozdíl od C # C ++ umožňují použití ukazatelů.
Klíčové rozdíly mezi C # a C ++
- Kód C # je nejprve zkompilován CLR (Common Language Runtime), který je pak interpretován frameworkem .NET. Naopak C ++ kód zkompilovává přímo do strojového kódu.
- Protože se C # provádí na virtuálním počítači, který se automaticky zabývá správou paměti. Naopak C ++ ručně organizuje paměť.
- C ++ umožňuje použití ukazatele v C # ukazatele jsou méně pravděpodobné, že budou použity, namísto toho jsou cvičeny nebezpečné třídy.
- C # se používá převážně v prostředí Windows. Jako proti tomu, C ++ byl navržen pro unixový systém, ale nyní může být použit s jakoukoliv platformou.
- Aplikace C # zahrnuje webové, stolní a mobilní aplikace. Naproti tomu C ++ je jediným cílem vytvořit samostatné konzolové aplikace.
- Kód C ++ je rychlejší, protože nepoužívá těžké knihovny. Na druhé straně, C # je pomalejší, protože produkuje režijní náklady a používá těžké knihovny jako java.
Závěr
C ++ je primárně používán, když výkon je hlavním zájmem programátora, zatímco v C # i začátečníci mohou vyvíjet jakoukoliv webovou, mobilní a stolní aplikaci s lehkostí. C # je snadné se naučit a chráněný jazyk, pokud jde o způsobení poškození operačního systému, na druhé straně je C ++ otevřenější a umožňuje programátorovi dělat cokoliv s poskytnutou syntaxí.