Vertailukaavio
Vertailun perusteet | C # | C ++ |
---|---|---|
Käännetty | CLR | Koneen koodi |
Muistia hallitaan | Automaattisesti | Käsin |
Osoitinten käyttö | Ei sallittu | sallittu |
Käytössä | Windows-alusta enimmäkseen | Mikä tahansa alustasta |
Sovellukset | Konsoli, ikkunat, ASP.NET ja mobiilisovellus. | Itsenäinen konsolisovellus. |
Coding | Windows-käyttöjärjestelmää varten. | Se on tehty kaikille alustoille. |
Nopeus | hitaampi | Nopeampi kuin kevyt kieli. |
Määritelmä C #
Ohjelmointikieli C # on objektorientoitunut ohjelmointikieli, joka liittyy suoraan sen edeltäjään C ++ ja C. Sen on kehittänyt Anders Hejlsberg vuonna 2000. C #: n luomisen päätarkoituksena on voittaa javan rajoitukset, vaikka se on kehittynyt C: n kautta. Koska javalla ei ollut kielen välistä yhteentoimivuutta, toisin sanoen java ei pystynyt suorittamaan ohjelmointikielellä kirjoitettua ohjelmaa muilla ohjelmointikielillä tuotettujen ohjelmien kanssa. Toiseksi Java ei tarjoa täydellistä integrointia Windows-alustan kanssa.
Java on aina ollut kielen kieli C #: lle. C # on .NET-alustan tavallinen kieli, joka käyttää CLI-ympäristöä (Common Language Interface), jotta ohjelmat siirretään.
C # sisältää ominaisuuksia, kuten automaattinen roskat, tyypin turvallisuus, versiointituki, edustajat ja tapahtumat, verkkopalvelut, nyrkkeily ja unboxing sekä tietojen jäsenten saavutettavuus.
C #: n ominaisuudet
- Yksinkertaisuus : C # on yksinkertainen operaattoreiden käytön kannalta, ja se erottaa täysin boolean ja kokonaisluvun tietotyypin.
- Yhteensopivuus : C # tarjoaa yhteentoimivuuden .NET-alustan kielillä noudattamalla yhteisiä kielen spesifikaatioita.
- Johdonmukaisuus : C # tukee integroidun tyyppistä järjestelmää kokonaislukujen vaihtelevien alueiden ongelman poistamiseksi. Se pitää kaikkia tyyppejä esineinä.
- Objekti-suuntautunut : Se on täysin objektikohtainen, jossa kaikki on objekti globaalien toimintojen, muuttujien ja vakioiden sijaan.
- Tyyppiturvallisuus : Siinä on useita tyyppiturvallisia toimenpiteitä, kuten dynaamisesti allokoituja objekteja ja matriisia alustetaan nollaan, ei-aktivoitujen muuttujien käyttö ei ole sallittua, massiivien automaattinen etäisyysvalvonta, vaaralliset valot eivät ole sallittuja, ylivuototarkastus jne.
- Versio on mahdollista : Ohjelmistomoduulien uusi versio on yhteensopiva jo olemassa olevien sovellusten kanssa.
- Joustavuus : C # ei kuitenkaan tue osoittimia, mutta siitä huolimatta voidaan käyttää vaarallisia luokkia ja menetelmiä.
- Yhteentoimivuus : C # käyttää COM-objekteja ja tekee ohjelman soittamaan minkä tahansa natiivin API: n.
Määritelmä C ++
C ++ -ohjelmointikieli syntyi 1980-luvulla AT & T Bell Laboratoriesissa Bjarne Stroustrupin toimesta. Tämä versio oli alun perin tunnettu nimellä "C luokkiin", koska C ++ on objektorientoitu kieli, mutta se tukee myös joitakin perinteisiä primitiivisiä tyyppejä. C + + on peräisin C-kielestä ja pitää "lähellä ongelmaa" -ominaisuuksia sekä "lähellä laitetta" ominaisuuksia, jotka C-kieli säilyttää.
C ++: n syntaksi muistuttaa C-kieltä, mutta on täysin erilainen kuin C #. Se on joustava ja keskittyy runtime-tehokkuuteen ja johdonmukaiseen semantiikkaan.
C ++: ssa on useita ominaisuuksia, jotka hylätään C #: ssä, esimerkiksi makrojen, usean perintön, osoittimien, mallipohjien, typedef-lauseen, globaalien muuttujien, vakiojäsenfunktioiden tai parametrien, oletus argumenttien, luokkien välitetyn ilmoituksen käyttö.
C ++: n ominaisuudet
- Siirrettävyys : Kun verrataan C ++: n siirrettävyyttä C #: n kanssa, koodia voidaan käyttää natiivia käyttöjärjestelmää käyttävässä laitteessa, mutta tämä ei ole C: n tapauksessa.
- Platform-riippuvuus : C ++ on alustasta riippuvainen kieli, jossa käyttöjärjestelmässä kirjoitettuja ohjelmia ei voi suorittaa eri käyttöjärjestelmissä.
- Tapahtumaherkkä: Isot ja pienet kirjaimet käsitellään erillisellä tavalla.
- Compiler-pohjainen : C ++: n sanotaan olevan käännetty kieli, koska se ei suorita mitään koodia ilman kokoamista.
- Syntaksi-pohjainen : Ohjelmointikielen sääntöjä noudatetaan tiukasti.
- Osoitin : Toisin kuin C #, C ++ sallii osoittimien käytön.
Tärkeimmät erot C # ja C ++ välillä
- C # -koodi kootaan ensin CLR: ään (Common Language Runtime), jota .NET-kehys tulkitsee. Päinvastoin, C ++ kokoaa koodin suoraan konekoodiin.
- Kuten C # suorittaa virtuaalikoneessa, joka käsittelee automaattisesti muistin hallintaa. Toisaalta C ++ järjestää manuaalisesti muistin.
- C ++ sallii osoittimen käytön, kun taas C #: ssä osoitin on vähemmän todennäköinen, mutta vaarallisia luokkia harjoitetaan.
- C # käytetään pääosin Windows-ympäristössä. Sitä vastoin C ++ on suunniteltu Unix-järjestelmään, mutta nyt sitä voidaan käyttää minkä tahansa alustan kanssa.
- C # -sovelluksen käyttö käsittää web-pohjaiset, työpöydän ja mobiililaitteet. Sitä vastoin C ++: n ainoa tarkoitus on luoda itsenäisiä konsolisovelluksia.
- C ++ -koodi on nopeampi, koska se ei käytä raskaita kirjastoja. Toisaalta C # on hitaampi, koska se tuottaa yleiskustannuksia ja käyttää raskaita kirjastoja kuten java.
johtopäätös
C ++: ta käytetään ensisijaisesti silloin, kun suorituskyky on ohjelmoijan tärkein huolenaihe, kun taas C #: ssä jopa aloittelijat voivat kehittää web-pohjaisia, mobiileja ja työpöytäsovelluksia helposti. C # on helppo oppia ja suojattu kieli aiheuttaa käyttöjärjestelmän vahingoittumisen, toisaalta C ++ on avoimempi ja sallii ohjelmoijan tehdä mitään toimitetun syntaksin kanssa.