Porovnávacia tabuľka
Základ pre porovnanie | C # | C ++ |
---|---|---|
Zostavený do | CLR | Kód stroja |
Pamäť je spravovaná | automaticky | ručné |
Použitie ukazovateľov | Nepovolené | Povolený |
Zamestnaný na | Platforma Windows väčšinou | Každá platforma |
aplikácia | Konzola, Windows, ASP.NET a mobilná aplikácia. | Samostatná aplikácia konzoly. |
kódovanie | Zamerané na operačný systém Windows. | Robí sa pre každú platformu. |
rýchlosť | pomalší | Rýchlejšie, pretože je ľahký jazyk. |
Definícia C #
Programovací jazyk C # je objektovo-orientovaný programovací jazyk, ktorý je priamo spojený s jeho predchodcom C ++ a C. Bol vyvinutý Andersom Hejlsbergom v roku 2000. Hlavným účelom vytvorenia C # je prekonať obmedzenia java, hoci to sa vyvinulo C. Keďže java nemala jazykovú interoperabilitu, inými slovami, java nemohla spustiť program napísaný v jednom programovacom jazyku s programami generovanými v iných programovacích jazykoch. Po druhé, Java neposkytuje plnú integráciu s platformou Windows.
Java bol pre C # vždy protivníkovým jazykom. C # je štandardný jazyk platformy .NET, ktorá používa prostredie CLI (Common Language Interface), aby sa programy stali prenosnými.
C # zahŕňa funkcie ako automatická zber odpadu, bezpečnosť typov, podpora verzii, delegáti a udalosti, webové služby, boxovanie a unboxing a prístupnosť členov.
Vlastnosti C #
- Jednoduchosť : C # je jednoduché z hľadiska používania operátorov a úplne oddeľuje typ dát booleov a celočíselných údajov.
- Kompatibilita : C # poskytuje interoperabilitu v jazykoch platformy .NET presadzovaním spoločných jazykových špecifikácií.
- Konzistencia : systém C # podporuje integrovaný systém, ktorý odstráni problém variabilných rozsahov typov celých čísel. Považuje všetky typy za objekt.
- Objektovo orientované : Je úplne objektovo orientované, kde všetko je objektom namiesto globálnych funkcií, premenných a konštánt.
- Bezpečnosť typu : Obsahuje niekoľko bezpečnostných opatrení typu, ako sú dynamicky priradené objekty a polia sú inicializované na nulu, použitie neinicializovaných premenných nie je povolené, automatická kontrola rozsahu pre polia, Neprípustné obsadenia nie sú povolené, kontrola pretečenia atď.
- Možnosť verzie : Umožňuje, aby nová verzia softvérových modulov bola kompatibilná s už existujúcimi aplikáciami.
- Flexibilita : Ukazovatele C # však nepodporujú, ale napriek tomu je možné použiť nepredvídateľné triedy a metódy.
- Interoperabilita : C # používa COM objekty a robí program na vyvolanie akéhokoľvek natívneho rozhrania API.
Definícia jazyka C ++
Programovací jazyk C ++ sa objavil v 80. rokoch v laboratóriách AT & T Bell Laboratories od Bjarne Stroustrup. Táto verzia bola spočiatku známa ako "C s triedami", pretože C ++ je objektovo orientovaný jazyk, ale podporuje aj niektoré konvenčné primitívne typy. C ++ bol odvodený z jazyka C a držal vlastnosti "blízko k problému", rovnako ako "blízko k stroju" vlastnosti, ktoré sú zachované v jazyku C.
Syntax C ++ sa podobá jazyku C, ale je úplne iný v porovnaní s C #. Je flexibilný a zameriava sa na efektívnosť prevádzky a konzistentnú sémantiku.
Existuje niekoľko funkcií C ++, ktoré sú zlikvidované v C #, napríklad použitie makier, viacnásobných dedení, ukazovateľov, šablón, príkazu typedef, globálnych premenných, konštantných funkcií členov alebo parametrov, predvolených argumentov, presmerovaných vyhlásení o triedach.
Charakteristika C ++
- Prenositeľnosť : Keď porovnáme prenosnosť C ++ s kódom C #, kód môže byť spustený na stroji, ktorý beží na natívnom systéme OS, ale to nie je prípad v C #.
- Závislosť na platforme : C ++ je platforma závislá od platformy, kde programy napísané v operačnom systéme nemôžu byť spustené v rôznych operačných systémoch.
- Rozlíšenie veľkých a malých písmen: veľké a malé písmená sú spracované zreteľným spôsobom.
- Kompilátor založený : C ++ sa hovorí, že je kompilovaný jazyk, pretože nevykonáva žiadny kód bez kompilácie.
- Syntaxe : Pravidlá programovacieho jazyka sa striktne dodržiavajú.
- Ukazovatele : Na rozdiel od C # C ++ umožňujú použitie ukazovateľov.
Kľúčové rozdiely medzi C # a C ++
- Kód C # sa prvýkrát kompiluje s CLR (Common Language Runtime), ktorý potom interpretuje rámec .NET. Práve naopak C ++ kompiluje kód priamo do kódu stroja.
- Ako sa C # vykonáva na virtuálnom stroji, ktorý sa automaticky zaoberá správou pamäte. Naopak, C ++ ručne organizuje pamäť.
- C ++ umožňuje používanie ukazovateľa, zatiaľ čo v C # ukazovatele sú menej pravdepodobné, že sa použijú, namiesto toho sa vykonávajú nebezpečné triedy.
- C # sa používa hlavne v prostredí Windows. Na rozdiel od toho bola C ++ navrhnutá pre systém založený na Unix, ale teraz môže byť použitý s akoukoľvek platformou.
- Aplikácia C # zahŕňa webové aplikácie, desktopové a mobilné aplikácie. Naproti tomu jediným účelom C ++ je vytvoriť samostatné konzolové aplikácie.
- Kód C ++ je rýchlejší, pretože nepoužíva ťažké knižnice. Na druhej strane, C # je pomalší, pretože produkuje režijné náklady a používa ťažké knižnice ako java.
záver
C ++ sa používa predovšetkým vtedy, keď je výkon hlavným programátorom, zatiaľ čo v C # dokonca začiatočníci môžu ľahko rozvíjať akúkoľvek webovú, mobilnú a desktopovú aplikáciu. C # je ľahko sa naučiť a chrániť jazyk z hľadiska poškodenia operačného systému, na druhej strane C ++ je otvorenejší a umožňuje programátorovi robiť čokoľvek s poskytnutou syntaxou.