Primerjalna tabela
Podlaga za primerjavo | C # | C ++ |
---|---|---|
Sestavljen v | CLR | Strojna koda |
Pomnilnik se upravlja | Samodejno | Ročno |
Uporaba kazalcev | Ni dovoljeno | Dovoljeno |
Zaposlen na | Windows platforma večinoma | Katera koli platforma |
Aplikacije | Konzola, okna, ASP.NET in mobilna aplikacija. | Samostojna konzolna aplikacija. |
Kodiranje | Namenjen je operacijskemu sistemu Windows. | To je za vsako platformo. |
Hitrost | Počasneje | Hitreje, kot je lahek jezik. |
Opredelitev C #
Programski jezik C # je objektno usmerjen programski jezik, ki je neposredno povezan z njegovim predhodnikom C ++ in C. Razvil ga je Anders Hejlsberg v letu 2000. Glavni namen ustvarjanja C # je premagati omejitve jave, čeprav razvil se je skozi C. Ker java ni imela interoperabilnosti med jeziki, z drugimi besedami, java ni mogla zagnati programa, napisanega v enem programskem jeziku, s programi, ustvarjenimi v drugih programskih jezikih. Drugič, Java ne zagotavlja popolne integracije s platformo Windows.
Java je bila vedno nasprotni jezik za C #. C # je standardni jezik platforme .NET, ki uporablja CLI (Common Language Interface) okolje za prenos programov.
C # vključuje funkcije, kot so samodejno zbiranje smeti, varnost tipa, podpora različicam, delegati in dogodki, spletne storitve, boks in unboxing ter dostopnost podatkovnih članov.
Značilnosti C #
- Preprostost : C # je preprost v smislu uporabe operaterjev in v celoti ločuje boolean in integer podatkovni tip.
- Združljivost : C # zagotavlja interoperacijo znotraj jezikov platforme .NET z uveljavljanjem skupnih jezikovnih specifikacij.
- Skladnost : sistem C # podpira integriran sistem tipa, s katerim odstranite vprašanje razpona spremenljivk vrste celih števil. Vse vrste obravnava kot objekte.
- Objektno usmerjena : je v celoti objektno usmerjena, kjer je vse predmet namesto globalnih funkcij, spremenljivk in konstant.
- Varnost tipa : Vključuje več ukrepov za varovanje tipa, kot so dinamično dodeljeni objekti in nizi, ki so inicializirani na nič, uporaba neinicializiranih spremenljivk ni dovoljena, samodejno preverjanje obsega nizov, Nevarni odlivi niso dovoljeni, preverjanje prekoračitve, itd.
- Različnost programske opreme: Omogočite združljivost nove različice modulov programske opreme z že obstoječimi aplikacijami.
- Prilagodljivost : Vendar pa kazalci niso podprti s C #, kljub temu pa se lahko uporabljajo nevarni razredi in metode.
- Interoperabilnost : C # uporablja COM objekte in naredi program, da pokliče katerikoli naravni API.
Opredelitev C ++
Programski jezik C ++ se je pojavil v 80. letih prejšnjega stoletja v podjetju AT&T Bell Laboratories, ki ga je pripravil Bjarne Stroustrup. Ta različica je bila prvotno znana kot »C z razredi«, saj je C ++ objektno usmerjen jezik, vendar podpira tudi nekatere konvencionalne primitivne tipe. C ++ je bil izpeljan iz C jezika in ima lastnosti "blizu problema", kot tudi "blizu stroja" lastnosti, ki jih zadrži C jezik.
Sintaksa C ++ je podobna C jeziku, vendar je popolnoma drugačna kot C #. Je prilagodljiv in se osredotoča na učinkovitost izvajanja in dosledno semantiko.
Obstaja več funkcij C ++, ki so zavržene v C #, na primer uporaba makrov, večkratne dediščine, kazalci, predloge, typedef stavek, globalne spremenljivke, konstantne funkcije članov ali parametri, privzeti argumenti, posredovana deklaracija razredov.
Značilnosti C ++
- Prenosljivost : Ko primerjamo prenosljivost C ++ s C #, lahko kodo zaženemo na računalniku, ki izvaja izvorni operacijski sistem, vendar v C # to ni tako.
- Odvisnost od platforme : C ++ je jezik, odvisen od platforme, kjer programov, napisanih v OS, ni mogoče izvajati v različnih operacijskih sistemih.
- Z malimi črkami: Z velikimi in malimi črkami se ravna na poseben način.
- Na osnovi prevajalnika : C ++ naj bi bil preveden, ker ne izvaja nobene kode brez prevajanja.
- Na osnovi sintakse : Pravila programskega jezika so strogo upoštevana.
- Kazalci : Za razliko od C # C ++ omogoča uporabo kazalcev.
Ključne razlike med C # in C ++
- C # kod je najprej sestavljen v CLR (Common Language Runtime), ki ga nato razlaga okvir .NET. Nasprotno, C ++ kodo prevede neposredno v strojno kodo.
- Ker se C # izvaja na navideznem stroju, ki samodejno obravnava upravljanje pomnilnika. Nasprotno pa C ++ ročno organizira pomnilnik.
- C ++ omogoča uporabo kazalca, medtem ko je v C # manj verjetno, da se bodo kazalci uporabili, ampak se izvajajo nevarni razredi.
- C # se večinoma uporablja v okolju Windows. V nasprotju s tem je bil C ++ zasnovan za sistem, ki temelji na Unixu, zdaj pa se lahko uporablja z vsako platformo.
- Uporaba C # vključuje spletne, namizne in mobilne aplikacije. V nasprotju s tem je edini namen C ++ ustvariti samostojne aplikacije konzole.
- Koda C ++ je hitrejša, saj ne uporablja težkih knjižnic. Po drugi strani pa je C # počasnejši, saj proizvaja režijske stroške in uporablja težke knjižnice, kot je java.
Zaključek
C + + se uporablja predvsem takrat, ko je zmogljivost glavna skrb programerja, medtem ko lahko v C # celo začetniki razvijejo katero koli spletno, mobilno in namizno aplikacijo z lahkoto. C # je enostaven za učenje in zaščiten jezik v smislu povzročanja škode operacijskemu sistemu, po drugi strani pa je C ++ bolj odprt in omogoča programerju, da naredi s sintakso.